我在WEB-INF目录外有一个名为home.jsp
的jsp页面,在jsp
文件夹中有一个名为service.jsp
的{{1}}页面。我需要将此WEB-INF
页面放在service.jsp
目录中,以便在用户尝试通过键入其URL来访问它时无法访问它。所以我的问题是如何通过WEB-INF
中的点击按钮从home.jsp
导航到service.jsp
。
答案 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'"
已经完成了:)