JSP入门 Filter
Filter,它的名字是过滤器,可以批量拦截修改servlet的请求和响应。
需要实现接口Filter
配置
<filter> <filter-name>EncodingFilter</filter-name> <filter-class>anni.EncodingFilter</filter-class> </filter> <filter-mapping> <filter-name>EncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
filter标签部分定义使用的过滤器,
filter-mapping标签告诉服务器把哪些请求交给过滤器处理。这里的
/*表示所有请求,
/表示根路径,
*(星号)代表所有请求,加在一起就变成了根路径下的所有请求。
EncodingFilter.java,来批量设置请求编码。
package anni; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public class EncodingFilter implements Filter { public void init(FilterConfig config) throws ServletException {} public void destroy() {} public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setCharacterEncoding( "gb2312" ); chain.doFilter(request, response); } }
用filter控制用户访问权限
两个点(..)代表当前路径的上一级路径
你可以使用三种方式定义url-pattern
1.直接映射一个请求。
<servlet-mapping> <servlet-name>ContactServlet</servlet-name> <url-pattern>/contact.do</url-pattern> </servlet-mapping>
2,映射一个路径下的所有请求。
<servlet-mapping> <servlet-name>EncodingFilter</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping>
如果这个路径下还有子路径,那么子路径下的请求也会被过滤操作
需要注意的是,这种写法必须以/开头,写成与绝对路径的形式,即便是映射所有请求也要写成/*,不能简化成*
3.映射结尾相同的一类请求
<servlet-mapping> <servlet-name>ControllerServlet</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>
这样做的一个好处是语义更清楚,只要看到以.do结尾的请求就知道肯定是交给ControllerServlet处理了,不管这个请求是在根路径还是子路径下,都会准确无误的找到对应的servlet。
缺点就是不同路径之间进行forward,jsp里就不能再使用相对路径了
过滤链
服务器会按照web.xml中过滤器定义的先后循序组装成一条链,然后一次执行其中的doFilter()方法。
而在实际使用时,就要特别注意过滤链的执行顺序问题,像EncodingFilter就一定要放在所有Filter之前,这样才能确保在使用请求中的数据前设置正确的编码
filter详细配置
<filter-mapping> <filter-name>TestFilter</filtername>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
<dispatcher>EXCEPTION</dispatcher> </filter-mapping>
filter过滤指定的servlet
< filter-mapping > <filter-name>TestFilter</filter-name> <servlet-name>TestServlet</servlet-name> < /filter-mapping
JSP入门 Filter的更多相关文章
- Jsp入门学习笔记
#Jsp入门 一.JSP基础语法 1.JSP指令: page inlcude taglib 2.JSP注释: a.html注释: <!-- abcdefghijklmn --> b.jsp ...
- JSP入门:介绍什么是JSP和Servlet(转)
转自:http://developer.51cto.com/art/200907/134506.htm JSP入门:什么是jsp? JSP(Java Server Pages)是由Sun Micros ...
- JSP入门必读
JSP基础知识:转自老师上课梳理的笔记,希望对大家有所帮助.有什么不妥当的地方还望大家批评指正. 特别适用于JSP入门的人员使用.1.JSP [1] 简介1.1 HTML HTML擅长显示一个静 ...
- 九、JSP入门(1)
JSP入门 1 JSP概述 1.1 什么是JSP JSP(Java Server Pages)是JavaWeb服务器端的动态资源.它与html页面的作用是相同的,显示数据和获取数据. 1.2 JSP的 ...
- Invalid /admin/*.jsp in filter mapping
完成错误信息 严重: A child container failed during start java.util.concurrent.ExecutionException: org.apache ...
- day11(jsp入门&Cookie&HttpSession&一次性图片校验码)
day11 JSP入门 1 JSP概述 1.1 什么是JSP JSP(Java Server Pages)是JavaWeb服务器端的动态资源.它与html页面的作用是相同的,显示数据和获取数据. ...
- JSP入门之自定义标签
第二部分简单讲解:主要讲解el表达式,核心标签库.本章主要讲解:自定义标签库:404页面,505页面,错误页面配置方法 全部代码下载:链接 1.JSP自定义标签: 自定义标签是用户定义的JSP语言元素 ...
- Jsp入门实战上
前面讲了servlet入门实践现在开始介绍jsp入门实践,开发环境的搭建请参考我前面的tomcat的文章,jsp入门教程分为上下两部分,第一部分简单讲解:jsp语法的规范,以及三大编译指令,七个动作指 ...
- [Java] JSP笔记 - Filter 过滤器
一.什么是Web过滤器 Servlet API 很久以前就已成为企业应用开发的基石,而 Servlet 过滤器则是对 J2EE 家族的相对较新的补充. Servlet 过滤器是可插入的 Web 组件, ...
随机推荐
- Java虚拟机基础
Java虚拟机基础 JVM是Java Virtual Machine的缩写.JVM是一个可以将Java字节码转换成机器语言并能被机器(电脑)执行的Java字节码处理引擎.Java字节码是处于Java和 ...
- 关于 Go 中 Map 类型和 Slice 类型的传递
关于 Go 中 Map 类型和 Slice 类型的传递 Map 类型 先看例子 m1: func main() { m := make(map[int]int) mdMap(m) fmt.Printl ...
- 移动端车牌识别ocr系统
移动端车牌识别ocr系统优点: 1.识别速度快:高度优化的车牌定位和识别算法,识别时间≤50毫秒(200万图片). 2.识别率:白天识别率≥99.7%:夜间识别率≥98%. 3.识别速度:单张图片识别 ...
- 通过新浪ip地址库获取用户省份
<script src="http://apps.bdimg.com/libs/jquery/1.11.3/jquery.min.js"></script> ...
- 基于大数据的电影网站项目开发之CentOS的安装(一)
一.下载VMware并安装,至于安装教程从网上搜索进行参考 二.下载系统镜像文件,这里使用的是CentOS-6.5-x86_64-bin-DVD1.iso 三.安装镜像文件 运行VMware work ...
- Linux-chown命令(1)
chown [chang owner]:更改文件的属主,也就是指定文件的拥有者改为另一个指定的用户或组. 命令格式: chown [选项]... [用户][:[组]] 文件... 例子: sudo ...
- !Web云笔记--HTML基础
Web自学笔记第一阶段笔记综合汇总 参考资料:<Head First HTML&CSS>(中文第二版)(美国)弗里昂ISBN:9787508356464 中国电力出版社 全部阶段: ...
- 团队作业10--Beta阶段项目复审
小组的名字和链接 优点 缺点 最终排名 油炸咸鱼 http://www.cnblogs.com/24app/ 基本功能实现,能够完成预期达到的大部分功能,并能够修复所有自己提出的bug,界面也还行,博 ...
- 201521123091 《Java程序设计》第3周学习总结
Java 第三周总结 第三周的作业. Java 第三周总结 1.本章学习总结 2.Java Q&A 1.代码阅读 2.构造函数有什么用?其编写格式是什么?如果一个类不写构造函数,它有构造函数吗 ...
- Swing-GridBagLayout用法-入门
注:本文内容转自:Java Layout总结-GridBagLayout.内容根据笔者理解稍有整理. GridBagLayout布局管理器:这就是最复杂的一个布局管理器了,网格包布局.在此布局中,组件 ...