2013-11-27 2 views
1

WEB-INF 디렉토리 외부에 home.jsp이라는 JSP 페이지가 있고 WEB-INF 폴더 안에 service.jsp이라는 다른 jsp 페이지가 있습니다. 이 service.jsp 페이지를 WEB-INF 디렉토리에 넣어야하기 때문에 사용자가 URL을 입력하여 액세스하려는 경우 액세스 할 수 없습니다. 그래서 내 문제는 home.jsp에서 버튼을 클릭하여 service.jsp으로 이동하는 방법입니다.JSP 페이지 간 이동 방법

+0

끝났다? –

+0

만약 내가 home.jsp를 web-inf 안에 넣었 으면 http : // host.jsp에서이 줄을 사용하여 service.jsp를 호출하는 중 /service.jsp에 액세스하는 데 문제가 있다는 http 오류가 발생합니다.

+0

귀하의 페이지는 demo/WEB-INF/pages/yourPage.jsp 페이지 만들기 demo/yourPage.jsp 소스 코드 : view plainprint? 참고 : 코드 블록의 텍스트 내용은 자동으로 단어 줄 바꿈됩니다. <% @ include file = "WEB-INF/pages/yourPage.jsp"%> –

답변

0

WEB-INF에서 파일을 액세스하려면 forward를 사용해야합니다. 당신이 선택할 수있는 두 가지 방법이 있습니다 :이 같은 1.look은 : 스트럿 구석 구석

<!-- /test/test2.jsp outside WEB-INF --> 
<html> 
<body> 
<form name="testform"> 
<jsp:forward page = "/WEB-INF/jsp/test/test.jsp" /> 
</form> 
</body> 
</html> 

은 왜 모순

<action path="/test" type=" test.TestAction" scope="request"> 
<forward name="test" path="/WEB-INF/jsp/test/test.jsp"/> 
</action> 
0

이다 전달할? 내 응용 프로그램에서 해당 파일에 액세스하고 간단한 URL을 입력하여 손이 닿지 않도록하십시오.
나는 마침내 내가해야 할 것을 발견했다. 이 줄은 WEB-INF 아래 service.jsp 파일로 내 요청을 전달합니다

this.getServletContext().getRequestDispatcher("/WEB INF/service.jsp").forward(req, resp); 

:
나는 서블릿의 내가의 doGet() 메소드에서이 줄을 포함하는 serviceServlet.java을 가정 해 봅시다 만들었습니다. 이

<servlet> 
    <servlet-name>serviceServlet</servlet-name> 
    <servlet-class>mypackage.CloudUploadserviceServlet</servlet-class> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>serviceServlet</servlet-name> 
    <url-pattern>/service</url-pattern> 
    </servlet-mapping>   

처럼/버튼 말 서비스를 클릭하고 궁극적으로 home.jsp 파일에 내가이 라인을 포함 할 때

다음 단계 난 내 web.xml 파일에서 그 서블릿로 리디렉션 할 URL 패턴을 정의 의 onclick 메소드는 서블릿 호출 :

onclick="location.href='/service'" 

을 그리고 당신은 무슨 문제가 여기에 WEB-INF 폴더에뿐만 아니라 home.jsp 넣어 경우는 :)