웹프로그래밍/spring
-
스프링 - DispatcherServlet과 web.xml 설정웹프로그래밍/spring 2018. 12. 1. 17:50
-DispatcherServlet이란?스프링 MVC에서 DispatcherServlet은 다른 웹 프레임워크의 프론트 컨트롤러처럼 클라이언트의 request를 컨트롤러에 전달할 뿐만 아니라, 스프링 Ioc 컨테이너와 통합하여 스프링의 모든 기능을 제공한다. -스프링 DispatcherServlet 설정 방법DispatcherServlet은 httpServlet을 상속 받는 실제 서블릿이다. 그리고 code-based 또는 web.xml에서 설정한다. 아래는 WEB-INF 디렉토리 에 있는 web.xml 파일이며 DispatcherServlet이 처리할 url-mapping을 반드시 같이 작성해주어야 한다. example org.springframework.web.servlet.DispatcherServl..
-
스프링 4.0 - myBatis 연동웹프로그래밍/spring 2018. 8. 2. 20:02
스프링에서 MyBatis 연동하기 1. 모듈추가 org.mybatismybatis3.2.3 org.mybatismybatis-spring1.2.2 org.springframework spring-context-support ${org.springframework-version} org.springframework spring-jdbc ${org.springframework-version} 2.SqlSessionFactoryBean과 트랜잭션 관리자 설정SqlSessionFactoryBean으로 mybatis의 SqlSessionFactory를 생성한다. 3. SqlSessionTemplate를 생성자나 프로퍼티로 전달받는 DAO 클래스 구현public class AbstractDAO {@Autowired..
-
스프링4.0 - 뷰 규현 : 커스텀태그 정리웹프로그래밍/spring 2018. 7. 21. 16:32
메시지 출력 기본 설정법먼저 messageSource를 빈으로 등록한다.message 패키지의 위치한 error, label.properties 파일message.errormessage.label 메시지 출력 커스텀 태그 사용예시 -label.propertiesemail=이메일password=암호 login.form.title=로그인 폼login.form.login=로그인login.form.help=이메일/암호로 yuna@yuna.com/yuna 입력 테스트login.form.type=로그인 유형 greeting={0} 회원님, {1} //{숫자}로 변하는 부분을 명시 @RequestMapping("/hello")public String hello(Model model, @RequestParam(valu..
-
스프링4.0 - MVC : 뷰 구현웹프로그래밍/spring 2018. 7. 21. 15:49
컨트롤러의 처리 결과가 뷰로 전달되는 과정@Controller 클래스 포함한 모든 웹 요청을 처리하는 객체를 '핸들러'라고 한다. HandlerAdapter는 핸들러의 실행 결과를 DispatcherServlet이 요구하는 ModelAndView로 변환해준다.(ex. 컨트롤러 메서드가 String을 리턴하는 경우)DispatcherServlet은 ViewResolver를 사용하여 출력할 View 객체를 구한 후 내용을 생성한다. ViewResolver컨트롤러가 지정한 뷰 이름으로 View 객체를 구한다.View 객체에는 컨텐트 타입(text/html)을 리턴하는 getContenType() 메서드와파라미터로 모델과 요청/응답 객체를 갖는 render()메서드가 있다. -ViewResolver 구현 클래스..
-
스프링4.0 - XML/JSON 변환처리웹프로그래밍/spring 2018. 7. 19. 20:25
@RequestBody / @ResponseBody으로 요청/응답 데이터 변환하기웹브라우저와 웹 서버 간 데이터를 주고 받는 http 프로토콜의 request와 response는 모두 헤더와 몸체로 구성되어있다.헤더에는 설정 정보가 저장되고 몸체에는 타입을 가진 객체가 데이터로 담긴다. 뷰 클래스나 HttpServlerResponse에 직접 응답을 생성하는 방법 대신request/response 몸체에 담긴 데이터를 @RequestBody / @ResponseBody으로 간단하게 변환할 수 있다. @RequestBody / @ResponseBody는 각각 요청/응답 몸체와 관련되어 있다.예를들어 @RequestBody는 요청 파라미터의 문자열을 자바의 스트링 타입으로 변환하거나 JSON 형식을 자바 객체..
-
스프링4.0-WebApplicationContext 계층 : 다수의 DispatcherServlet 설정웹프로그래밍/spring 2018. 7. 18. 14:14
DispatcherServlet은 그 자체가 서블릿으로 1개 이상 설정 가능하다.아래 xml 설정에 dispatcher, dispatcher3는 WebApplicationContext를 생성한다.하지만 2개의 DispatcherServlet은 각자의 설정 파일의 등록된 빈 객체를 공유할 수 없다. 서로 다른 DispatcherServlet이 공통 빈을 필요로 하는 경우, ContextLoaderListener를 사용하여 공통으로 사용할 빈을 설정한다. ContextLoaderListener가 생성하는 WebApplicationContext는 웹 어플리케이션에서 루트 컨텍스트가 된다.ContextLoaderListener에서 컨텍스트 파라미터를 명시하지 않으면 /WEB-INF/applicationConte..
-
스프링4.0- 익셉션 처리웹프로그래밍/spring 2018. 7. 18. 13:23
@ExceptionHandler해당 컨트롤러에서 발생한 익셉션만 처리@ExceptionHandler의 값으로 넣은 익셉션이 발생하면 메서드에서 익셉션 처리 후 리턴한 뷰로 이동 응답코드는 기본 200이다. 다른 응답 코드를 전송하려면 HttpServletResponse 파라미터를 추가하고 setStatus() 메서드로 응답코드를 지정한다.HttpSession, Model도 파라미터로 쓸 수 있다.응답코드에 따라서 익셉션 페이지가 다르다. -컨트롤러 클래스//RuntimeException은 슈퍼 클래스로 하위의 uncheckedexception을 모두 포함한다.//즉 모든 익셉션을 잡아낸다.@ExceptionHandler(RuntimeException.class)public String handleExce..