Spring
-
Spring MVC - 폼 커스텀 태그(Form Custom Tag)Spring/Spring MVC 2021. 12. 26. 22:26
폼 커스텀 태그(Form Custom Tag) Spring에서는 형태로 되어 있는 커스텀 태그를 제공 Form 커스텀 태그를 활용하면 Model 객체에 들어있는 값을 form 요소에 주입 가능 데이터 개수가 많은 정보 수정 페이지를 구성할 때 자주 쓰인다. (회원 정보 수정) 일반 Form 태그보다 사용하기 편리하다. Form 태그 우선 Form 커스텀 태그와 어떤 차이가 있는지 JSP에서 데이터들을 추출하여 Form 태그를 이용해 화면을 나타내 보자. index.jsp test1 testController.java @Controller public class testController { @GetMapping("/test1") public String test1(@ModelAttribute("data1..
-
Spring MVC - 커맨드 객체(Command Object)Spring/Spring MVC 2021. 12. 26. 21:19
커맨드 객체(Command Object) 커맨드 객체는 HttpServletRequest 객체에 자동으로 담기고 jsp로 전달된다. 커맨드 객체에 이름을 정해주지 않으면 HttpSevletRequest 객체에 저장되는 이름은 클래스의 이름으로 저장되고, 이름을 정해주면 해당 이름으로 HttpSevletRequest 객체에 저장된다 커맨드 객체 이름을 정해주지 않을 경우 커맨드 객체 이름을 정해주지 않으면 자동으로 클래스 이름으로 설정이 된다. (단, 첫 글자는 소문자로 바뀐다.) inde.jsp data1 : data2 : 확인 testController.java @Controller public class testController { @PostMapping("/test1") public String ..
-
Spring MVC - JSP에 데이터 전달Spring/Spring MVC 2021. 12. 26. 17:26
ViewResolver란? 컨트롤러에서 전달받은 View의 이름을 토대로 JSP를 찾아주며 JSP에서 사용하는 데이터를 분석해 응답 결과(사용자 요청 화면)를 만들어 전달하는 요소이다. JSP를 통해 응답 결과를 처리할 때 필요한 데이터를 JSP에 전달하는 방법에 대해 알아보자. jsp에 데이터 전달 방법 param HttpSevletRequest Model ModelAndView 위 4가지 방법은 개발자의 취향 차이이다. 어떤 방법을 쓰던 상관없다. param 클라이언트에서 서버로 전달한 데이터들은 JSP에서 그대로 사용할 수 있다. index.jsp test1 testController.java @Controller public class testController { @GetMapping("/tes..
-
Spring MVC - @ModelAttribute : 객체로 쿼리 파라미터 바인딩Spring/Spring MVC 2021. 12. 26. 14:49
@ModelAttribute : 객체로 쿼리 파라미터 바인딩 쿼리 파라미터로 넘어오는 변수들은 객체로 주입받을 수 있다. @ModelAttribute로 쿼리 파라미터 데이터들을 객체로 주입받기 @ModelAttribute을 이용하면 쿼리 파라미터의 데이터들은 객체의 프로퍼티로 바인딩이 된다. 즉, 전달되는 쿼리 파라미터의 이름과 동일한 프로퍼티에 자동으로 바인딩이 된다. 프로퍼티에 해당하는 쿼리 파라미터가 없을 경우 기본값이 들어간다. @ModelAttribute는 생략이 가능하다. 이러한 객체를 커맨드 객체(Command Object)라 부른다. request영역에 자동으로 저장이 된다. 먼저 쿼리 파라미터의 데이터들을 주입받을 수 있는 객체를 생성하기 위해 클래스를 생성한다. @Data public ..
-
Spring MVC - 쿼리 파라미터(Parameter) 전달(요청 파라미터 주입받기)Spring/Spring MVC 2021. 12. 25. 22:37
요청 파라미터(Parameter) 추출 클라이언트에서 서버로 요청 데이터를 전달할 때는 주로 다음 3가지 방법을 사용한다. GET - 쿼리 파라미터 - URL의 쿼리 파라미터에 데이터를 전달 - 검색, 필터, 페이징 등에서 사용 - EX) /users?username=hello&age=20 POST -HTML Form - HTTP content-type: application/x-www-form-urlencoded - message body에 쿼리 파라미터 형식으로 전달 - 회원 가입, 상품 주문 등에서 사용 - EX) payload: username=hello&age=20 HTTP API - message body에 데이터를 직접 담아서 전달 - JSON, XML, TEXT, 주로 JSON을 사용 - ..
-
Spring MVC - URL Mapping(요청 매핑) - @RequestMapping @GetMapping @PostMappingSpring/Spring MVC 2021. 12. 25. 16:36
URL Mapping @RequestMapping( "요청 URI" ) @RequestMapping( value = "요청 URI", method = 특정 메서드 ) 축약 애노테이션 경로변수(PathVariable) 경로변수(PathVariable) 다중 사용 @RequestMapping의 활용 @RequestMapping( "요청 URI" ) URI 다중 설정도 가능 - @RequestMapping( { "요청 URI1", "요청 URI2" } ) HTTP 메서드 모두 허용 GET, HEAD, POST, PUT, PATCH, DELETE 클라이언트가 URL를 요청했을 시 해당 URL을 Mapping 하여 요청 화면을 보여준다. /test1 URI 요청 @RestController public class..
-
Spring MVC 세팅 - Java로 셋팅Spring/초기 설정 2021. 12. 25. 13:38
web.xml -> AbstractAnnotationConfigDispatcherServletInitializer 상속 혹은 WebApplicationInitializer 인터페이스 구현 root-context.xml -> 상속없음 servlet-context.xml ->WebMvcConfigurer 인터페이스 구현 방법 1 - WebApplicationInitializer 를 이용하여 Java로 셋팅 Step.1 web.xml에 설정한 내용을 Java로 설정하기 웹 어플리케이션이 실행됐을때 WebApplicationInitializer를 상속받은 클래스가 있으면 자동적으로 실행해준다. 이 방법은 방법 2 보다 코드가 더 복잡하지만 내가 원하는대로 작성해주기 때문에 코드의 자율성이 좋아진다. public..
-
Spring MVC 세팅 - xml 설정Spring/초기 설정 2021. 12. 25. 00:26
Dispatchersevlet servlet/jsp로 인한 요청은 Apache에서 기본적으로 제공했던 DispatcherServlet을 사용했는데 Spring MVC에서는 Spring에서 제공하는 DispatcherServlet으로 변경하는 것부터 시작한다. 방법1 - web.xml 설정 servlet/jsp에서 설정된 DefaultServlet부터 설정 변경 appServlet / appServlet org.springframework.web.servlet.DispatcherServlet 1 이러한 이 설정을 넣어주면 같은 경로에 appServlet-servlet.xml파일이 필요하다. appServlet-servlet.xml 은 Spring MVC를 설정하는 파일이다. 즉, bean을 정의, 세팅한다..