博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
重定向带中文参数跳页面显示中文示例代码
阅读量:4946 次
发布时间:2019-06-11

本文共 2216 字,大约阅读时间需要 7 分钟。

最近发现一个问题,访问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"%>  
  访问

(2)success.jsp代码:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>     <%=new String(request.getParameter("name").getBytes("ISO-8859-1"),"utf-8") %>  

(3)web.xml代码:

UserSerlvet
servlet.UserSerlvet
UserSerlvet
/servlet/UserSerlvet
index.jsp

(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);            }}

以上就是全部代码了,可以直接复制,进行测试,有问题一起交流。

此文小编自测通过,放心测试吧!!

 

转载于:https://www.cnblogs.com/IT-Monkey/p/4060997.html

你可能感兴趣的文章