问题描述
- jsp,servlet使用过滤器解决中文问题时如果输入英文反而出现乱码
-
一:场景恢复
1,有一个html页面,其中有一个标签,里面有一个text(name为content),一个submit。当单击submit时将text中的输入值传到servlet中进行输出。
2,有一个servlet,用来接收从html中传来的context值(text控件),然后进行输出。
3,有一个过滤器,具体详见代码部分。
4,有一个web.xml配置页面,用来配置servlet和Filter,具体详见代码部分
二:问题
如题所述,在html中的text中输入中文可以在servlet中正常显示,但输入以英文开头加中文或纯英文时就会出现乱码。三:代码
1:html页面
<!DOCTYPE html>Insert title here
function fsubmit(){
if(theForm.page[0].checked){
theForm.action="test.jsp";
}
else if(theForm.page[1].checked){
theForm.action="test";
}
}JSP
Servlet
解决方案
二:问题
如题所述,在html中的text中输入中文可以在servlet中正常显示,但输入以英文开头加中文或纯英文时就会出现乱码。
解决方案二:
三:代码
1:html页面
<!DOCTYPE html>
Insert title here
function fsubmit(){
if(theForm.page[0].checked){
theForm.action="test.jsp";
}
else if(theForm.page[1].checked){
theForm.action="test";
}
}
JSP
Servlet
2:servlet页面
package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class testServlet extends HttpServlet {
public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException{
String content=request.getParameter("content");
PrintWriter out=response.getWriter();
out.println("这是Servlet测试");
out.println("内容是:"+content);
out.close();
}
}