如何在jsp页面之间导航

时间:2013-11-27 20:17:27

标签: jsp servlets web-inf

我在WEB-INF目录外有一个名为home.jsp的jsp页面,在jsp文件夹中有一个名为service.jsp的{​​{1}}页面。我需要将此WEB-INF页面放在service.jsp目录中,以便在用户尝试通过键入其URL来访问它时无法访问它。所以我的问题是如何通过WEB-INF中的点击按钮从home.jsp导航到service.jsp

2 个答案:

答案 0 :(得分:0)

您应该使用forward来访问WEB-INF下的文件。 您可以选择两种方法: 1.看起来像这样:

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

2.使用struts转发

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

答案 1 :(得分:0)

为什么它是矛盾的?我希望我的应用程序能够访问该文件,并通过键入一个简单的URL来远离该文件 我终于找到了我必须做的事情 我创建了一个servlet,让我们说serviceServlet.java,其中我在doGet()方法中包含了这一行:

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

此行将我的请求转发给WEB-INF下的service.jsp文件。

下一步我在web.xml中定义了一个url模式,当点击一个按钮时重定向到该servlet说/ service这样

    <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文件中我在onClick方法中包含了这一行来调用servlet:

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

已经完成了:)