繁体   English   中英

的jsp的文件夹结构?

[英]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的缺点:

  • 您不能直接访问该页面,即使该页面是简单的独立页面也不需要预先处理。 这是因为/ WEB-INF下的文件不能由servlet容器提供。

静态文件就纯静态文件而言,例如HTML,图像,样式表,javascript等,将它们放在Web根目录下(在您的情况下为my_app),但不放在/ WEB-INF下(因为它不可访问)。

整体布局

至于整体目录布局,它在某种程度上取决于您的构建过程。 我喜欢将所有内容都存储在“ src”或“ source”下,因为它可以使构建过程清楚地生成哪些文件,以及哪些是纯源文件。 main允许您将测试代码(例如junit类)与主要源代码分开,这也很好。 但是,如果您没有任何单元测试(哦,不!),那么这是毫无意义的区别。

另一方面,如果在构建过程中根本不操作Web根目录(例如,它是所有JSP和静态文件),那么也许可以将其保留在顶层,如/ webroot或/ deploy并以所需的文件,例如.class或.jar文件。 人类(尤其是开发人员)过度组织是一种习惯。 过度组织的一个好迹象是只有一个子文件夹的文件夹很多。

你所显示的

您已经表明您正在遵循maven设置的约定,因此,如果您已经在使用maven,则只需坚持使用该布局即可。 您描述的布局绝对没有错。

如果是WEB-INF

  • 如果将JSP放在WEB-INF ,则将无法直接访问它们。 即按绝对网址
  • 在外部,您可以直接访问WEB-INF

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM