当前位置:编程学习 > JAVA >>

servlet获取表单数据

请问为什么使用servlet获取表单提交的数据不必在doGet或doPost方法中设置字符编码? --------------------编程问答-------------------- 你是不是设置了页面编码? --------------------编程问答-------------------- web.xml中加了过滤器 --------------------编程问答-------------------- 在web.xml中加过滤器,就不用获取的时候设编码了。 --------------------编程问答-------------------- 没有加什么过滤器啊?我也没做任何的编码设置,怎么与JSP获得表单数据不一样呢? --------------------编程问答-------------------- 楼主问问题,请详细描述一下。  表单提交是什么?  后台获取到的是什么? --------------------编程问答-------------------- 提交的内容如果没有中文,就不需要改编码 --------------------编程问答--------------------
引用楼主 gzx234123138 的回复:
请问为什么使用servlet获取表单提交的数据不必在doGet或doPost方法中设置字符编码?

因为楼主这么问,所以我猜想是不是楼主在web.xml中加了什么过滤器。 --------------------编程问答--------------------
引用 4 楼 gzx234123138 的回复:
没有加什么过滤器啊?我也没做任何的编码设置,怎么与JSP获得表单数据不一样呢?


在web.xml里面加一个过滤器就行了 --------------------编程问答-------------------- 假如就是提交一个文本框(含有中文数据,用Get方法提交 name属性是a),提交到servlet页面,public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.print(request.getParameter("a"));
}
这样就可以获得提交的中文数据 --------------------编程问答-------------------- 我常使用UTF-8来解决乱码的问题

jsp文件加:
<%@ page contentType="text/html; charset=UTF-8" %>
并将jsp保存成UTF-8格式

在web.xml 加过滤器
  <filter>
    <filter-name>setEncodeFilter</filter-name>
    <filter-class>xxx.xxx.SetEncodeFilter</filter-class>
    <init-param>
      <param-name>defaultencoding</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
  </filter>
过滤器代码在网上找

在servlet文件中加:
    response.setContentType(“text/html; charset=UTF-8”);

这样包括数据库,都不会乱码

我是这么做的
--------------------编程问答-------------------- 但是我这样做为什么他没有出乱码呢? --------------------编程问答-------------------- 可能你在服务器上改了什么的!!跟你提交的数据编码一样!! --------------------编程问答-------------------- 设置一下过滤器 --------------------编程问答-------------------- 楼主撞鬼了,这是正解 --------------------编程问答-------------------- 都不懂LZ具体要搞什么?到底是排除乱码还是对乱码有疑问的???要设置编码可以的,也可以用过滤器的----似乎没什么问题??? --------------------编程问答-------------------- 加一个filter就好了
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,