Controller 클래스 만들때 고려하기 (이클립스 기준)
1. @Controller 어노테이션 추가하기
ex)
@Controller
public class PdDeleteController { ~~~~~~}
2. 메서드 만들고 @Request-Mapping 어노테이션 추가(명령어 추가)
ex)
@RequestMapping("/pd/pdDelete.do")
public ModelAndView pdDelete(@RequestParam(value="no", defaultValue="0") int no){~~~~}
3. GET/POST 방식 설정해주기
ex)
GET
@RequestMapping(value="/pd/pdWrite.do", method=RequestMethod.GET)
public ModelAndView write_get(){~~}
POST
@RequestMapping(value="/pd/pdWrite.do", method=RequestMethod.POST)
public ModelAndView write_post(@ModelAttribute PdDTO dto){~~}
4. 매개변수 고려하기
ex)
get방식으로 보내진 파라미터 읽을때.
public ModelAndView pdDelete(@RequestParam(value="no", defaultValue="0") int no){~~~~}
post방식으로 보내진 파라미터 읽을때(DTO로 한번에 읽기)
@RequestMapping(value="/pd/pdWrite.do", method=RequestMethod.POST)
public ModelAndView write_post(@ModelAttribute PdDTO dto){
4. 필요한 객체가 있을때 생성하지 않고 종속 객체 주입시키기 - setter로 입력하기
ex)
private PdService pdService;
//setter에 의한 종속객체 주입
public void setPdService(PdService pdService) {
this.pdService = pdService;
}
5. dispatcher-servlet.xml(설정파일)에 객체 생성 및 종속 객체 주입시켜주기
ex)
<bean id="AuthorListController"
class="com.myspring.author.controller.AuthorListController"
p:authorService-ref="authorService"/>
주의!
AuthorListController에서 setter를 참고 setAuthorService 가져와서
p:주입할때 set을 제거하고 앞글자를 소문자로 변환시킨다. - 오탈자가 나도 인식시킬수있도록 반드시 복사해서 처리