ServletJSP 페이지로 포워딩할 때 경로 문제가 있으면 어떻게 해야 하나요? 아래에서 해결 방법을 보여드리겠습니다
1. 현상 및 개념
1. 문제
서블릿이 JSP 페이지로 전달되면 브라우저 주소 표시줄에 서블릿의 경로가 표시됩니다. hyperlink는 여전히 JSP 페이지의 주소에 상대적이며 Servlet과 JSP 페이지가 동일한 폴더에 있지 않으면 경로 혼란이 발생합니다.
2. 절대 경로 개념
contextPath(현재 웹 애플리케이션의 컨텍스트)에 대한 상대 경로입니다.
해결책: 하이퍼링크에 상대 경로 대신 절대 경로를 사용하세요. /가 사이트의 루트 디렉터리를 나타내는 경우 그 앞에 contextPath를 추가하세요.
<a href="<%= request.getContextPath() %>/TestServlet">To B</a>
2. JavaWeb 개발에서 '/'의 의미 요약
1. 현재 웹 애플리케이션의 루트 경로
'/'는 Servlet에서 처리하는 주소
1)를 나타냅니다. 전달: request .getRequestDispatcher("/path/b.jsp").forword(request, response);
2) web.xml 파일의 서블릿 액세스 경로 매핑
<servlet-mapping> <servlet-name>TestServlet</servlet-name> <url-pattern>/TestServlet</url-pattern></servlet-mapping>
3) 다양한 맞춤형 태그에 '/'.
2. 웹 사이트의 루트 경로
'/'는 브라우저에서 처리되는 주소인 localhost:8080/을 나타냅니다.
1) 하이퍼링크: To B
2) action 형식 태그: