使用过滤器,处理404错误
来源:互联网 发布:socket vc 编程实例 编辑:程序博客网 时间:2024/06/05 06:46
Error404Filter
package com.version3.interceptor;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;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class Error404Filter implements Filter {@Overridepublic void destroy() {}@Overridepublic void init(FilterConfig arg0) throws ServletException {}@Overridepublic void doFilter(ServletRequest req, ServletResponse rep,FilterChain chain) throws IOException, ServletException {HttpServletRequest request = (HttpServletRequest) req;HttpServletResponse response = (HttpServletResponse) rep;Error404ResponseWrapper responseWrapper = new Error404ResponseWrapper(this, response);chain.doFilter(request, responseWrapper);if (responseWrapper.isFound()) {return;}//String uri = request.getRequestURI();//System.out.println(uri);response.sendRedirect("/public/err404.jsp");}}
Error404ResponseWrapper
package com.version3.interceptor;import java.io.IOException;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpServletResponseWrapper;class Error404ResponseWrapper extends HttpServletResponseWrapper {private int status = SC_OK;public Error404ResponseWrapper(Error404Filter error404Filter,HttpServletResponse response) {super(response);}@Overridepublic void sendError(int sc) throws IOException {this.status = sc;if (isFound()) {super.sendError(sc);} else {super.setStatus(SC_OK);}}@Overridepublic void sendError(int sc, String msg) throws IOException {this.status = sc;if (isFound()) {super.sendError(sc, msg);} else {super.setStatus(SC_OK);}}public void setStatus(int status) {this.status = status;super.setStatus(status);}@Overridepublic void reset() {this.status = SC_OK;super.reset();}public boolean isFound() {return status != SC_NOT_FOUND;}}
web.xml配置
<filter><filter-name>404</filter-name><filter-class>com.version3.interceptor.Error404Filter</filter-class></filter><filter-mapping><filter-name>404</filter-name><url-pattern>/*</url-pattern></filter-mapping>
原文章http://www.th7.cn/Program/java/201604/797711.shtml
0 0
- 使用过滤器,处理404错误
- 使用过滤器处理404错误获得指定资源。
- 过滤器的使用-处理中文
- 中文字符的处理,过滤器的使用
- 使用过滤器处理Session失效的问题
- 使用过滤器、struts2处理乱码简析
- 使用 Filter 过滤器 处理中文 乱码问题
- 使用过滤器做页面静态化处理
- Struts2 特定及使用过滤器处理请求
- SpringMVC使用过滤器处理登陆跳转问题
- 使用异常处理错误
- PHP 学习笔记(四):高级教程:Cookies,Sessions,邮件,错误处理,异常处理,过滤器
- 使用过滤器来处理get提交的中文乱码问题
- 使用filter(过滤器)处理JSP和servlet的中文乱码
- MVC过滤器使用案例:统一处理异常顺道精简代码
- MVC过滤器使用案例:统一处理异常顺道精简代码
- Qt中使用事件过滤器来处理键盘焦点
- MVC过滤器使用案例:统一处理异常顺道精简代码
- HTML5 Web存储(Web Storage)技术及用法
- hive日期函数
- ubuntu14.04+cuda8.0(gtx1080)下tensorflow的安装
- Linux系统移植实验---USB驱动的移植
- Android系统Surface机制的SurfaceFlinger服务的线程模型分析
- 使用过滤器,处理404错误
- PHP strtotime指定日期上增加一天
- table的hover提示语
- Android 动态申请权限
- Struts1,2,Servlet,Spring MVC单例多例 线程安全问题
- svn目录删除 xargs -i选项
- h3c 双wan工作模式简单配置
- Android 6.0 运行时权限处理
- java服务端判断请求的系统