`

response.sendRedirect(url)参数过长和中文乱码问题

阅读更多

一.参数过长

        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是相应,是在客户端运行的。

 

文章来源:http://blog.csdn.net/cymlancy/article/details/7595252

分享到:
评论

相关推荐

    Jsp利用response.sendRedirect、cookie传参

    ### JSP中利用`response.sendRedirect`与Cookie进行参数传递 #### 概述 在Web开发中,特别是使用Java Server Pages(JSP)进行网站构建时,数据的传递是至关重要的。其中,`response.sendRedirect`方法和Cookie...

    jsp response.sendRedirect不跳转的原因分析及解决.docx

    ### jsp response.sendRedirect不跳转的原因分析及解决 #### 一、问题背景 在进行Web应用开发的过程中,经常需要使用到服务器端重定向的技术。在Java Server Pages (JSP) 技术中,`response.sendRedirect()` 是一...

    jsp response.sendRedirect()用法详解.docx

    jsp response.sendRedirect()用法详解 jsp response.sendRedirect()函数是JSP中一种常用的重定向方法,它可以将用户重定向到指定的页面。下面我们将详细介绍jsp response.sendRedirect()函数的用法和实现原理。 ...

    jsp response.sendRedirect不跳转的原因分析及解决

    对于如何进行页面跳转以及如何解决跳转中出现的问题,response.sendRedirect()是其中一种常用的方法。然而,在实际使用时,开发者可能会遇到response.sendRedirect()不跳转的情况。以下是对这个问题的原因分析及解决...

    sendRedirect()和forward()

    sendRedirect()和forward()方法的区别 sendRedirect()和forward()方法都是Servlet编程中常用的方法,它们可以将客户端的请求重定向或转发到其他的资源,如Servlet、JSP页面或HTML文件中。但是,这两个方法之间存在...

    数据库测试test.sql

    // //解决POST表单的中文乱码问题 // request.setCharacterEncoding("utf-8"); // //接收method属性的值 // String methodName = request.getParameter("method"); // // //根据method属性的值调用相应的方法 // if...

    解决tomcat中文乱码问题

    当使用`sendRedirect`重定向时,URL中的参数可能因编码问题导致中文乱码。有两种常见处理方法: 1. **编码转换**:将中文字符串先转换为ISO-8859-1编码,然后再附加到URL上。 2. **URL编码**:使用`java.net....

    Response,内置对象.

    与客户端跳转不同,服务器端跳转使用`<jsp:forward>`标签或`response.sendRedirect()`方法(但参数不同)。服务器端跳转不会在浏览器的地址栏显示新的URL,而且可以携带请求属性。`<jsp:forward>`是立即跳转,而`...

    JSP中5种跳转foward,request等等的详细区别

    JSP 中有五种跳转方式,包括 RequestDispatcher.forward()、response.sendRedirect()、jsp:forward、RequestDispatcher.include() 和 HttpServletResponse.sendRedirect()。下面我们将详细介绍这五种跳转方式的区别...

    jsp的跳转方式总结

    * 不能在 response.sendRedirect() 之前使用 out.flush(),否则将抛出 java.lang.IllegalStateException 异常。 * 跳转后,浏览器地址栏将发生变化。 * 如果跳转到不同主机下,response.sendRedirect() 之后的语句将...

    Servlet跳转方式sendReDirect

    - 调用`response.sendRedirect(url)`,其中`url`是客户端应该重新请求的新URL。 - 使用`sendRedirect()`后,客户端浏览器会收到一个HTTP状态码302(临时重定向),并且地址栏会显示新的URL。这意味着请求的生命...

    jsp返回登陆前的页面的几种实现

    本文将详细介绍几种实现这一功能的方法,并针对`response.sendRedirect()`在使用过程中遇到的一些常见问题给出解决方案。 #### 一、问题背景 在使用`response.sendRedirect()`进行页面跳转时,需要注意该方法调用...

    Tomcat中文乱码解决方法参考.pdf

    四、response.sendRedirect 中文乱码解决 在使用 response.sendRedirect 时,如果涉及 POST 数据、GET 数据或 URL 数据,需保证能正常接收。然后可以采用以下某种方法对发送数据进行编码变换: 方法 1:将发送数据...

    jsp和servlet中实现页面跳转的方式实例总结.docx

    使用 response.sendRedirect 方法可以将请求重定向到另一个 JSP 页面。例如: ```jsp response.sendRedirect("test2.jsp"); %> ``` 3. 使用 forward 标签 使用 forward 标签可以将请求转发到另一个 JSP 页面。...

    spring-security-core-2.0.5.RELEASE.jar修改使得满足ajax登录需求

    response.sendRedirect(response.encodeRedirectURL(finalUrl)); 改为了 StringBuffer str = new StringBuffer(); str.append("{"); str.append("status: \"true\","); str.append("url: \""); str.append...

    用户管理系统(ums)

    用户管理系统。语言JAVA public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, ... response.sendRedirect(request.getContextPath()+"/manager.jsp"); }

    JSP页面的五种跳转方法

    此外,forward()不直接接受URL参数,而是通过response.setAttribute()在后台传递数据。 示例: ```java public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,...

    Response-Headers详解

    4. **`sendRedirect`**:用于重定向客户端到另一个URL。它会设置`Location`响应报头,并更改HTTP响应的状态码为302。 ```java response.sendRedirect("http://example.com/new-page"); ``` #### 四、构建Excel...

    Tomcat中文乱码处理方法.docx

    第三种解决方法是解决response.sendRedirect中文乱码问题。可以通过将发送数据的编码转换为ISO-8859-1,例如: 或使用URLEncoder类的encode方法进行URL编码,例如: 第四种解决方法是解决jsp动作指令传递中文乱码...

Global site tag (gtag.js) - Google Analytics