[英]folder structure of jsp's?
我最近开始使用J2EE的核心: Servlets & Jsps
从头开始开发自己的项目。
我无法评估我的项目文件夹结构是否正确。 这是我的项目文件夹结构。
问题:将我的jsps放在web-inf
之外是一个好兆头。 如果没有,为什么会这样呢? 如果是,为什么?
J2EE Web应用程序是否有任何标准的文件夹结构约定,我知道maven提出了一些标准,但是我们仍然可以根据我认为的要求进行自定义。
布局J2EE Web应用程序的文件夹结构时要考虑哪些要点,重要的是,应该将Jsps静态内容放入&为何?
我所能做的就是告诉您特定想法的利弊。 接下来是100%我的意见。 我不知道任何特定要求或规则。 我敢肯定有人会不同意我。
JSP的
让我们研究是否将JSP放在WEB-INF中。
将JSP放入WEB-INF的优点:
您可以控制JSP的执行方式。 如果希望对JSP进行参数化和可重用(无论如何,使用JSP都很难做到),可以将其放入WEB-INF并使用servlet或Struts操作控制器或其他前端控制器进行预处理。然后将控制权传递给JSP,并在正确的环境上下文中传递(例如请求属性,任何安全检查,参数清除等)。
您可以以编程方式甚至在防火墙或IDS级别阻止
HTTP向* .jsp请求,以减少有人将JSP上传到Web根目录,然后能够作为Web服务器执行代码的可能性。 他们必须重写现有的JSP。 不是很大
安全性的提高,但确实会使折衷稍难。
养成良好的习惯,例如MVC,前端控制器,Servlet过滤器,
依赖注入等,而不是大型的JSP
本身完成所有工作,并且难以阅读/维护。
将JSP放入WEB-INF的缺点:
静态文件就纯静态文件而言,例如HTML,图像,样式表,javascript等,将它们放在Web根目录下(在您的情况下为my_app),但不放在/ WEB-INF下(因为它不可访问)。
整体布局
至于整体目录布局,它在某种程度上取决于您的构建过程。 我喜欢将所有内容都存储在“ src”或“ source”下,因为它可以使构建过程清楚地生成哪些文件,以及哪些是纯源文件。 main允许您将测试代码(例如junit类)与主要源代码分开,这也很好。 但是,如果您没有任何单元测试(哦,不!),那么这是毫无意义的区别。
另一方面,如果在构建过程中根本不操作Web根目录(例如,它是所有JSP和静态文件),那么也许可以将其保留在顶层,如/ webroot或/ deploy并以所需的文件,例如.class或.jar文件。 人类(尤其是开发人员)过度组织是一种习惯。 过度组织的一个好迹象是只有一个子文件夹的文件夹很多。
你所显示的
您已经表明您正在遵循maven设置的约定,因此,如果您已经在使用maven,则只需坚持使用该布局即可。 您描述的布局绝对没有错。
如果是WEB-INF
,
WEB-INF
,则将无法直接访问它们。 即按绝对网址 WEB-INF
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.