`

web - WEB-INF 的作用 - jsp 是否有必要放在WEB-INF下面

 
阅读更多

观点一:

        安全性不是真正的原因,因为jsp是要解析后才显示到浏览器的,即使用户知道你jsp的路径,也不可能通过浏览器看到jsp源码的,而如果是通过其它手段入侵服务器的话,放在WEB-INF又和放在别的地方有什么区别呢???
真正的原因是,对于早期直接嵌入java代码的jsp,是直接给出jsp路径给用户访问的,这种情况恰恰不能放在WEB-INF,而到了现在的mvc模式,jsp已经不是曾经那个包含完整逻辑的jsp,而仅仅充当view层的模板,必须要填入model数据后进行渲染,才能生成可读的页面,这样的模板是不能让用户直接访问的,直接访问的话要么是一堆各种空白,或者一堆占位符,甚至一堆NullPointException,所以需要放到WEB-INF里。补充一下,“安全性问题”指的是“不允许你访问,否则会对我不好”,而这里的情况其实是“不建议你访问,否则会对你不好”,应该属于健壮性的范畴。

 

观点二:

        放到WEB-INF下的Jsp文件,如果你直接去访问这个Jsp是不可以的,必须通过Action的跳转,这样就能够理解为什么安全性高了,对于用户是不可见的,对于一些对于用户,可以直接访问的,如,登录,注册页面,可以直接放在webroot下,这个也是根据你系统的需求了。

 

观点三:

       通过设置过滤器,放在webroot下面的文件也可以实现不能直接访问。所以说放在哪里就看习惯是什么样了。
       一般项目都是要求隐藏性的,只让客户通过请求访问而不是直接访问jsp页面。若放在webroot下面,肯定要加一个过滤器阻止所有对*.jsp的访问。只要比较的话:
放在webroot下面:优点,程序结构清晰,便于编码和维护;缺点,要加过滤器。
放在web-inf下面:优点,不用过滤器;缺点,打乱了程序结构,编码和维护麻烦

观点四:

 

       为了减少风险,可以把这些页面文件移到WEB-INF 目录下。基于Servlet的声明,WEB-INF不作为Web应用的公共文档树的一部分。因此,WEB-INF 目录下的资源不是为客户直接服务的。我们仍然可以使用WEB-INF目录下的JSP页面来提供视图给客户,客户却不能直接请求访问JSPJSP存放在 WEB-INF 目录下更为安全

 

1.  WEB-INF下的文件访问外部文件时,忽略 WEB-INF这级目录。

2.  WEB-INF下的文件只能通过服务器(tomcat)访问,不能通过浏览器访问即:对客户端是隐藏的目录。

3.  redirect是让浏览器发送新的请求访问地址;forword是服务器访问。

分享到:
评论

相关推荐

    web-inf和meta-inf

    下面我们将详细介绍Web-Inf和Meta-Inf的作用、结构和应用。 Web-Inf Web-Inf是一种配置文件,主要用于存放Web应用程序的配置文件、类文件、库文件等。它是Java Web应用程序的核心配置文件,位于Web应用程序的根...

    JSP文件是否有必要放在WEB-INF下

    "JSP文件是否有必要放在WEB-INF下" JSP文件是否需要放在WEB-INF目录下,这是一个长期以来IT行业中讨论的热门话题。从安全性、可维护性、可读性等多方面考虑,讨论双方提出了不同的观点。 首先,从安全性角度考虑,...

    Eclipse中web-inf和meta-inf文件夹的信息

    ### Eclipse中web-inf和meta-inf文件夹的信息 #### 一、META-INF 文件夹 `META-INF` 文件夹是 Java 应用程序中的一个重要组成部分,它主要用于存放与应用程序相关的元数据信息,例如清单文件(`MANIFEST.MF`)等。...

    WEB-INF目录下的jsp页面如何访问

    从给定的信息来看,似乎存在一定的误解,因为提供的内容与标题和描述中提及的主题“WEB-INF目录下的jsp页面如何访问”并不相符。然而,基于题目要求,我将围绕“WEB-INF目录下的jsp页面如何访问”这一主题进行详细的...

    WEB-INF.zip_.inf ocx

    在JSP中,如果需要访问服务器端的Java代码,这些代码通常会放在`WEB-INF/classes`或`WEB-INF/lib`下的jar文件中。 6. ActiveX控件:描述中提及的".ocx"文件可能用于在支持ActiveX的浏览器(主要是旧版Internet ...

    java读取WEB-INF或src目录下的properties配置文件

    大家都喜欢把配置文件放在src目录下,如果有10个以上的配置文件为什么不考虑在WEB-INF目录下新建一个文件夹,专门放配置文件;这样即好管理,文件安全性又高。亲问题已经解决,把源代码共享给大家,已经通过测试;...

    Jboss启动报Failed to parse WEB-INFweb.xml; - nested throwable错误

    Jboss启动报Failed to parse WEB-INF/web.xml; - nested throwable错误解决方案 在Jboss应用服务器中,启动报错Failed to parse WEB-INF/web.xml; - nested throwable是一种常见的错误,本文将对此错误进行深入分析...

    详解直接访问WEB-INF目录下的JSP页面的方法

    WEB-INF目录的作用主要有两个方面:存放页面控制器(Servlet)和JSP页面以及存放Java库文件(包括第三方的jar包)。 WEB-INF目录下包含了Web应用程序的核心内容,包括类文件(.class文件)、JSP文件、XML配置文件等...

    springmvc无法访问/WEB-INF/views下的jsp的解决方法

    在Spring MVC框架中,开发人员通常将JSP页面放置在`/WEB-INF/views`目录下,以增加安全性,因为直接通过URL无法访问这个路径。然而,有时会出现Spring MVC无法正确解析并显示这些JSP页面的问题,导致404错误。本篇...

    JSP.rar_web-inf

    在JSP中,`web-inf`目录是一个特殊目录,它是Web应用的标准结构的一部分。根据Java Servlet规范,`WEB-INF`目录包含不直接对外公开的文件,如Servlet类、配置文件以及库(JAR文件)。这个目录下的文件不能通过URL...

    jsp网上购物WEB-INF里lib下的jar文件

    在Java服务器页面(JSP)技术中,"jsp网上购物WEB-INF里lib下的jar文件"这一主题涉及到的是Web应用程序的架构以及如何支持电子商务系统运行的关键组件。`WEB-INF`是每个标准Java Web应用中的一个特殊目录,它包含了...

    请求重定向无法访问web-inf下的资源1

    <jsp-file>/WEB-INF/pages/success.jsp</jsp-file> <servlet-mapping> <servlet-name>success</servlet-name> <url-pattern>/success</url-pattern> </servlet-mapping> ``` 在Servlet处理请求时,可以这样...

    WEB-INF.tar.gz

    然而,在某些情况下,为了安全或管理目的,开发者可能会选择将静态文件放在`WEB-INF`下,但这不是标准做法。 关联的标签“tomcat”表明这个Web应用是部署在Apache Tomcat服务器上的。Tomcat是一个开源的Servlet容器...

    JSF编程WEB-INF下lib内所用到的jar包集成

    下面我们将详细探讨这些JAR包的功能及其在JSF应用中的作用。 1. **webui-jsf.jar** 和 **webui-jsf-suntheme.jar**: 这两个JAR包提供了JSF的用户界面组件和主题。`webui-jsf.jar`包含了基本的JSF UI组件,如按钮...

    Java项目中如何访问WEB-INF下jsp页面

    访问`WEB-INF`下的JSP页面有多种方法,下面我们将详细讨论这些方法: 1. **通过配置`web.xml`文件:** 在`web.xml`部署描述符中,可以通过设置`<welcome-file-list>`来指定默认的首页,使其指向`WEB-INF`下的JSP...

    JSP影院售票系统,能学习也能用

    基于JSP技术,包含了售票,查找座位等其他主要功能 部分文件浏览: jsp-dianying\Audio.jsp ...jsp-dianying\WEB-INF\web.xml jsp-dianying\WEB-INF\src\Condb.java jsp-dianying\WEB-INF\src\Strto.java

    jsp-config标签使用详解

    假设我们有一个Web应用程序,其中包含一系列位于`/CH2/`目录下的JSP页面,我们希望对这些页面进行一些特殊配置,比如禁用脚本块、统一页面编码格式、包含头部和尾部文件等。此时,我们可以在web.xml文件中添加如下...

    jsp配置问题 教你一步一步解决

    在IT行业中,Java Server Pages(JSP)是一种广泛使用的服务器端脚本语言,用于创建动态网页。当遇到JSP配置问题时,理解其工作原理和配置步骤至关重要。本篇文章将针对"jsp配置问题"进行详细解析,通过图文并茂的...

    SpringMVC如何访问WEB-INF jsp过程解析

    在SpringMVC框架中,访问`WEB-INF`下的`jsp`页面是常见的需求,因为将视图文件放在`WEB-INF`目录下可以增加安全性,防止直接通过URL访问。本篇文章将详细解析SpringMVC访问`WEB-INF/jsp`的过程。 首先,让我们了解...

    atmosphere-compat-jbossweb-0.6.3.jar.zip

    2. 将JAR文件添加到项目的类路径中,这可以通过构建工具(如Maven或Gradle)的依赖管理来完成,或者直接将JAR复制到WEB-INF/lib目录下。 3. 配置Atmosphere框架,以便在JBossWeb服务器上启用服务器推送功能。这可能...

Global site tag (gtag.js) - Google Analytics