티스토리 뷰

이제 가장 중요한 Controller를 수정해보자.

이전에 서블릿이 했던 요청처리 및 응답처리 작업들을 Controller에서 구현하게 된다.

 

기본적으로 @Controller 어노테이션을 작성하고

@GetMapping 작성을 통해 특정 url 요청을 수행할 Controller와 매핑해준다.

@Controller
XXXController ( com.controller 패키지 )

⇒ 이전 서블릿/jsp에서 서블릿이 했던 작업을 구현함 ( 요청처리 및 응답처리 )

 

 

HttpServletRequest 객체와 같은 역할을 하는 @RequestParam을 통해 값을 받아오기도 한다.

여기서 HttpServletRequest를 다시 짚어보자면,

아이디, 비밀번호 등의 데이터를 컨트롤러로 보냈을 때,  HttpServletRequest 객체 안에 모든 데이터들이 들어가게 된다.

원하는 데이터를 꺼낼 때는 HttpServletRequest 객체 안의 메소드인 getParameter()를 이용하면 된다.

 

HttpServletRequest 에서는 getParameter() 메서드를 이용해서 값을 받아왔지만,

스프링프레임워크에서는 메서드의 파라미터값으로 @RequestParam을 넣어주면 된다.

@RequestParam("가져올 데이터의 이름") [데이터타입] [가져온데이터를 담을 변수]

 


 

MainController.java - MainServlet.java

GoodsService service = new GoodsServiceImpl(); 

👇

@Autowired
GoodsService service;

 

 


 

MainController.java - MemberUIServlet.java

 


 

MainController.java - MemberAddServlet.java

 

데이터가 많아지면
@RequestParam 으로 값을 받을 경우 코드양이 너무 많아지게 된다.

이런 경우엔 DTO나 VO 객체를 메소드의 파라미터로 넣어주기만 하면
스프링프레임워크에서 알아서 값을 set 해주고, view로 값을 넘겨준다.

 

 


 

MainController.java - MyPageServlet.java

 

스프링 프레임워크에서는 로그인 여부 확인을 Interceptor를 이용해 처리하므로 매번 작업을 안해줘도 된다.

이미  Interceptor를 거치고 오기 때문에 Mypage 화면 까지 왔다는 것은 이미 로그인 됐다는 것을 뜻 한다.

 


 

로그인 여부 → 인터셉터

 

servlet-context.xml에 경로 지정

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
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 31
글 보관함