java form表单乱码_java表单提交中文乱码的解决方法

本文实例为大家分享了java表单提交中文乱码的解决方法,供大家参考,具体内容如下

主页index.xml

servlet演示

中文乱码

姓名:

密码:

ServletEncoding.java

package cn.hncu.servlet_2;

import java.io.IOException;

import javax.servlet.Servlet;

import javax.servlet.ServletConfig;

import javax.servlet.ServletException;

import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;

public class ServletEncoding implements Servlet {

private String charSet=null;

@Override

public void destroy() {

}

@Override

public ServletConfig getServletConfig() {

return null;

}

@Override

public String getServletInfo() {

return null;

}

@Override

public void init(ServletConfig config) throws ServletException {

charSet=config.getInitParameter("char");

System.out.println("编码:"+charSet);

}

/*

* 解决中文乱码

* 1)更改tomcat平台中字符编码(server.xml-connector的属性)

* 而tomcat是所有项目的公共平台,所以不要该,尽量不改

* 2)反查ISO8859-1编码:通过String中的乱码解决方式

* 3)获取参数之前设置:req.setCharacterEncoding("utf-8");

* 注意:此种方式必须要是POST方式提交,否则不行

* 4)获取参数之前设置:通过在web.xml中设置字符参数方式把3)做活

* 5)用过滤器把3)做活--以后实现

*/

@Override

public void service(ServletRequest req, ServletResponse resp)

throws ServletException, IOException {

// //3)获取参数之前设置

// req.setCharacterEncoding("utf-8");

//4)获取参数之前设置:通过在web.xml中设置字符参数方式把3)做活

req.setCharacterEncoding(charSet);

//读取信息处理中文乱码

String name=req.getParameter("name");

String pwd=req.getParameter("pwd");

System.out.println("name:"+name+",pwd:"+pwd);

// System.out.println("编码前-name:"+name+",pwd:"+pwd);

// //2)反查ISO8859-1编码:通过String中的乱码解决方式

// byte bs[]=name.getBytes("iso-8859-1");

// name=new String(bs,"utf-8");

// byte bs2[]=pwd.getBytes("iso-8859-1");

// pwd=new String(bs2,"utf-8");

// System.out.println("编码后-name:"+name+",pwd:"+pwd);

// //注:这种方式对于参数很多时,就不合适使用了

resp.setContentType("text/html;charset=utf-8");//设置协议:IE没问题,但是有的浏览器不兼容

//向客户端应答

String str="

name:"

+name+",pwd:"+pwd+"

";

resp.getWriter().println(str);//println()带刷缓存

}

}

配置文件web.xml

xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

encode

cn.hncu.servlet_2.ServletEncoding

char

utf-8

encode

/encode

index.jsp

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值