DRP中用到的几个filter
来源:互联网 发布:佐治亚理工本科知乎 编辑:程序博客网 时间:2024/05/17 18:17
1、利用filter对一些不变的数据进行简单缓存,例如图片
public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {HttpServletRequest req = (HttpServletRequest)request;HttpServletResponse res = (HttpServletResponse)response; //时间可以也可以配到初始化参数中res.setHeader("Cache-control", "max-age=5000");chain.doFilter(request, response);}配置文件
<filter> <filter-name>WebCacheFilter</filter-name> <filter-class>com.jialin.drp.util.WebCacheFilter</filter-class> </filter>
<filter-mapping> <filter-name>WebCacheFilter</filter-name> <url-pattern>*.gif</url-pattern> </filter-mapping>
<filter-mapping> <filter-name>WebCacheFilter</filter-name> <url-pattern>*.jpg</url-pattern> </filter-mapping>
<filter-mapping> <filter-name>WebCacheFilter</filter-name> <url-pattern>*.js</url-pattern> </filter-mapping>
<filter-mapping> <filter-name>WebCacheFilter</filter-name> <url-pattern>*.css</url-pattern> </filter-mapping>
2、判断用户是否已登录(除去登录界面和登录界面验证码的servlet)
public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {HttpServletRequest req = (HttpServletRequest)request;HttpServletResponse res = (HttpServletResponse)response;//获取登录URIString requestURI = req.getRequestURI().substring(req.getRequestURI().indexOf("/", 1), req.getRequestURI().length());//登录界面和登录界面用到的验证码servlet不验证if (!"/login.jsp".equals(requestURI) && !"/servlet/AuthImageServlet".equals(requestURI)) {HttpSession session = req.getSession(false);if (session == null || session.getAttribute("user_info") == null) {res.sendRedirect(req.getContextPath() + "/login.jsp");return;}}//继续访问其他资源chain.doFilter(req, res);}
配置文件
<filter><filter-name>AuthFilter</filter-name><filter-class>com.jialin.drp.util.AuthFilter</filter-class></filter><filter-mapping><filter-name>AuthFilter</filter-name><url-pattern>*.jsp</url-pattern></filter-mapping><filter-mapping><filter-name>AuthFilter</filter-name><url-pattern>/servlet/*</url-pattern></filter-mapping>
3、控制编码的filter
@Overridepublic void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {//设置编码request.setCharacterEncoding(encoding);chain.doFilter(request, response);}@Overridepublic void init(FilterConfig filterConfig) throws ServletException {//获取filter初始化参数信息this.encoding=filterConfig.getInitParameter("encoding");}
配置文件
<filter><filter-name>CharsetEncodingFilter</filter-name><filter-class>com.jialin.drp.util.filter.CharsetEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>GBK</param-value></init-param></filter><filter-mapping><filter-name>CharsetEncodingFilter</filter-name><url-pattern>*.jsp</url-pattern></filter-mapping><filter-mapping><filter-name>CharsetEncodingFilter</filter-name><url-pattern>/servlet/*</url-pattern></filter-mapping>
- DRP中用到的几个filter
- DRP中用到的JavaScript验证
- 关于遥控中用到的几个函数
- 程序中用到的几个小技巧
- 项目中用到的几个EXCEL函数
- 几个项目中用到的代码片段
- vs2015中用到的几个插件
- 流媒体中用到的几个协议简介
- 【DRP】拦截器Filter的使用
- startup.s中用到的几个ARM伪指令
- Android 开发中用到的几个多线程解析(代码示例)
- Android 开发中用到的几个多线程解析
- Android 开发中用到的几个多线程解析(代码示例)
- Android 开发中用到的几个多线程解析
- 共享几个项目中用到的MySQL扩展函数
- java中用到的几个write和read函数参数
- Android 开发中用到的几个多线程解析
- Android 开发中用到的几个多线程解析(代码示例)
- android image最常用操作
- java 正则表达式
- No result defined for action and result input
- java动态代理的学习
- 学习 jForum笔记 二 ForumAction
- DRP中用到的几个filter
- 人工智能为什么发展缓慢?
- 窗体的扩展样式和其值
- iOS-raywenderlich翻译-UIPopoverController 使用教程
- linux学习入门14——Linux扩展权限(linuxcast.net)(uamsk、特殊权限(suid,sgid,sticky))
- UDP包的最大大小是多少?
- SQL 常用调试
- 让机器领会人类语言的“深度学习”
- css3D文本效果