如何正确地将JSP放在WEB-INF文件夹中?

时间:2010-11-27 12:03:35

标签: java jsp servlets java-ee web-applications

我的问题是如何以正确的方式将所有JSP文件放入WEB-INF/JSP/

是否有任何配置,因为我所知道的结构是:

WEB-INF / JSP        --> all jsp is reside in that folder 
        / CLASSES    -- all classes is reside that folder
        / LIB        --> library file reside in that folder 

如何根据规格正确设置。请帮我解决这个问题。

4 个答案:

答案 0 :(得分:7)

根据J2EE规范,它不是标准实践或有效(我知道使用大多数Java Web开发框架,如Struts,Spring MVC,Stripes,你可以这样做)。根据规范,我们所有可公开访问的页面都应该在WEB-INF之外。但是,如果您希望页面位于web-inf中,您可以做的是沿着控制器servlet的行创建一个servlet,并将请求转发到servlet的jsp页面,这些页面可以在{{1并且没有可以执行此操作的特殊配置。

答案 1 :(得分:7)

您可以将JSP放入

WEB-INF/jsp 

文件夹并使用servlet访问JSP。

创建 login.jsp ,然后使用 preloginservlet.java 访问该JSP。此servlet重定向到{em> login.jsp ,它位于WEB-INF/jsp文件夹中。

答案 2 :(得分:2)

在WEB-INF之外创建一个包含JSP的中间JSP。

e.g。 WEB-INF中的页面是ProjectName / WEB-INF / JSP / yourPage2.jsp 创建一个页面ProjectName / yourPage1.jsp

在yourPage1.jsp中写下以下代码

yourPage1.jsp

<%@ include file="WEB-INF/JSP/yourPage2.jsp" %>  

答案 3 :(得分:1)

你在WEB-INF文件夹外创建一个jsp页面,在jsp里面使用jsp:forward as

在web.xml文件中,使用在欢迎​​文件列表中给出外部jsp名称。

对我有用......