日期:2014-05-17  浏览次数:20709 次

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搞混了。
------解决方案--------------------
探讨
引用:

比如 <td>
First Name : <input type="text" name="FIRSTNAME" size="25" value="">
</td>

<%
String lFirstName = request.getParameter("FIRSTNAME");
...................
%>


String ……

------解决方案--------------------
楼上正解