为什么要把页面放在 WEB-INF 路径下?

1.基于不同的功能 JSP 被放置在不同的目录下

  这种方法的问题是这些页面文件容易被偷看到源代码,或被直接调用。某些场合下这可能不是个大问题,可是在特定情形中却可能构成安全隐患。用户可以绕过Struts的controller直接调用JSP同样也是个问题。

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

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

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

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

时间: 2024-09-30 06:37:57

为什么要把页面放在 WEB-INF 路径下?的相关文章

eclipse中的web项目路径和发布好的项目路径

现在企业开发中,我们都会创建一个javaWeb工程,在eclipse中指的是新建一个dynamic web project,创建完工程之后,我们在IDE中大体看到如下的工程目录: 我们主要关心的文件夹有src.WebContent.WEB-INF.test等. src:存放我们写的java文件,以包来区分相同的文件 WebContent:发布的文件夹 WEB-INF:被设计为安全的文件夹,如果一些内容必须通过后台才能被访问,则存放在此文件夹下 test:用户创建的用户目录,可以来存放具体的前台文

Haproxy做LB负载均衡集群的搭建和配置,可以通过web页面监控web服务器的运行状态

HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理. 实验(一) 实验目的:使用Haproxy做负载均衡集群(七层) 实验环境准备: 客户端  IP地址:1.1.1.1 主机名waiwang web1   IP地址:1.1.1.10 主机名:localhost web2   IP地址:1.1.1.20 主机名:localhost 配置HA

修改Tomcat默认web程序路径遇到的问题

线上前端是nginx反向到后边的两个tomcat的架构,在搭建tomcat的时候,由于自定义了tomcat的默认web数据存储路径,导致后来更新代码的时候出现了问题. 今天上线之后,由于程序有点儿问题,更改了一下,还没等重启tomcat服务,尼玛网站就打不开了,网站首页显示一个502的页面,手机立马收到了报警短信. 1).首先检查日志,查看这段儿时间的tomcat日志,报错如下: Sep 15, 2015 12:31:06 PM org.apache.catalina.loader.Webapp

servlet和struts2一起使用,实现绝对路径下的图片输出到jsp页面

如果我们在web.xml中配置的struts2的接收请求的路径为: <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 是可以用struts2中使用servlet的,只是必须让struts2的action来转发到servlet的url-pattern中的地址就可以了.我们简单的举例如下:

WEB页面,WEB环境版本,数据库,整站备份脚本

#!/bin/bash # #WEB页面,WEB环境版本,数据库,整站备份脚本 #当发生某个原因导致整个服务器无法恢复时,利用上面备份的相关数据即可重做一台一样的服务器 date_a=`date +%Y%m%d-%H%M%S` mkdir -p /web_bak/${date_a}/conf &> /dev/null mkdir -p /web_bak/${date_a}/web &> /dev/null mkdir -p /web_bak/${date_a}/mysql &a

java ,js获取web工程路径

一.java获取web工程路径 1),在servlet可以用一下方法取得: request.getRealPath(“/”) 例如:filepach = request.getRealPath(“/”) ”//upload//”; 2),不从jsp,或servlet中获取,只从普通java类中获取: String path = getClass().getProtectionDomain().getCodeSource().getLocation().getPath(); SAXReader()

Web中路径问题

如果在web项目中需要使用路径,如:转发.重定向还有超链接等. 原则:"一切web路径以/开始" 那么/的路径一定是相对路径,那么/到底代表哪一个相对路径是需要智慧的. 如果该路径是给服务器使用的,那么/代表当前网站的根目录. 如果该路径是给浏览器使用的,那么/代表当前Tomcat的webapps目录. 举例: <a href="/day07/demo1"></a> <form action="/day07/regist&qu

servlet得到web应用路径

package context; import java.io.IOException; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRespons

同 一个页面,不同请求路径,如何根据实际场景写JS

场景:使用同一个“添加群成员”的页面来操作 建群页面:建群成功后,返回查看群成员页面.在建群过程中直接添加群成员并返回一个群名称的参数. 添加群成员页面:在巳有群内添加群成员,添加成功后,返回查看群成员页面. 分析: 使用同一个页面,调两种不同接口,从接口中可以看到,一个包含{groupId},另一个没有 建群的接口为:/chat/vindicate/group 添加群成员的接口为:/chat/vindicate/group/{groupId} 在eclipse中需要做两个页面的渲染工作,其中使

Servlet -- 跳转到页面后的绝对路径与相对路径的问题

我们在使用servlet或其他框架,从后台跳转到视图层的时候,常会遇到这种情况,CSS和JS文件失效了,但是如果通过网址直接访问JSP是没问题的. 这就是由于绝对路径和相对路径导致的. 绝对路径,就是我们通过一个完整的地址去访问,比如http:localhost:8080/program-- 相对路径,比如/program/jsp/a.jsp,这就是想相对路径. 这里我们来看servlet的两种跳转forward和redirect机制,http://blog.csdn.net/gaopeng00