目的:只是想验证一下filter对URI的过滤

流程讲解:浏览器请求URI,所有请求都走过虑器,在过滤器中处理符合某种请求的URI然后显示对应的页面内容

有2个JSP页面:

index.jsp:

  <body>
This is index page. 111111111111111111111<br>
<ul>
<li>1111111111</li>
<li>2222222222</li>
</ul>
</body>

select.jsp:

<body>
<ul>
<li>3333333</li>
<li>444444444</li>
</ul>
</body>

filter类UrlFilter.java

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpServletRequest=(HttpServletRequest) request;
HttpServletResponse httpServletResponse=(HttpServletResponse) response;
String requestUrl = httpServletRequest.getRequestURI();
String ContextPath =httpServletRequest.getContextPath();
System.out.println(requestUrl+"========"+ContextPath);
String ContextPath1=ContextPath+"/";
String uri=requestUrl.replace(ContextPath1, "");
System.out.println("uri==========="+uri); //String info = uri.substring(0, uri.indexOf("."));
if("index".equals(uri)){
httpServletRequest.getRequestDispatcher("index.jsp").forward(httpServletRequest, httpServletResponse);
}else if("select".equals(uri)){
httpServletRequest.getRequestDispatcher("select.jsp").forward(httpServletRequest, httpServletResponse);
}
}

web.xml配置:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<display-name></display-name> <filter>
<filter-name>urlFilter</filter-name>
<filter-class>filter.UrlFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>urlFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>

浏览器访问uri:

1、http://localhost:8080/struts/index显示index.jsp页面内容

2、http://localhost:8080/struts/select显示select.jsp页面内容

利用filter过虑用户请求URI显示对应页面内容的更多相关文章

  1. 不支持javascript的浏览器将JS脚本显示为页面内容

    不支持javascript的浏览器将JS脚本显示为页面内容.为了防止这种情况发生,您可以使用这样的HTML注释标记:<html ><体><script type=“tex ...

  2. 应用4:利用Filter限制用户浏览权限

    1. 使用 Filter 完成一个简单的权限模型: 1). 需求: ①. 管理权限 > 查看某人的权限 > 修改某人的权限 ②. 对访问进行权限控制: 有权限则可以访问, 否则提示: 没有 ...

  3. mac nginx+php-fpm配置(安装过后nginx后访问php文件下载,访问php文件请求200显示空白页面)

    访问php文件下载是因为没配置php-fpm 两个问题主要都是nginx.conf配置的问题: /usr/local/etc/nginx/nginx.conf server {    listen 8 ...

  4. ASP.NET中iframe框架点击左边页面链接,右边显示链接页面内容

    首先是主页面main.aspx <body style="background-color: #AFEEEE"> <form id="form1&quo ...

  5. ie请求缓存问题,页面内容没有及时更新

    问题一:列表页面删除一条数据成功了,但页面上还有数据,再次点击删除,报错了... 问题二:一个点赞按钮,点击后发送一个请求,后台返回1或0 (点赞.取消点赞) ,谷歌浏览器功能正常,但在ie浏览器,后 ...

  6. 浏览器加载显示html页面内容的顺序

    我们经常看到浏览器在加载某个页面时,部分内容先显示出来,又有些内容后显示.那么浏览器加载显示html究竟是按什么顺序进行的呢 其实浏览器加载显示html的顺序是按下面的顺序进行的:1.IE下载的顺序是 ...

  7. 利用Filter和拦截器,将用户信息动态传入Request方法

    前言: 在开发当中,经常会验证用户登录状态和获取用户信息.如果每次都手动调用用户信息查询接口,会非常的繁琐,而且代码冗余.为了提高开发效率,因此就有了今天这篇文章. 思路: 用户请求我们的方法会携带一 ...

  8. 利用Filter解决跨域请求的问题

    1.为什么出现跨域. 很简单的一句解释,A系统中使用ajax调用B系统中的接口,此时就是一个典型的跨域问题,此时浏览器会出现以下错误信息,此处使用的是chrome浏览器. 错误信息如下: jquery ...

  9. 解决跨站脚本注入,跨站伪造用户请求,sql注入等http安全漏洞

    跨站脚本就是在url上带上恶意的js关键字然后脚本注入了,跨站伪造用户请求就是没有经过登陆,用超链接或者直接url上敲地址进入系统,类似于sql注入这些都是安全漏洞. sql注入 1.参数化查询预处理 ...

随机推荐

  1. Atitit 衡量项目的规模

    Atitit 衡量项目的规模 1. 预估衡量项目的规模的方法1 1.1. 方法一.Delphi 法1 1.2. 方法二. 类比法1 1.3. 方法三.功能点估计法1 1.4. 方法四.PERT估计法2 ...

  2. Resharper的配置和使用

    一:Reshaper简介 Reshaper是C#开发IDE工具Visual Studio的一款第三方插件,Reshaper让 VS 变得更强大.优势是:它提供了一些在 VS 基础上更方便于程序员开发的 ...

  3. 转:IE兼容模式下 SCRIPT1028: 缺少标识符、字符串或数字

    IE兼容模式下 SCRIPT1028: 缺少标识符.字符串或数字例如下面一段代码 var a = {    x: 1,    y: 2,};alert(a.x);如果在IE的兼容性视图(IE7文档模式 ...

  4. [AlwaysOn Availability Groups]AG排查和监控指南

    AG排查和监控指南 1. 排查场景 如下表包含了常用排查的场景.根据被分为几个场景类型,比如Configuration,client connectivity,failover和performance ...

  5. VS2013无法启动 IIS Express Web解决办法

    开发环境:windows8.1+VS2013 使用VS2013有一段时间了,因前期都是编写C/S程序,没有使用到B/S调试器.前几日,创建了一个MVC项目,突然发现VS2013无法调试,报了这样的错. ...

  6. 初入网络系列笔记(5)FTP协议

    一.借鉴说明,本博文借鉴以下博文 1.锤子,FTP协议,http://www.cnblogs.com/loadrunner/archive/2008/01/09/1032264.html 2.suna ...

  7. Maven学习

    http://www.cnblogs.com/sprinng/p/5141233.html 生成项目jar包失败 maven安装出现解决:http://blog.csdn.net/kjfcpua/ar ...

  8. eclipse调试java程序的九个技巧

    转:http://www.cnblogs.com/lingiu/p/3802391.html 九个技巧: 逻辑结构 条件debug 异常断点 单步过滤 跳到帧 Inspect expressions ...

  9. Linux-./configure: error: the HTTP rewrite module requires the PCRE library.

    这个问题是要解决: yum -y install pcre-devel 然后在yum的时候发现出错.问题是我的linux不能上网. 这个问题搞得烦死了.和主机能ping.但是就是不能上网: ping ...

  10. BZOJ 4008 【HNOI2015】 亚瑟王

    题目链接:亚瑟王 这道题好神啊TAT--果然我的dp还是太弱了-- 一开始想了半天的直接dp求期望,结果最后WA的不知所云-- 最后去翻了题解,然后发现先算概率,再求期望--新姿势\(get\). 我 ...