본문 바로가기

728x90
반응형

Spring 정리/Spring MVC 5

(24)
커맨드 객체 *커맨드 객체 클라이언트가 전달해 주는 파라미터 데이터를 주입 받기 위해 사용하는 객체이다. 당연하게도, 객체를 사용하기 위해서는 새로운 클래스를 만들어야 한다. 이 객체의 변수명과 클라이언트가 전달해 주는 변수이름이 같아야 한다. 커맨드 객체는 자동으로 HttpServletRequest 객체에 담긴다. 따라서 jsp로 자동으로 전달된다. data1: data2: ========================================================= @GetMapping(@ModelAttribute DataBean bean){ System.out.println(bean.getData1()); System.out.println(bean.getData2()); return "test"; } ..
ViewResolver 1. Request to DispatcherServlet : 사용자의 요청이 들어오면 먼저 Dispatcher Servlet이 요청한다. 2. Request to HandlerMapping : 그 요청이 어디 Controller로 보내야 하는지 요청한다. 3. Response Controller to DispatcherServlet : 해당 Controller가 어떤 것인지 반환한다. 4. Request to Controller : 해당 요청을 처리할 Controller에게 처리할 것을 요청한다. 5. Response ModeAndView to DispatcherServlet : model 객체와 view에 대한 정보를 DispatcherServlet에 반환한다. 6. Request View Name t..
파라미터에 객체를 주입받기 이전에 (@RequestParam int data1), (@RequestParam int data2), (@RequestParam String name1)등 직접적, 구체적으로 파라미터를 추출했다. 그런데 파라미터의 양이 많아진다면? Map을 사용해서 내용을 추출한다. test ======================================================================= @GeMapping("/test1") public String test(@RequestParam Map map, List data3){ System.out.println(map.get("data1")); System.out.println(map.get("data2")); //data3에 대한 값은 어떻게..
파라미터 추출하기 test1 get ====================================================== @GetMapping("/test1") public String test(HttpServletRequest request){ String data1 = request.getParameter("data1"); String data2 = request.getParameter("data2"); return "result"; } a태그 안에 주소 뒤 ?이후에 데이터와 값을 써 넣으면, 이것들은 HttpServletRequest 객체에 담기게 된다. test1 경로와 관련하여 Mapping이 될 때 저 파라미터들을 검사할 수 있다. 즉, Controller에서 해당 파라미터를 추출할 수 있는 것이다..
URL Mapping localhost:8080/aaaa/bbb.txt라는 tomcat 기반의 웹서비스 실행이 있다고 생각해보자. 이때 다시 처음 나오는 aaaa를 특별하게 context-path이다.(=어플리케이션 이름) 가장 최 상단은 webapps이고 그 안에 aaaa 폴더 안에 bbb.txt를 실행시킨 것이다. 우리는 context-path 이후의 경로를 설계해야 한다. eclipse에서 우리가 만든 코드들은 .plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps에 실행될 수 있게 변환되어 저장되어있다. 우리가 코드를 실행시키면 wtpwebapps로 복사가 되고 여기서 실행이 된다. localhost:8080/MVCTEST/sub1/test1 -> @GetMapping("/sbu..
프로젝트설정(not Xml, but Java) Xml으로 Spring 초기 설정을 했을 때, WEB-INF 폴더의 안에 했다. 이번 시간에는, Java로 구현한다. java파일은 Java Resources의 src안에 만든다. 가장 핵심이었던 DispatcherServlet에 대한 설정을 web.xml에 했었는데, 이를 자바로 구현하면 2가지 방식이 있다. 1. WebApplicationInitializer (implements 구현) - web.xml에서 했던 것처럼 세세한 설정이 가능하며 이 interface를 구현하면 web.xml처럼 이 코드를 먼저 실행 2. AbstractAnnotationConfigDispatcherServletInitializer (extends 상속) 1. WebApplicationInitializer @Overrid..
프로젝트 세팅(web.xml, servlet-context.xml) 셋팅에 관한 정보들은 외부에서 쉽게 접근할 수 없는 WEB-INF폴더 안에 생성하도록 한다. DispatcherServlet을 spring framework에 맞게 web.xml에 재정의한다. 초기 설정은 크게 2부분으로 나뉜다. appServlet / servlet을 mapping(연결)해주는 코드이다. url중에서도 /에 대하여 servlet 설정을 한다. /은 맨 처음 페이지에 들어왔을 때를 의미한다. 즉, appServlet은 처음에 페이지에 접속되면 기본적으로 지정되는 servlet이다. 이제 이 servlet-name에 정의된 appServlet이 무슨 역할을 하는지도 정의 해주어야 한다. appServlet org.springframework.web.servlet.DispatcherServl..
프로젝트 세팅(pom.xml) DispatcherServlet - Servlet/JSP에서 사용자 요청이 발생하면, 이 요청 정보를 해석하고 개발자가 만든 코드를 동작시키는 첫 번째 서블릿 - Sprinv MVC에서는 DispatcherServlet을 확대하여 Spring Framework가 가지고 있는 기능을 사용 할 수 있도록 이 클래스를 재정의한다. - 따라서, Spring MVC 프로젝트 설정에서 가장먼저 해야하는 것은 DispatcherServlet 클래스를 Spring MVC에서 재정의한 클래스로 설정하는 일이다. 1. XML 이용 2. Java코드 활용 1. servlet-api (https://www.javatpoint.com/servlet-api) 웹 관련 요청에 대하여 동적인 처리를 도와주는 기술 Servlet AP..

728x90
반응형