참고 깃허브 주소
기존에 웹 서블릿을 기능별로 1개의 Java파일로 작성 했었다면,
이제 하나의 FrontContoller의 형태로 작성하기.
DispatcherServlet으로 통합.
Tomcat 구조
기본 : 톰캣 내장에서는 url패턴을 / 표시일경우 .html, jpg의 경우에는 무시하도록 설정되어있으며,
.jsp같은 형식 받도록 내장되어있음.
스프링에서는 prop파일(단순한경우), xml파일(복잡한경우) 설정이 가능하다.
@Override
public String execute(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
String contextPath = request.getContextPath();
String servletPath = request.getServletPath();
System.out.println("contextPath:" + contextPath +", servletPath:" + servletPath);
String methodName = servletPath.split("/", 2)[1]; //"/login"
//if("login".equals(servletPath)) {
// login(request, response);
//}
try {
Method method = this.getClass().getMethod(methodName, HttpServletRequest.class, HttpServletResponse.class);
method.invoke(this, request, response);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
Method 클래스를 사용하여 요청된 주소로 메서드이름을 호출하여 request, response 값을 파라미터 값으로 전달한다.
서블릿 2.5버전까지는 web.xml 파일이 필요하며
서블릿 3.0버전 이상부터는 web.xml파일이 필요 없이 @ 어노테이션으로 대체 가능하다.
'KOSTA > WEB' 카테고리의 다른 글
21.7.16 - Spring Bean, annotation, DataSource (0) | 2021.07.16 |
---|---|
21.7.15-Filter, 톰캣에 배포, Spring 어노테이션, xml (0) | 2021.07.15 |
21.06.29 - 파일 업로드 (0) | 2021.06.29 |
21.06.28 - jquery ON함수, viewcart.html, 게시판(페이징 처리) (0) | 2021.06.28 |
21.06.25 - 장바구니 만들기, 로그인, 로그아웃 (0) | 2021.06.25 |