java web过滤器问题
jsp页面 代码
。。。
<body>
<center>
<h2>请输入用户名和口令:</h2>
<form method="post" action="servlet/CheckParamServlet">
<table>
<tr>
<td>用户名:</td>
<td><input name="name" type="text"></td>
</tr>
<tr>
<td>
<input name="ok" type="submit" value="提交">
<input name="cancel" type="reset" value="重置">
</td>
</tr>
</table>
</form>
</center>
</body>
web.xml配置
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>servlet.ab</filter-class>
</filter>
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
过滤器代码
package servlet;
import
java.io.IOException;
import javax.servlet.*;
public class ab implements Filter {
protected String encoding = null;
protected FilterConfig config;
public void init(FilterConfig filterConfig) throws
ServletException {
}
public void doFilter(
ServletRequest request,
ServletResponse response,
FilterChain chain)
throws
IOException, ServletException {
request.setAttribute("name", "abc");
chain.doFilter(request, response);
}
protected String getEncoding() {
return encoding;
}
public void destroy() {
}
}
我是想把传过来的name全部改成abc但是结果是还是原样显示
------解决方案--------------------没有配置成
------解决方案--------------------web.xml配置 没有问题。
但是你在doFilter里并没有任何转换的操作,只是设了一个Attribute,你怎么能期待它会有转换的效果呢?
你把request.attribute和request.parameter搞混了。
------解决方案--------------------
------解决方案--------------------楼上正解