1

我有一个home.jsp在 WEB-INF 目录之外调用的 jsp 页面和一个在文件夹内部jsp调用的页面。我需要将此页面放在目录中,以便在用户尝试通过键入其 URL 来访问它时无法访问它。所以我的问题是如何通过单击“谢谢”中的按钮来导航。service.jspWEB-INFservice.jspWEB-INFhome.jspservice.jsphome.jsp

4

2 回答 2

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>
于 2013-11-28T02:53:25.513 回答
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'" 

它已经完成了:)

于 2013-11-29T19:33:34.050 回答