国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java表單提交中文亂碼的解決方法

2019-11-26 13:44:01
字體:
來源:轉載
供稿:網友

本文實例為大家分享了java表單提交中文亂碼的解決方法,供大家參考,具體內容如下

主頁index.xml

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><html> <head>  <title>servlet演示</title> </head> <body>   <h2>中文亂碼</h2>   <!-- /servletDemo_1/encode最好用絕對目錄,因為index.jsp位置可能會更改 -->   <form action="/servletDemo_1/encode" method="post">    姓名:<input type="text" name="name"/><br/>      密碼:<input type="password" name="pwd"/> <br/>       <input type="submit" value="登陸"/>   </form> </body></html>

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="<html><head><title></title></head><body><font color='red'>name:"        +name+",pwd:"+pwd+"</font></body></head>";    resp.getWriter().println(str);//println()帶刷緩存  }}

配置文件web.xml

<?xml version="1.0" encoding="UTF-8"?><web-app version="3.0"   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"> <display-name></display-name>  <servlet>  <servlet-name>encode</servlet-name>  <servlet-class>cn.hncu.servlet_2.ServletEncoding</servlet-class>  <init-param>    <param-name>char</param-name>    <param-value>utf-8</param-value>  </init-param> </servlet> <servlet-mapping>  <servlet-name>encode</servlet-name>  <url-pattern>/encode</url-pattern>  </servlet-mapping> <welcome-file-list>  <welcome-file>index.jsp</welcome-file> </welcome-file-list></web-app>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 苍梧县| 共和县| 南汇区| 衡水市| 泾阳县| 额尔古纳市| 花莲市| 满洲里市| 巴林右旗| 玉溪市| 南溪县| 马龙县| 林周县| 莱西市| 高要市| 许昌县| 瑞金市| 宁安市| 德钦县| 安吉县| 郎溪县| 溧水县| 宜丰县| 沁阳市| 蒙自县| 无极县| 辽中县| 农安县| 贵州省| 兴国县| 砀山县| 彭泽县| 沅江市| 崇阳县| 南部县| 榆社县| 项城市| 蓝田县| 临泽县| 本溪| 阜平县|