분류 전체보기
-
Static ResourcesJava/Spring 2018. 8. 24. 16:42
css, js, image 등의 자원은 파일이 존재하는 url 그 자체로 사용된다.이런 요청은 MVC의 DispatcherServlet으로 판단해 Controller에서 RequestMapping Annotation을 검색하게 된다.원하는 js파일을 얻을 수 없고, 404 에러만 계속 발생하게 된다. 그래서 css, js, img 같은 정적 자원들은 따로 url을 주어야 하는데이런 기능을 mvc:resources가 제공해준다. 아래와 같이 DispatcherServlet에 등록한다. applicationContext.xml에서 등록한다. 여러개 동시에 등록가능하다. 위 설정은 resources라는 경로로 정적 파일들을 제공하겠다는 의미의 설정이다.해당 path url로 들어가면 알맞는 파일을 가져올 수 ..
-
InterceptorJava/Spring 2018. 8. 24. 16:29
/board 이하의 모든 URL들에 대해 인증된 회원만 접근하고자할때, Filter 기능을 사용해서 Session 인증 처리를 할수 있지만, Spring Bean 주입 받을 필요가 있을 경우 Interceptor를 이용한다. Adapter에서 Controller로 보낼때, -> preHandleController에서 Adapter로 받을 때 -> PostHandleJSP가 Return되려 할때 -> AfterComplet 주로 Interceptor는 preHandle에서 쓰인다. -> Session검증, 정보 검증 Interceptor는 bool 로 되있다. return 값이 true면 진행하고 false면 진행하지 않는다. 일종의 검문소와 같다고 볼 수 있다. SessionInterceptor라는 Ha..
-
bean config 설정 분리Java/Spring 2018. 8. 24. 16:05
applicationContext에 Data가 늘어날수록 파일이 무거워지기 때문에 Bean Config 설정을 분리한다. Bean들을 한 곳에 정의하고 Listener를 통해 모두 Loading한다. web.xml에서 ContextLoaderListener를 추가한다. contextConfigLocation /WEB-INF/spring/*Context.xml org.springframework.web.context.ContextLoaderListener /WEB-INF/spring/*Context.xml 이미 Load된 Bean Container에 적재 된 Bean은 제외한다. applicationContext.xml에서는 URL관련 설정을 작성한다. ( HandlerMapping, HandlerAdap..
-
Application 예외 처리Java/Spring 2018. 8. 24. 15:53
웹 페이지를 이용하다보면 Page Error 404, 505등 페이지 에러가 나타난다. 해당 에러 페이지에는 민감한 정보가 그대로 노출되기때문에 예외처리를 통해 페이지를 구성해야 한다. view 폴더 아래 errors 폴더를 만들고 jsp파일을 만든다. DOCTYPE html>404 Not Found 페이지를 찾을 수 없습니다. 홈으로 돌아가기 500.jsp DOCTYPE html>500 Not Found 일시적 오류로 인해 페이지를 표시할 수 없습니다. 잠시 후 다시 시도해 주세요. 이 페이지가 계속 보인다면, 사이트 관리자에게 문의해 주세요. 고객센터 바로가기 홈으로 돌아가기 상황별 예외 처리를 위해 web.xml에서 throwExceptionIfNoHandlerFound param을 추가한다. sp..
-
File - Upload / DownloadJava/Spring 2018. 8. 23. 17:53
pom.xml에서 파일 업로드에 필요한 Dependency를 추가한다. commons-fileupload commons-fileupload 1.3.3 applicationContext.xml에서 파일 업로드 설정을 한다. 100MB가 최대 용량이다. * Form 객체를 Command Object라고 부른다. 파일업로드를 사용하기 위해 write.jsp의 form 태그에 enctype="multipart/form-data"를 입력한다. Spring Framework에서는 File을 MultipartFile 객체로 전달 받는다. * Servlet / Jsp 에서는 Upload가 불가능하다. -> Java File Transfer가 없기 때문이다. Commons-fileupload는 file을 byte단위로 ..
-
SessionJava/Spring 2018. 8. 23. 17:41
Session의 단점 1. 사용자가 많으면 메모리가 많이 필요하다.2. 보안 취약 -> Session ID를 계속 바꿔야한다. -> Session 하이재킹에 위협이 있다.3. 분리되있는 서버에서는 Session이 공유가 안된다. Server에 VO정보를 전달한다. -> Session ID 브라우저 Cookie에 Session ID를 저장하고, 서버가 닫히면 삭제 된다. 재요청시 이전에 사용했던 SessionID를 브라우저 쿠키에서 가져온다. Spring Controller는 필요한 객체들을 파라미터를 통해 직접 제공받을 수 있다. Session 처리를 위해 HttpSession 객체가 필요할 경우 파라미터를 통해 주입 받는다. DispatcherServlet이 필요한 Argument 자리에 Paramet..
-
Spring - JSTLJava/Spring 2018. 8. 22. 17:49
JSP의 EL과 함께 사용 된다. 반복 / 조건 / 데이터 포맷의 기능을 구현 해놓은 라이브러리다. jstl, standard의 Dependency를 추가한다. jstl jstl 1.2 taglibs standard 1.1.2 // JSTL에서 사용 가능한 코어 라이브러리 실습예제 applicationContext.xml에서 사용할 Query를 value Tag에 만든다. INSERT INTO SPRING.BOARD ( ID , SUBJECT , CONTENT , EMAIL , CRT_DT , MDFY_DT , FILE_NAME , ORIGIN_FILE_NAME ) VALUES ( BOARD_ID_SEQ.NEXTVAL , ? , ? , ? , SYSDATE , SYSDATE , ? , ? ) SELECT..