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

nay*_*yan 9 java jsp servlets web-applications java-ee

我的问题是如何以WEB-INF/JSP/正确的方式放入所有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 
Run Code Online (Sandbox Code Playgroud)

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

NAY*_*AMI 9

你可以把你的JSP放进去

WEB-INF/jsp 
Run Code Online (Sandbox Code Playgroud)

文件夹并使用servlet访问JSP.

创建login.jsp,然后使用preloginservlet.java访问该JSP .此servlet重定向到文件夹中的login.jspWEB-INF/jsp.

  • @GMsoF,我知道你的是一个旧的评论,但为了别人的缘故.将`jsp`文件放在`WEB-INF/<dirname>`中的全部意义是阻止直接访问文件.另一种方法是使用与此答案相同的想法,但使用`jspf`片段文件; 然后,当编译页面时,可以从`WEB-INF /`文件夹外部将它们导入到单个`index.jsp`中. (3认同)

Tej*_*eni 8

它不是标准的做法或根据J2EE规范有效(我知道使用大多数Java Web开发框架,如Struts,Spring MVC,Stripes,你可以这样做).根据规范,我们所有可公开访问的页面都应该在旁边WEB-INF.但是如果你想要页面web-inf,你可以做的是沿着控制器servlet的行创建一个servlet,并将请求从servlet转发到jsp页面,这些页面可以在WEB-INF,并且没有特殊的配置可以做到这一点.

  • 如何"不是标准做法或有效"?如果您想要实现MVC,那么它是完全有效的,也是最佳实践,您希望避免在没有预处理控制器的情况下访问JSP页面. (14认同)
  • 将JSP文件放在WEB-INF文件夹中是完全有效的,也是最好的安全措施. (9认同)