병갈이 블록

처음 홈페이지 구성해보기. 간단한 서블릿 구성. 본문

IT(Old)/JSP 실습 과정 기록

처음 홈페이지 구성해보기. 간단한 서블릿 구성.

woojang 2017. 7. 12. 13:09

1.단계. 간단한 서블릿을 구현하여 접속하면 main.jsp를 호출하도록.

1번째 문제발생.

web.xml 설정에서 "/*"로 접속하면 서블릿에 들어와 메인페이지를 호출하도록 했다.

하지만 계속되는 에러.

web.xml설정을 "*.do"로 바꾸어 접속하니 접속이 된다.

아마도 "/*"경로라는게 어떠한 경로도 걸리는 경로다 보니, 서블릿에서 "/main.jsp"로 

리다이렉트한 경로가 다시 서블릿에 걸리는 현상인 듯 하다.


2번째 문제발생.

위 문제와 함께 나타난건데, RequestDispatcher를 사용한 forwardresponse.sendRedirect의 차이에 대해서 

고민하고 연습을 해봤다.

RequestDispatcher같은 경우, WebContent폴더를 루트폴더("/")로 잡고 "/페이지위치"를 적어주면 된다.

즉, 자체적으로 컨텍스트경로를 추가한 주소를 전달한다.

ex. "/main.jsp"를 RequestDispatcher에 전달했다면, 접속시 주소창에는 "서버주소/컨텍스트경로/main.jsp"로 접속이 된다.

response.sendRedirect는 별도로 컨텍스트 경로를 앞에 추가해주어야된다. request.getContextPath()로 컨텍스트경로를 얻던지 직접 적던지 해서

"/컨텍스트경로/페이지위치" 와 같은 완성된 경로를 response.sendRedirect에 매개변수로 주어야 된다.


--추가-

** 다른 큰 차이가 하나 있는데, 디스페쳐 포워딩은 포워딩이다. 즉, 주소경로는 포워딩 전의 경로이다.

** sendRedirect는 일종의 링크역할이다. 넘어간 페이지로 주소경로 전체가 바뀌어 버린다.




Comments