Java servlet使html页面不可用并装饰它

时间:2014-10-09 09:37:55

标签: java-ee servlets intellij-idea

我正在使用IntellijIdea Ultimate来创建Java Servlet。有一些.html页面(page1.html,page2.html,...)。

当我第一次使用servlet时,servlet必须返回page1.html。不能直接访问此html页面,而只能使用servlet。此外,servlet必须使用带有规则的文件来装饰这些页面:

       page1->next = page2; 
       page2->next = page3; page2->back=page1;

所以在第一次请求时,servlet将返回用一个操作是同一个servlet的表单和一个值为“Page 2”的按钮修饰的page1。如何动态装饰这些页面并使其无法访问(只能使用servlet访问 - 在IntellijIdea中)?

1 个答案:

答案 0 :(得分:1)

将文件放在WEB-INF下以使其无法访问。然后在您的servlet中,而不是使用response.sendRedirect使用调度程序转发。

request.setAttribute("someVariable", listOfStuff);
request.getRequestDispatcher("/WEB-INF/page1.jsp").forward(request, response);

要做任何有意义的事情,你可能需要开始使用.jsp而不是.html

就像你说你想让servlet去装饰"页面......那不是它的工作原理。

您需要将转发的文件作为JSP,并且您将使用JSP代码,例如: JSTL,用于从servlet传递给它的请求属性。这就是你将如何装饰"这页纸。有关详情,请参阅Servlets info page