关于网友提出的“ Servlet Filter 类型转化出了问题 大家帮忙看看”问题疑问,本网通过在网上对“ Servlet Filter 类型转化出了问题 大家帮忙看看”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: Servlet Filter 类型转化出了问题 大家帮忙看看
描述: 我在用MyEclipse练习Filter,出现类型转换的问题,大家帮忙看看
下面给出源代码。
ChiniseFilter.java
public class ChiniseFilter implements Filter{
public void init(FilterConfig config) throws ServletException{}
public void doFilter(ServletRequest req,ServletResponse res,FilterChain chain) throws ServletException,IOException{
//将所有request内的对象设置字符集为UTF-8
HttpServletRequest request=(HttpServletRequest)req;
request.setCharacterEncoding("UTF-8");
//将所有response内的对象设置字符集为UTF-8
HttpServletResponse resp />
response.setCharacterEncoding("UTF-8");
//用chain的doFilter处理过滤
chain.doFilter(request, response);
}
public void destroy(){}
}
web.xml
ChiniseFilter
com.myfilter.ChiniseFilter
ChiniseFilter
/*
REQUEST
filter_chinise.jsp
<%
String username="无极";
String sex="男";
String addr="地球";
request.setAttribute("username",username);
request.setAttribute("sex",sex);
request.setAttribute("addr",addr);
request.getRequestDispatcher("filter_chinise_get.jsp").forward(request,response);
%>
filter_chinise_get.jsp
username的值:<%=request.getAttribute("username") %>
sex的值:<%=request.getAttribute("sex") %>
addr的值:<%=request.getAttribute("addr") %>
出现的错误:
java.lang.ClassCastException: com.myfilter.ChiniseFilter cannot be cast to javax.servlet.Filter
解决方案1: 看看你的web-inf\classes文件下有没有 ChiniseFilter.class 文件。
解决方案2: 说你写的这个类不能投射到java.servlet.Filter这个接口,你是不是继承的不是这个接口啊
解决方案3: 这个好奇怪、、、、mark
解决方案4: public class ChiniseFilter implements Filter
这里implements的Filter,是不是 javax.servlet.Filter ?
看看你文件前面的 import 是啥?
以上介绍了“ Servlet Filter 类型转化出了问题 大家帮忙看看”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2922118.html