file upload
·
Framework/SPRING FRAMEWORK
Spring에서 파일 업로드 하기 이전 서블릿 Apache 제공하는 Commons 기반의 라이브러리 다운 ( FileUpload, IO ) jsp 작성 3. Apache 제공하는 documentation 참조해서 구현함 https://commons.apache.org/proper/commons-fileupload/using.html Fileitem 클래스가 파일 저장하는 핵심 클래스 스프링 1. Apache 제공하는 Commons 기반의 라이브러리 의존성 추가 https://mvnrepository.com/ fileupload commons-fileupload commons-fileupload 1.4 io commons-io commons-io 2.6 💻 실습 1. Apache 제공하는 Commons 기..
MyBatis 연동 - INSERT
·
Framework/SPRING FRAMEWORK
부서등록 화면 부서 등록 POST 방식의 한글처리 Filter API 적용 ( CharacterEncodingFilter 제공됨, web.xml 등록) filter org.springframework.web.filter.CharacterEncodingFilter encoding utf-8 filter /*
MyBatis 연동 - 트랜잭션 처리
·
Framework/SPRING FRAMEWORK
가. @Transactional 활성화 ⇒ 반드시 root-context.xml에 등록한다. 나. 서비스클래스에서 메서드 레벨에 @Transactional 지정 ( 클래스 레벨에 지정하면 클래스내의 모든 메서드가 트랜잭션으로 처리가 된다. ) @Transactional public int insertXXX(DeptDTO dto){ //DAO연동하면서 트랜잭션 처리 dao.insert(dto); dao.update(20); }
Spring MVC + Mybatis 연동
·
Framework/SPRING FRAMEWORK
1. 의존성 설정 5개 설정 - 5개의 jar. 모두 mvnrepository.com에서 다운 가능 ojdbc6_g.jar ( 오라클 드라이버 , 11g Express Edtion 버전, 버전 주의 ) mybatis.jar ( mybatis 라이브러리 ) 스프링에서 추가 spring-jdbc.jar spring-mybatis.jar commons-dbcp2.jar ( DBCP: DataBase Connection Pool, Apache 그룹에서 제공) SpringBoot에서는 HikariCP 라이브러리가 기본이다. org.mybatis mybatis 3.4.6 org.mybatis mybatis-spring 1.3.2 org.springframework spring-jdbc 5.0.8.RELEASE or..
JSP에서 리소스 접근 (Image, js, css)
·
Framework/SPRING FRAMEWORK
이전 서블릿 ⇒ webContent에 리소스가 있기 때문에 외부에서 접근 제한이 없음 webContent - WEB-INF - *.jsp - image - *.png - css - *.css - js - *.js 스프링 ⇒ WEB-INF에 리소스가 있기 때문에 외부에서 접근 할 수 없다. (보안) webapp - WEB-INF - image - *.png - css - *.css - js - *.js - views - *.jsp ⇒ JSP에서 리소스(image, css, js)에 접근할 수 있도록 추가 설정이 필요하다. ⇒ servlet-context.xml에 설정 https://docs.spring.io/spring-framework/docs/5.2.25.RELEASE/spring-framework-r..
Interceptor (가로채기)
·
Framework/SPRING FRAMEWORK
Filter 서블릿 전 및 후에서 가로채기 했음 implements Filter 3가지 메서드 재정의 init(){} doFilter(){ } destroy() ⇒ 인터페이스니까 세가지를 다 구현해야함 3. web.xml에 등록 … /* HandlerInterceptorAdapter Controller 전 / 후 / jsp 화면처리 후에서 가로채기 가능 extends HandlerInterceptorAdapter 필요한 메서드만 재정의 a.가로채기 boolean preHandle(){} b.가로채기 void postHandle(){} c.가로채기 void afterCompletion(){} ⇒ 인터페이스가 아니니까 필요한 것만 선택해서 구현하면 됨 servlet-context.xml에 빈으로 등록 ( 또..
로그아웃 (로그인체크확인)
·
Framework/SPRING FRAMEWORK
로그인 처리
·
Framework/SPRING FRAMEWORK
이전 서블릿 HttpSession session = request.geSession(); Spring public String xxx(HttpSession session) {}
flash scope
·
Framework/SPRING FRAMEWORK
이전 서블릿 request scope session scope application scope 스프링 request scope flash scope ==========⇒ redirect 했는데 target에서 값을 딱 한번만 사용할 수 있다. session scope application scope 💡 기존 redirect 에서는 Model의 값을 tartget 사용 못 함 @RequestMapping("/aaa") m.addAttribute(key,value); return "redirect:target"; } flash scope의 redirect ⇒ RedirectAttributes 값을 target 사용 가능 public String xxx(RedirectAttributes m) { m.addFl..
forward / redirect
·
Framework/SPRING FRAMEWORK
이전 서블릿 redirect response.sendRedirect(”target”); 화면 URL 변경 request scope에 저장된 데이터는 target에서 사용불가 forward request.getRequestDispatcher(”target”).forward(request, response); 화면 URL 변경 안됨 request scope에 저장된 데이터는 target에서 사용 가능 스프링 redirect public String xxx( ) { return “redirect:target”; } forward public String xxx( ) { return “forward:target”; } redirect forward redirect, forward로 값 가져오기
xoo | 수진