`
zengshaotao
  • 浏览: 791602 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

encodeURL

 
阅读更多

.encodeURL函数主要是来对URI来做转码,它默认是采用的UTF-8的编码。.

UTF-8编码的格式:一个汉字来三个字节构成,每一个字节会转换成16进制的编码,同时添加上%号.

假设页面端输入的中文是一个“中”,按照下面步骤进行解码:

1、第一次encodeURI,按照utf-8方式获取字节数组变成[-28,-72-83],对字节码数组进行遍历,把每个字节转化成对应的16进制数,这样就变成了[E4,B8,AD],最后变成[%E4,%B8,%AD]  此时已经没有了多字节字符,全部是单字节字符。

2、第二次encodeURI,进行编码,会把%看成一个转义字符,并不编码%以后字符,会把%编码成%25.把数组最后变成[%25E4,%25B8,%25AD]然后就把处理后的数据[%25E4,%25B8,%25AD]发往服务器端,当应用服务器调用getParameter方法,getParameter方法会去向应用服务器请求参数,应用服务器最初获得的就是发送来的[%25E4,%25B8,%25AD],应用服务器会对这个数据进行URLdecode操作,应用服务器进行解码的这一次,不管是按照UTF-8,还是GBK,还是ISO-8859,都能得到[%E4,%B8,%AD],因为都会把%25解析成%.并把这个值返回给getParameter方法。

3、再用UTF-8解码一次,就得到中了。想想看,如果不编码两次,当服务器自动解码的时候,假如是按照ISO-8859去解码UTF-8编码的东西,就是会出现乱码。

 

分享到:
评论

相关推荐

    用JSP做的网上交友页面

    <a href="<%=response.encodeURL("showMember.jsp")%>">浏览会员| <a href="<%=response.encodeURL("register.jsp")%>">会员注册| <a href="<%=response.encodeURL("login.jsp")%>">会员登录| ...

    express中间件当做前端服务器的安全漏洞处理

    在使用Express作为前端服务器的过程中,安全是至关重要的。Express是一个流行的Node.js框架,它简化了构建Web应用和服务的过程。然而,如果不正确配置或使用中间件,可能会引入安全漏洞。本篇文章将深入探讨Express...

    JSP实现浏览器关闭cookies情况下的会话管理.docx

    `response.encodeRedirectURL(String url)`与`encodeURL()`类似,但它是为`sendRedirect()`方法设计的,用于在执行重定向时确保Session ID被正确地包含在新URL中。 以下是一个简单的JSP应用示例,展示了如何在关闭...

    java练习题

    D选项接近正确,但更准确地说,`encodeURL()`通常用于将会话ID添加到URL的查询字符串中,以便于服务器识别请求的上下文。 3. **监听器(Listeners)**: - 对于测量Servlet被调用次数的任务,最合适的监听器是`...

    关于web回话跟踪session

    例如,在Servlet或JSP文件中,可以使用`HttpServletResponse`接口中的`encodeURL()`和`encodeRedirectURL()`方法来对URL进行编码。这两个方法的作用在于确保即使在没有Cookie的情况下,也能通过URL重写的方式维持...

    JSR-168 Portlet指南.doc

    1. **使用URL重写API**:在portlet中生成动态内容(如图片链接)时,应始终使用`renderResponse.encodeURL()`方法。这可以确保portlet生成的URL包含必要的参数,以便门户服务器能够正确处理请求。例如,正确生成图像...

    这是一个简单的网上交友系统

    - `<a href="<%=response.encodeURL("showMember.jsp")%>">Ա</a>`:链接到展示成员信息的页面。 - `<a href="<%=response.encodeURL("register.jsp")%>">Աع</a>`:链接到注册页面。 - `<a href="<%=response....

    EncodeDecode经典加密解密+VB源码.rar

    EncodeDecode经典加密解密+VB源码.rarEncodeDecode经典加密解密+VB源码.rarEncodeDecode经典加密解密+VB源码.rarEncodeDecode经典加密解密+VB源码.rar

    计算机二级Excel函数公式13类451个函数实例 - 副本.pdf

    Web函数用于处理和操作Web相关的内容,常用的Web函数有ENCODEURL函数等。ENCODEURL函数可以将字符串转换为URL编码。 八、三角函数(80个) 三角函数用于计算和操作三角函数,常用的三角函数有SIN函数等。SIN函数...

    易语言URL编解码

    易语言是一种专为中国人设计的编程语言,它以简明直观的中文语法为特色,使得初学者能够更快地掌握编程技能。在易语言中进行URL编解码是网络编程中的常见操作,主要用于处理URL(统一资源定位符)中的特殊字符,以...

    解决boa服务器get/post请求中文乱码问题

    在IT行业中,服务器管理和Web应用开发常常会遇到字符编码的问题,特别是当涉及到非英文字符时。...同时,利用如`decodeURL.c`和`encodeURL.c`这样的工具函数可以有效地处理URL编码问题,从而避免中文乱码。

    URLRewrite配置和使用

    outbound-rule是URLRewrite中的一个重要概念,它可以将response.encodeURL或c:url重写后的URL转换成我们想要的格式。例如: ``` <from>/rewrite-status <to>/test/status/ ``` 这个规则表明,当我们使用response...

    在jbuilder2006使用dwr的问题

    <script type='text/javascript' src='<%=response.encodeURL(contextPath+"/dwr/interface/service.js")%>'> ``` 然后定义了`firstDwr`函数来调用`sayHello`方法,并定义回调函数`callBackHello`来处理返回的数据...

    java-web课本课后简答题.pdf

    * 通过使用响应对象(即HttpServletResponse接口)的encodeURL()方法或encodeRedirectURL()方法可以获得ServletConfig对象。 六、HTTP请求结构 * HTTP请求结构由请求行、请求头、空行和请求数据组成。 * 请求行由...

    Java程序员面试题

    当一个Servlet需要在响应输出流中写出包含session ID的URL时,应该使用`HttpServletResponse`接口的`encodeURL`方法。所以正确答案是: - B. The encodeURL method of the HttpServletResponse interface. 理解...

    华为公司招聘 java人员面试题(泄漏版)

    `HttpServletResponse`接口提供了`encodeURL`方法来实现这一功能。 以上解析涵盖了Java语言中的一些关键概念,包括字符串的不可变性、循环控制流、方法重写规则、内部类实例化以及Servlet中会话管理的基本技巧。...

    URLRewrite配置和使用[借鉴].pdf

    当使用`response.encodeURL()`或者JSTL的`c:url`标签时,`/rewrite-status`会被重写为`/test/status/`。这确保了用户在地址栏和超链接中看到的都是美化过的URL,而不是服务器内部的实际路径。 在实际使用中,需要...

    基于JAVA_JSP的网上书店系统.pdf

    这些链接通过JSP的response.encodeURL方法生成,确保URL的安全性。 整个系统开发过程中,JAVA和JSP的结合使得业务逻辑与表现层分离,提高了代码的可重用性和可维护性,同时也提供了用户友好的交互体验。通过这种...

    华为招聘Java面试题

    - Servlet 通过 `HttpServletResponse.encodeURL()` 方法将 session ID 编码到 URL 中,以便在浏览器端保持会话状态。当用户在新窗口打开 URL 或复制粘贴 URL 时,session ID 仍能被识别。 这些是针对华为招聘 ...

Global site tag (gtag.js) - Google Analytics