response.sendRedirect(url)参数过长和中文乱码问题
程序员文章站
2022-07-02 12:57:09
...
一.参数过长
response.sendRedirect(url)是get传输,url长度最大限制在2k,如果url的参数是动态增长的,建议不使用此方法进行跳转,用forward进行跳转,使用setAttribute传递大数据。
request.setAttribute("aa","大数据"); request.getRequestDispatcher(url).forward(request,response);
二.中文乱码
如果response.sendRedirect(url)中所传递的是固定长度的url,并且长度小于限制的范围内,在使用中文参数的时候出现乱码,可使用以下方法进行转码。
String message = "中文"; message = URLEncoder.encode(message,"GBK"); response.sendRedirect(url+"?message ="+message );
三.sendRedirect和forward的区别
jsp或Servlet都会用到页面跳转,可以用request.getRequestDispatcher("p3.jsp").forward(request,response);这种方法称为转发,地址栏上的URL不会改变。
response.sendRedirect("p3.jsp");这种方法称为重定向,地址栏的URL会改变。
这两种方法有着本质的不同,requset是请求,是在服务器端运行的,response是相应,是在客户端运行的。
上一篇: JSP的七个常用动作解析
下一篇: 如何理解es6的对象的解构赋值和扩展
推荐阅读
-
.Net获取URL中文参数值的乱码问题解决方法总结
-
Jquery通过URL向下一个页面传递参数,并解决参数中文乱码问题
-
response.sendRedirect(url)参数过长和中文乱码问题
-
ASP.NET中url传递中文的解决方案,传递参数为汉字时出现乱码等问题
-
jquery获取URL中参数解决中文乱码问题的两种方法_javascript技巧
-
js、URL传递含有中文参数时的乱码问题解决
-
js、URL传递含有中文参数时的乱码问题解决
-
jquery获取URL中参数解决中文乱码问题的两种方法_javascript技巧
-
使用response.sendredirect重定向时的中文参数乱码问题--解决办法
-
Jquery通过URL向下一个页面传递参数,并解决参数中文乱码问题