没使用过滤器时只是中文乱码,使用过滤器后出现:HTTP Status 404 - /P04/servlet/DealWithServlet无法找到指定位置的资源,第一次学习过滤器,望知道的大神指点……
表单:
filterForm.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<html>
<body>
<form action="servlet/DealWithServlet" method="post">
请输入学生名字:<input type="text" name="stuname">
<input type="submit" value="提交">
</form>
</body>
</html>servlet处理:
DealWithServlet.java
package servlet;import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;public class DealWithServlet extends HttpServlet {
public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException {
doPost(request,response);
}
public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException {
String stuname = request.getParameter("stuname");
System.out.println("姓名: " + stuname);
}
}过滤器:
EncodingFilter.java
package filter;
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 EncodingFilter implements Filter {
public void destroy() {}
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
arg0.setCharacterEncoding("gb2312");
}
public void init(FilterConfig arg0) throws ServletException {}
} web.xml
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>filter.EncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>EncodingFile</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> http://my.csdn.net/my/album/detail/1249606#1249606
表单:
filterForm.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<html>
<body>
<form action="servlet/DealWithServlet" method="post">
请输入学生名字:<input type="text" name="stuname">
<input type="submit" value="提交">
</form>
</body>
</html>servlet处理:
DealWithServlet.java
package servlet;import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;public class DealWithServlet extends HttpServlet {
public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException {
doPost(request,response);
}
public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException {
String stuname = request.getParameter("stuname");
System.out.println("姓名: " + stuname);
}
}过滤器:
EncodingFilter.java
package filter;
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 EncodingFilter implements Filter {
public void destroy() {}
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
arg0.setCharacterEncoding("gb2312");
}
public void init(FilterConfig arg0) throws ServletException {}
} web.xml
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>filter.EncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>EncodingFile</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> http://my.csdn.net/my/album/detail/1249606#1249606
解决方案 »
- struts建立中ActionFrom总是提示异常
- 求判断数据库中某字段是否存在某个值的最佳方法?
- java类里面如何输出字符串到界面,
- 为什么jsp+mysql我的程序只能插入数字?
- Current row is invalid的问题,着急,在线等!!!!!!!!!!!
- 非常简单一问
- 求救?
- jsp学习遇到问题请教大家:request.getParameter为什么取值为空?
- 在javascript字符串中,用双引号与用单引号有什么区别吗?
- Java 8 lamada Stream: 如何获取属性的子属性集合
- myeclipse中各个位置设置的jdk有何区别和联系
- com.caucho.hessian.io.HessianServiceException: The service has no method named
/DealWithServlet这个,还有一个我认为web里应该设置个变量 charset value GBK,个人意见希望对楼主有用 谢谢
所以请求路径可以改为/servlet/DealWithServlet 或者/DealWithServlet 2:public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
arg0.setCharacterEncoding("gb2312");
}应该加上一句:arg2.doFilter(request, response);//使程序继续执行