Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Tags
- 내림차순정렬
- 알고리즘
- 숫자정렬
- 자바
- Java
- 배열정렬
- Swing
- Eclipse
- 버블정렬
- Spring
- 자바 #java #이클립스 #eclipse #switch #switch문 #사칙연산 #계산기 #calculator #간단한계산기
- 스프링
- 자바알고리즘
- 자바GUI
- 계산기GUI
- MVC
- 오름차순정렬
- 자바 계산기
- GUI
- 이클립스 #이클립스단축키 #자바 #자바단축키
- 이클립스
- annotation
- 계산기
- 버블소트
- 어노테이션
Archives
- Today
- Total
온 코딩
[Spring](간단한게시판) 기능 - 글 삭제, 글 수정, 글 검색, 글 상세보기 본문
추가 된 ActionController
1. RetrieveActionController
package board.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import board.dao.BoardDAO;
import board.dto.BoardDTO;
public class RetrieveActionController implements Controller {
private BoardDAO dao;
public RetrieveActionController() {
}
public void setDao(BoardDAO dao) {
this.dao = dao;
System.out.println("RetrieveActionController의 setDao()호출 : "+dao);
}
@Override
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
System.out.println("RetrieveActionController 실행 됨 ");
//글 번호 확인
String num = request.getParameter("num");
//BoardDAO의 상세보기 메서드를 통해 해당 글에 대한 데이터 조회
//BoardDAO의 상세보기 메서드는 조회된 데이터를 BoardDTO객체에 담아서 리턴
BoardDTO dto = dao.retrieve(num);
ModelAndView mav = new ModelAndView();
mav.setViewName("retrieve");
mav.addObject("data", dto);
return mav;
}
}
2. DeleteActionController
package board.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import board.dao.BoardDAO;
public class DeleteActionController implements Controller {
private BoardDAO dao;
public DeleteActionController() {
// TODO Auto-generated constructor stub
}
public void setDao(BoardDAO dao) {
this.dao = dao;
System.out.println("DeleteActionController DAO 세팅 "+dao);
}
@Override
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
System.out.println("DeleteActionController 실행");
String num = request.getParameter("num");
dao.delete(num);
ModelAndView mav = new ModelAndView();
mav.setViewName("redirect:/list.do");
return mav;
}
}
3. UpdateActionController
package board.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractCommandController;
import board.command.BoardCommand;
import board.dao.BoardDAO;
public class UpdateActionController extends AbstractCommandController {
private BoardDAO dao;
public UpdateActionController() {
}
public void setDao(BoardDAO dao) {
this.dao = dao;
System.out.println("UpdateActionController setDao : "+dao);
}
public UpdateActionController(Class commandClass) {
super(commandClass);
}
public UpdateActionController(Class commandClass, String commandName) {
super(commandClass, commandName);
}
@Override
protected ModelAndView handle(HttpServletRequest request, HttpServletResponse response, Object command, BindException error)
throws Exception {
System.out.println("UpdateActionController 호출");
BoardCommand data = (BoardCommand) command;
String num = request.getParameter("num");
dao.update(data, num);
return new ModelAndView("redirect:/list.do");
}
}
4. SearchActionController
package board.controller;
import java.util.ArrayList;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import board.dao.BoardDAO;
import board.dto.BoardDTO;
public class SearchActionController implements Controller {
private BoardDAO dao;
public SearchActionController() {
}
public void setDao(BoardDAO dao) {
this.dao = dao;
System.out.println("SearchActionController setDao : "+dao);
}
@Override
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
System.out.println("SearchActionController 실행");
String searchName = request.getParameter("searchName");
String searchValue = request.getParameter("searchValue");
ArrayList<BoardDTO> list = dao.search(searchName, searchValue);
ModelAndView mav = new ModelAndView();
mav.setViewName("list");
mav.addObject("list", list);
return mav;
}
}
최종 board-searvlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 요청에 따른 컨트롤러 반환 담당 -->
<bean id="defaultHandlerMapping" class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<!-- DB 접속 : JNDI 방식 -->
<bean id="boardDAO" class="board.dao.BoardDAO"></bean>
<!-- 글 목록 보기 컨트롤러 등록 : private dao => setDao(boardDAO)-->
<bean name="/list.do" class="board.controller.ListActionController">
<property name="dao">
<ref bean="boardDAO" />
</property>
</bean>
<!-- 글쓰기 화면 처리 컨트롤러 등록 : 스프링이 제공-->
<bean name="/writeui.do" class="org.springframework.web.servlet.mvc.ParameterizableViewController">
<property name="viewName" value="write"></property>
<!-- ModelAndView.setViewName("write") return mav 객체-->
</bean>
<!-- 글 저장 처리 컨트롤러 등록 -->
<bean name="/write.do" class="board.controller.WriteActionController">
<property name="dao">
<ref bean="boardDAO" />
</property>
<property name="commandClass" value="board.command.BoardCommand"></property>
<!-- BoardCommand객체는 handle()세번째 매개변수에 자동 전달 -->
</bean>
<!-- 상세보기 컨트롤러 등록 -->
<bean name="/retrieve.do" class="board.controller.RetrieveActionController">
<property name="dao">
<ref bean="boardDAO" />
</property>
</bean>
<!-- 글 삭제 컨트롤러 -->
<bean name="/delete.do" class="board.controller.DeleteActionController">
<property name="dao">
<ref bean="boardDAO" />
</property>
</bean>
<!-- 글 수정하기 컨트롤러 -->
<bean name="/update.do" class="board.controller.UpdateActionController">
<property name="dao">
<ref bean="boardDAO" />
</property>
<property name="commandClass" value="board.command.BoardCommand"></property>
<!-- BoardCommand객체는 handle()세번째 매개변수에 자동 전달 -->
</bean>
<!-- 글 검색 컨트롤러 -->
<bean name="/search.do" class="board.controller.SearchActionController">
<property name="dao">
<ref bean="boardDAO" />
</property>
</bean>
<!-- viewResolver(위치, 이동할 페이지 지정) : "list" -->
<bean id="viewResolover" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.InternalResourceView"/>
<property name="prefix" value="/"/> <!-- "/list" -->
<property name="suffix" value=".jsp"/><!-- "/list.jsp" -->
</bean>
</beans>
'복습 ARCHIVE > 모델별 프로젝트' 카테고리의 다른 글
[Spring] STS - 기본 설정 (0) | 2021.06.15 |
---|---|
[Spring] 개념정리 및 STS 사용 법 (0) | 2021.06.15 |
[Spring](간단한게시판) DB 연결, 컨트롤러 등록 (0) | 2021.06.10 |
[Spring](간단한게시판) 기본 구조 및 .xml 준비 (0) | 2021.06.10 |
[MVC](온라인쇼핑몰) js 파일 목록 (0) | 2021.06.09 |
Comments