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

首頁 > 學院 > 開發設計 > 正文

重定向帶中文參數跳頁面顯示中文示例代碼

2019-11-14 21:41:30
字體:
來源:轉載
供稿:網友
重定向帶中文參數跳頁面顯示中文示例代碼

最近發現一個問題,訪問servlet,在其中使用重定向帶中文參數跳轉頁面,發現地址欄取不到參數為中文的情況,糾結一小會,下面講講亂碼原因:對于URL地址欄里面的內容一般都是ISO-8859-1編碼的,所以呢,我們如果使用重定向,那么就是重新修改地址欄里面的內容(URL),那么這是如果我們要在URl中加入中文參數,必須將中文以ISO-8859-1的編碼,然后才可以顯示在地址欄上,不然就會實現中文找不到的情況或者地址欄中文亂碼,不羅嗦看代碼,大家就會明白。

下面貼我的代碼了,不明白可以交流:

在WebRoot下面新建兩個jsp文件:

(1)index.jsp

(2)success.jsp

在src下面新建一個servlet文件夾,里面創建一個servlet,名字為:UserSerlvet.java

下面繼續貼代碼咯:

(1)index.jsp代碼:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head>  <meta http-equiv="content-type" content="text/html; charset=UTF-8"></head><body>  <a href="servlet/UserSerlvet?name=張三的零食">訪問</a></body></html>

(2)success.jsp代碼:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <body>   <%=new String(request.getParameter("name").getBytes("ISO-8859-1"),"utf-8") %>  </body></html>

(3)web.xml代碼:

<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5"     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_2_5.xsd">  <display-name></display-name>  <servlet>    <servlet-name>UserSerlvet</servlet-name>    <servlet-class>servlet.UserSerlvet</servlet-class>  </servlet>  <servlet-mapping>    <servlet-name>UserSerlvet</servlet-name>    <url-pattern>/servlet/UserSerlvet</url-pattern>  </servlet-mapping>  <welcome-file-list>    <welcome-file>index.jsp</welcome-file>  </welcome-file-list></web-app>

(4)src/servlet中的UserSerlvet.java代碼:

package servlet;import java.io.IOException;import java.io.PRintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class UserSerlvet 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 {        /**         * 注意,瀏覽器Get請求中的url只能是ISO-8859-1編碼,如果         * 要在url后面帶參,必須將數據轉為ISO-8859-1編碼才可以實現URL后面帶         * 中文參數。到頁面一定要記得將ISO-8859-1轉為UTF-8顯示中文。         */        //方式一:在程序中,默認編碼為utf8或者GBK,一般為utf8,這時的中文要作為參數實現重定向傳遞,一定要轉ISO-8859-1才可以傳成功!                //String name = new String("張三的零食".getBytes("utf-8"),"iso-8859-1");        //方式二:從頁面獲得ISO-8859-1編碼,不需要轉碼,直接重定向到頁面即可,到頁面在以UTF-8解碼        String name = request.getParameter("name");        System.out.println(name);//控制臺是亂碼,此時它是ISO-8859-1,所以顯示必然亂碼        response.sendRedirect("../success.jsp?name="+name);            }}

以上就是全部代碼了,可以直接復制,進行測試,有問題一起交流。

此文小編自測通過,放心測試吧!!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 陇川县| 沧州市| 老河口市| 兰州市| 湾仔区| 信丰县| 泰宁县| 平谷区| 博罗县| 宣汉县| 郎溪县| 上栗县| 寿宁县| 舒城县| 乌兰浩特市| 卢氏县| 余庆县| 内黄县| 牡丹江市| 称多县| 乐陵市| 明星| 岗巴县| 汝州市| 贵南县| 南丰县| 梁河县| 巩留县| 河北省| 墨玉县| 淮南市| 郓城县| 海宁市| 鄂伦春自治旗| 湘潭市| 诸城市| 贡觉县| 扬州市| 保山市| 新巴尔虎左旗| 河西区|