一、在包下创建一个class类,实现filter接口,实现CharacterEncodingFilter的方法
二、编写index.jsp
三、在web.xml中注册过滤器类,配置过滤器
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>com.mr.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWORD</dispatcher>
</filter-mapping>
四、编写FirstServlet类的doPost()方法
运行结果如下:
输入后点击提交得到:
发现出现了乱码,检查原因在web.xml中<param-value>GBK</param-value>应该为<param-value>UTF-8</param-value>,改完之后运行结果正确了:
但是点击”返回“再一次出现错误:
检查错误原因是上面的地址出现了/servlet这一项,是在配置的时候在/servlet前面有一项<url-pattern>,于是返回FirstServlet.java改正返回链接out.print("<br><a href="+request.getContextPath()+"/index.jsp>返回</a>");
再次运行得到:
当不输入时点击提交得到: