java web设置过滤器
来源:互联网 发布:java判断质数的算法 编辑:程序博客网 时间:2024/06/10 09:51
今天在写一个编码过滤器demo的时候,写了一个特别简单的例子。
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 EncodeFilterTest implements Filter {private String encoding;public void destroy() {}public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {request.setCharacterEncoding(encoding);response.setCharacterEncoding(encoding);chain.doFilter(request, response);}public void init(FilterConfig filterConfig) throws ServletException {this.encoding = filterConfig.getInitParameter("encoding");}}
web.xml
<servlet> <servlet-name>EncodeFilterTest</servlet-name> <servlet-class>com.encoding.EncodeFilterTest</servlet-class> <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>EncodeFilterTest</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping>
结果一直报错:
严重: Allocate exception for servlet EncodeFilterTestjava.lang.ClassCastException: com.encoding.EncodeFilterTest cannot be cast to javax.servlet.Servletat org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1146)at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:866)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:134)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)at java.lang.Thread.run(Thread.java:745)网上查了好多,貌似没有人发生类似问题。
解决方法:自己web.xml中写错了,将<filter>写成了<servlet>
正确写法是:
<filter><filter-name>EncodeFilterTest</filter-name><filter-class>com.encoding.EncodeFilterTest</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param></filter><filter-mapping><filter-name>EncodeFilterTest</filter-name><url-pattern>/*</url-pattern></filter-mapping>
0 0
- java web设置过滤器
- Java web实现登录验证和过滤器权限设置
- Java web 乱码问题过滤器的正确设置
- java web过滤器
- Java Web Servlet过滤器
- Java Web 中的过滤器
- Java web 过滤器
- java web 过滤器
- JAVA WEB FILTER(过滤器)
- Java-web Filter过滤器
- Java Web 过滤器
- java web 过滤器
- Java web----过滤器(Filter)
- java web 过滤器
- java web过滤器
- java web 过滤器filter
- Java-Web之过滤器
- java web过滤器
- 最好用的网络监控工具
- Lottie动画在Android和Ios开发中的应用——Ios篇
- c# 获取本地路径
- 整图背景登录/注册页
- 最大的两个数(求两次最大值)
- java web设置过滤器
- 局部加权回归LOESS(locally weighted regression)
- hadoop 错误锦集
- Mysql优化系列(1)--Innodb引擎下mysql自身配置优化
- php5.39以下版本操作elasticsearch
- getBackground().setAlpha导致其他布局背景透明度都改变的问题
- SQL中视图与表的区别
- Java线程学习笔记之并行计算
- CollapsingToolbarLayout实现翻转的toolbar