서블릿이란?
- JSP 표준이 나오기 전에 만들어 진 표준으로 자바를 이용해서 웹 애플리케이션을 개발하기 위해 만들어 졌으며,
자바 클래스를 웹에서 호출 및 실행 할 수 있도록 한 표준
서블릿 프로젝트 생성 법
1. eclipse 실행 후 Dynamic web project 선택
2. Project name : Hello 프로젝트 생성
3. Hello -> Java Resoueces -> scr 우 클릭 후 new-> servlet 선택
4. class name: Hello 입력 후 next
5. URL mappings /Hello 선택 후 Edit -> 소문자 /hello 변경 후 OK -> NEXT -> Finish
Servlet - sendredirect 와 forward의 차이점 및 공통점
sendredirect
이 메소드는 페이지 전환을 할때, 웹 컨테이너가 전환될 페이지의 URL을 부라우져로 보내어 다시 요청하게 만드는 방식으로 작동한다. 즉, A페이지를 요청했을 때, 이에대한 응답으로 B 페이지의 URL 이 전송되고 브라우저는 새로이 B 페이지를 요청하게 된다.
따라서 사용자는 페이지가 redirect 되었다는 것을 알 수 있다. 반면 A 페이지에서 B 페이지로 redirect 될때, A 페이지에서 포함된 파라미터 등은 B 페이지로 자동으로 전달되지 않는다.
- 클라이언트가 인지함
- 브라우져에게 요청(화면 좀 바꿔줘) -> 브라우져는 location.href로 보여 줌
- url 뒤에 jsp가 붙어 나온다.
- 지금까지 가져온 요청을 다 잃어 버림
방법 : response.sendRedirect(url);
forward
이 메소드는 페이지 전환시 클라이언트를 거치지 않고 웹 컨테이너가 서버 내부에서 직접 다른 jsp 나 Servlet 를 호출해서 처리하는 방식이다. 클라이언트를 거치지 않고 페이지가 redirect 되므로 사용자는 페이지가 전환되었다는 것을 알지 못한다. 즉, A 페이지를 요청했는데 응답으로 B 페이지가 전송되는 방식이다.
따라서 A 페이지에서 사용된 파라미터가 B 페이지에 그대로 전달되며, 통신 과정이 생략되므로 좀더 빠르다고 할 수 있다. 단, URL 의 변화를 알 수 없다.
- 클라이언트가 모름
- 브라우져 모르게 서버가 돌려버림(브라우져는 화면이 바뀐 지 전혀 알 수 없다)
- url 뒤에 jsp가 붙어 나오지 않는다.(더 안전함)
- 지금까지 가져온 요청을 가지고 있음
방법 : RequestDispatcher dispatcher = request.getRequestDispatcher(url);
dispatcher.forward(request, response);
공통점 - 화면을 바꿔준다.
차이점
forward - dispatcher.forward(request, response); 에서 request 의 Attribute를 싫어나를 수 있음
(ex : request.setAttribute(“test”,”테스트”); )
sendRedirect - get 방식처럼 url?test=테스트 만 가능
3 tear(실무에서 대부분 사용하는 방식 - S기업은 4tear)
Controller - 응답/요첨
|
Service - 비지니스 로직(ex) 게시판을 삭제할 때 리플이 있느냐, 권한이 있느냐 등 로직이 들어가는 곳)
(business)
|
DAO - DB에 접근(오로지 SQL문만)
3 tear로 나눈 이유
1. 인터페이스 사용(분업화 하기 위해)
2. error 발생한 곳만 수정이 가능(한 곳에 모아서 하면 다 고쳐야만 함)
출처: http://playgame.egloos.com/284355
'IT > Java' 카테고리의 다른 글
Tomcat 설치 및 Eclipse 연동 (0) | 2015.04.26 |
---|---|
SVN 설치 (0) | 2015.04.12 |
Eclipse 폰트 설정(monaco font) 및 한글을 위한 setting (0) | 2015.04.12 |
Eclipse 설치하기 (0) | 2015.04.10 |
JDK(Java Development Kit) 설치 (0) | 2015.04.10 |