往惜如梦
2018-03-08 15:44
//创建ErrorFilter package com.filter; 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 ErrorFilter implements Filter { @Override public void destroy() { } @Override public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException { arg2.doFilter(arg0, arg1); } @Override public void init(FilterConfig arg0) throws ServletException { } } //页面index.jsp <%@ page language="java" contentType="text/html; charset=UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <h1>这是一个JSP</h1> </body> </html> //页面error.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <% response.setStatus(200);//想在eclipse自带的浏览器看到错误就加上这句 %> <body> <h1>抱歉,您输入的路径有误!</h1> </body> </html> //写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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>JavaWeb_001_fistFilter</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <filter> <filter-name>ErrorFilter</filter-name> <filter-class>com.filter.ErrorFilter</filter-class> </filter> <filter-mapping> <filter-name>ErrorFilter</filter-name> <url-pattern>/index.jsp</url-pattern> <dispatcher>ERROR</dispatcher> //记得加上这个,不然是默认的 </filter-mapping> <error-page> <error-code>404</error-code> <location>/error.jsp</location> </error-page> </web-app>
<url-pattern>/index.jsp</url-pattern>
这个写错了你这个变成了当请求index.jsp的时候才会调用errorfilter
应该是
<url-pattern>/error.jsp</url-pattern>
这样就是正确的了
Java Web开发技术应用——过滤器
70492 学习 · 258 问题
相似问题