`
uule
  • 浏览: 6323906 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论

关于jsp页面是放在webroot目录下和web-inf下优缺点

 
阅读更多

CSDN问题:

jsp放在webroot目录下 这样就可以让用户直接访问,jsp放在web-inf目录下就必须要通过请求才能访问。
因此放在web-inf下jsp页面显得要安全。 
既然这样 ,那是不是只要是需要通过请求才可以访问的页面就一定要放在web-inf目录下呢
还有放在webroot和放在web-inf目录下都各有什么明显的优缺点 。
望大家讨论...

 

1楼:

通过设置过滤器,放在webroot下面的文件也可以实现不能直接访问。所以说放在哪里就看习惯是什么样了。

一般项目都是要求隐藏性的,只让客户通过请求访问而不是直接访问jsp页面。若放在webroot下面,肯定要加一个过滤器阻止所有对*.jsp的访问。只要比较的话:
放在webroot下面:优点,程序结构清晰,便于编码和维护;缺点,要加过滤器。
放在web-inf下面:优点,不用过滤器;缺点,打乱了程序结构,编码和维护麻烦点。

其实二者没啥大区别,个人倾向于放在webroot下面

 

2楼:

放web-inf干嘛,web-inf一般都是用来放不允许用户访问到的东西吧,JSP本来就是用于访问的,感觉像是一个private的interface一样...,又是让人调又隐藏...
3楼:
问题是jsp里面内容都是要通过请求才能获取的  那如果放在webroot下 直接访问的话 页面就空空如也了 或者直接报错

 

4楼:

一、加个过滤器并不麻烦,而且加上后就可以永远不用再管了。
二、放在WEB-INF下面,首先从理解上就很别扭,然后WEB-INF下面通常有很多文件,开发过程中从里面寻找一个文件或文件夹是很不方便的。

http://bbs.csdn.net/topics/320097731

 

 

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

JSP存放在 WEB-INF 目录下更为安全

 

 

 

    如果把这些JSP页面文件移到WEB-INF 目录下,在调用页面的时候就必须把"WEB-INF"添加到URL中。

    我们知道,实现页面的跳转有两种方式,一种是通过redirect的方式,一种是通过forward的方式。redirect方式的跳转,系统会在一个新的页面打开要跳转的网页;而forward方式跳转,系统会在原来的页面上打开一个要跳转的网页。所以放到WEB-INF目录下的文件是不允许采用redirect方式的跳转来访问的

 

另参考:

把JSP放到WEB-INF后以保护JSP源代码

http://blog.csdn.net/grandboy/article/details/519091

 

分享到:
评论

相关推荐

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

    如果是通过其他手段入侵服务器的话,把JSP文件放在WEB-INF目录下和放在其他地方有什么区别呢?真正的原因是,对于早期直接嵌入Java代码的JSP,是直接给出JSP路径给用户访问的,这种情况恰恰不能放在WEB-INF目录下。...

    web-inf和meta-inf

    Web-Inf和Meta-Inf详解 Web-Inf和Meta-Inf是两种常见的配置文件,在Java Web应用程序中扮演着重要的角色。下面我们将详细介绍Web-Inf和Meta-Inf的作用、结构和应用。 Web-Inf Web-Inf是一种配置文件,主要用于...

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

    WEB-INF目录下的jsp页面如何访问。需要把页面放到WEB-INF目录下吗

    myeclipse的WebRoot下的jsp访问不了

    如果你的jsp放在项目下面 但不是放在WebRoot下 才能访问到 但jsp放在WebRoot下 就是访问不了

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

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

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

    META-INF 存在程序入口相关信息, 每个jar 都会有这个文件夹,里面的 MANIFEST文件 记录这些信息WEB-INF 使用web 项目才会有这个文件夹,普通的 j2se项目

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

    主要介绍了详解直接访问WEB-INF目录下的JSP页面的方法的相关资料,需要的朋友可以参考下

    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应用中的一个特殊目录,它包含了...

    学籍管理系统 WebRoot

    6. **静态资源**:图片、图标、字体等静态文件,常存放在WebRoot的子目录如/images、/css和/js中,提供系统的视觉效果和交互功能。 7. **服务器配置**:Web服务器如Apache、Tomcat或Nginx会配置指向WebRoot目录,...

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

    Jboss应用服务器在启动时,会对WEB-INF目录下的web.xml文件进行解析,以便加载应用程序的配置信息。但是,如果web.xml文件存在语法错误或配置错误,Jboss将无法正确地解析该文件,从而导致启动报错Failed to parse ...

    WebRoot.rar

    2. `META-INF`:这是Java应用程序的标准目录,包含元数据信息,如MANIFEST.MF文件,它记录了该JAR或WAR文件的版本、依赖和其他元信息。在这个JSTL示例中,可能会包含JSTL的库信息、版本号和依赖关系。 3. `javax`:...

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

    在Java Web开发中,我们经常会遇到“请求重定向无法访问WEB-INF下的资源1”这样的问题。这主要是由于WEB-INF目录的特殊性所引起的。本文将深入解析这个问题的原因,并提供解决方案。 **WEB-INF目录的特性** 在Java ...

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

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

    WebRoot.zip

    在这个案例中,"WebRoot"目录下可能包含了以下组成部分: 1. **静态资源**:HTML文件(用于构建网页结构)、CSS文件(定义样式)、JavaScript文件(实现动态交互)和其他图片资源。 2. **Java Servlets或JSP**:...

    WEB-INF.zip_.inf ocx

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

    Spring MVC注解与数据绑定(含源码及结果图)

    1、有如下一个订单信息页面order.jsp(置于/WEB-INF/jsp目录下),按以下步骤实现一个使用POJO类型完成表单数据传输的SpringMVC数据绑定项目。 (1) 创建一个Order类来封装上述订单信息,其中各个属性的名称和数据类型...

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

    在Java Web开发中,将JSP页面放置在`WEB-INF`目录下是一种常见的做法,主要目的是为了增强应用程序的安全性。因为Tomcat等Servlet容器默认不允许直接通过URL访问`WEB-INF`目录下的资源,这可以防止未经身份验证的...

    jsp+sql宿舍管理系统

    3、把ROOT\MyDesign\WEB-INF\下的web.xml中的<web-app>和</web-app>内容复制到ROOT\WEB-INF\下web.xml的<web-app>和</web-app>中,即 可完整了配置! 4、配置数据源:使用SQL Server 2000的企业管理器,附加数据库My...

Global site tag (gtag.js) - Google Analytics