response.sendRedirect()重新定向的乱码问题

这里response.sendRedirect("YPbianhaoModify.jsp?jinhuoshang="+jinhuoshang+"&jinhuoriqi="+jinhuoriqi)要是有中文的话就成了
response.sendRedirect("YPbianhaoModify.jsp?jinhuoshang=进货商&jinhuoriqi=2007-09-23");

这里的中文不进行处理,重定向的时候必然会出现http://127.0.0.1:8080/medicine/YPbianhaoModify.jsp?jinhuoshang=??om?jinhuoriqi=2007-09-23

用URLEncoder.encode()方法对中文处理

如:
String url = "YPbianhaoModify.jsp?jinhuoshang="+jinhuoshang+"&jinhuoriqi="+jinhuoriqi;
response.sendRedirect(URLEncoder.encode(url,"GBK"));//GBK是页面的编码格式,可根据情况修改
//response.sendRedirect(URLEncoder.encode(url));

时间: 2024-12-15 18:54:27

response.sendRedirect()重新定向的乱码问题的相关文章

response.sendRedirect乱码问题终极解决方案

读到这篇文章的同学想必是在response.sendRedirect乱码问题上出现了迷惑,只好问度娘了.但是如果度娘能把我们的迷惑完全解释清楚,也就不存在这篇文章了.既然本文就像标题那样吹下了大牛,闲话少叙看看笔者是如何把这个牛一步步的吹下去的. 在JAVAEE开发时经常会遇到中文乱码问题,对于老程序员来说也是一件比较头疼的问题.我们通常是遇到问题时上网搜一搜,有时候运气好问题也就解决了,可是很少去从本质上去关注问题为什么会产生?到底是怎么解决的? 首先来看第一个问题,为什么会产生乱码?乱码是指

JSP中页面跳转response.sendRedirect()和request.getRequestDispatcher()的区别

Java Web开发中,采用MVC模式的时候,在控制器完成模型的调用之后会选择界面对用户响应,用常有2种方式 1,通过response对象的sendRedirect方法重定向: response.sendRedirect("login.jsp"); 2,通过RequestDispatcher对象的forward方法: <!--请求转发--> RequestDispatcher rd = request.getRequestDispatcher("login.jsp

javaweb中重定向和请求转发(response.sendRedirect()和request.getRequestDispatcher(rul).forward(request,response)))的区别

先来两张图,方便理解: 可以看出,重定向时,是服务器向游览器重新发送了一个response命令,让游览器再次向url2发送请求,以获取url2的资源 而请求转发时,类似于是服务器自己向自己发了一个跳转,然后将结果直接给游览器,这也是问什么游览器会不改变url地址.下面是具体总结他们的区别 一.response.sendRedirect(url)-服务器将新url发送给游览器,游览器再根据新url请求 Request.getRequestDispatcher(url).forward(reques

iframe和response.sendRedirect使用的问题

一.iframe下使用response.sendRedirect的问题 一般使用filter过滤用户是否登录,如果用户没有登陆则转向登陆页面,这时候可以使用response.sendRedirect(). 但当在页面上使用了iframe后,发现被重定向的只是父页面中的iframe区域,登陆页面内容显示在该区域中.说明在过滤器中发送重定向请求时,是在iframe页面发送的.错误的代码如下: Java代码 HttpServletRequest req = (HttpServletRequest) r

关于jsp中response.sendRedirect显示错误

今天在jsp中作判断时,当不同条件时利用response.sendRedirect("url")来转向不同的页面,首先是判断验证码,当错误时就转向错误页面:当正确时,才进行用户名和密码的判断,同样也response.sendRedirect("url")来转向不同的页面.但运行时response.sendRedirect显示错误. if(!str2.equals(str_1))  {  response.sendRedirect("verify_error

response.sendRedirect的细节

今天敲书上的例子的时候无意间发现,response中的sendRedirect()重定向到另一个servlet时,调用的是doget方法,不明所以,百度得知,原来还牵扯到http协议的细节问题,原文如下: servlet重定向一般采用response.sendRedirect()来处理,要明白其中的细节,还需了解HTTP协议的一些内容,简单点就是要了解HTTP请求报头.HTTP状态码.HTTP响应报头的一些参数. sendRedirect()简单点就是做了两件事情: 设置HTTP响应报头中的St

转response.sendRedirect()与request.getRequestDispatcher().forward()区别

JSP中response.sendRedirect()与request.getRequestDispatcher().forward(request,response)这两个对象都可以使页面跳转,但是二者是有很大的区别的,分条来说,有以下几点: ①response.sendRedirect(url)-----重定向到指定URL request.getRequestDispatcher(url).forward(request,response) -----请求转发到指定URL ②response

response.sendRedirect 报 java.lang.IllegalStateException 异常的解决思路

今天在进行代码开发的时候,出现了 java.lang.IllegalStateException异常,response.sendRedirect("./DEFAULT.html"); 这一条语句出错. 在网上进行查找之后,发现问题很有可能是因为response.sendRedirect方法执行了两次,其中一次肯定是项目框架里面的跳转,而我自己要进行跳转的话,就显得极其不方便,最后我把目光放到前端页面,在前端页面进行跳转. 一开始我的前端语句是:window.location.href=

response.sendRedirect()与request.getRequestDispatcher(&quot;/index.jsp&quot;).forward(request, response)两者辨析

知识点轮廓 一 辨析response.sendRedirect()与request.getRequestDispatcher("/index.jsp").forward(request, response) 二 辨析请求转发与重定向异同问题[知识点总结] 第一部分: JSP中response.sendRedirect()与request.getRequestDispatcher().forward(request,response)这两个对象都可以使页面跳转,但是二者是有很大的区别的,