티스토리 뷰
처음으로 올릴 JSP 포스팅은 서블릿 맵핑을 간단히 하기위한 방법입니다.
페이지 별로 객체화하여 사용하도록 하는 방법으로 한 번 만들어 놓으면 유용하게 재사용이 가능합니다.
프로젝트 생성방법은 따로 설명드리지 않고 바로 시작하겠습니다!
1. DispatcherServlet.java / Controller.java / urlmapper.txt / web.xml 기본 준비하기!!
1) DispatcherServlet.java
프로젝트 경로내에 java Resources-src 하위에 new - Servlet을 만들어 줍니다.
패키지/클래스 명은 꼭 저렇게 하지 않으셔도 되고요.
편하신대로 설정하세요^^
저는 controller/DispatcherServlet 로 설정하였습니다.
2) urlmapper.txt / web.xml
WebContent/WEB-INF
경로 아래에 mapper 파일과 xml 파일 모두 생성해놓았습니다.
3) Controller.java
package controller; import java.io.IOException; import java.sql.SQLException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public interface Controller { public String execute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, ClassNotFoundException, SQLException; }
여기까지 완료되셨다면 일단 기본 준비는 끝났습니다.
자 이제 시작해 볼까요 ??
2. web.xml을 이용하여 dispatcher/mapper 설정하기
Welcome to Tomcat Welcome to Tomcat dispatcher controller.DispatcherServlet mapPath /WEB-INF/urlmapper.txt dispatcher *.htm
기본소스는 톰캣 하위 web.xml 파일과 동일하게 하셔도 되고요.
새로이 작성하셔도 됩니다.^^
위 소스 처럼 수정해주세요.
url-pattern은 어떤 확장자로 접근할 시 맵핑을 할지 설정해 주는 부분입니다.
저는 .htm으로 접근하면 맵핑 할 수 있도록 설정하였습니다.
여기까지 web.xml의 설정이 끝났습니다.
2. DispatcherServlet.java
위와 같이 코딩해주세요. (SyntaxHighlighter를 쓰면 이상하게 나와서 그냥 소스만 붙여넣었습니다.)
저는 기본 페이지를 ErrorController로 하여 잘못된 페이지 진입 시 ErrorController로 접근하도록 하였습니다.
web.xml에서 설정한 mapPath를 사용하여 txt 파일을 불러옵니다.
,로 스플릿을 하여 좌측은 진입 url 우측은 접근 컨트롤러로 저장하게 됩니다.
3.mapping 방법
마지막으로 맵핑 방법에 대하여 알아보겠습니다.
urlmapper.txt 파일에
/index.htm,controller.IndexController
를 작성해 주시고, controller 패키지 아래 IndexController.java 파일을 만들어주세요
WEB-INF 경로 아래에는 실질적으로 연동 될 index.jsp 파일을 만들어 주세요.
1) index.jsp
저는 간단한 테스트를 위해 <H1> 태그를 사용하여 출력만 하는 페이지를 만들었습니다.
2) IndexController.jsp
컨트롤러에서는 실제 index.jsp 페이지가 존재하는 경로를 return 값에 넣어 줍니다.
빌드를 해 보시면
이런 결과물을 확인 하실 수 있습니다.
이 방법을 한번 구축해 놓으시면, 추후에 urlmapper.txt 파일에 접근 url과 controller 입력만으로 쉽게 맵핑이 가능해집니다.
개발하시다 궁금하신 점이 있으면 댓글 주세요^^~
'프로그래밍 > JSP/SPRING' 카테고리의 다른 글
[Spring Boot/Thymeleaf] Exception processing template (4) | 2021.06.26 |
---|---|
Spring boot install 오류 (0) | 2021.06.02 |
심각: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener (0) | 2018.08.02 |
[Spring/Maven Error] RequestMapping cannot be resolved to a type (0) | 2017.11.03 |
[Spring/Maven Error] Eclipse Spring context 파일에 원인 모를 에러 발생시 (0) | 2017.11.03 |