「javauri中文」Java uri

博主:adminadmin 2023-01-22 05:21:07 279

本篇文章给大家谈谈javauri中文,以及Java uri对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

URL传递中文、Ajax传递中文,Java如何编码如何解决乱码

地址栏中出现汉字的情况有两种,一种是汉字出现在URL的路径部分,一种是汉字出现在URL的传参的部分,第二种情况的时候必须采用编码后传参,接受时解码的方式完成传参。js中编码有escape(),encodeURI(),encodeURIComponent()三个常用的方法,escape()常常用在提交页面和处理页面的编码格式相同的情况下(比如它们都是GB2312),encodeURI()和encodeURIComponent()的用法基本相同,区别在于encodeURIComponent()也对"?"等特殊字符进行编码。

一开始遇到中文参数的时候,使用encodeURI()进行了一遍编码,传过去后,发现解码出现问题,于是想到可能是编码方法使用错误,于是使用escape()方法,这时发现解码时抛出isHexDigit异常。借助百度搜索isHexDigit异常,

发现原来,是escape()方法造成了异常,同时了解了浏览器传递地址的一些原理,在浏览器地址栏里,浏览器认为%是个转义字符,浏览器会把%与%之间的编码,两位两位取出后进行解码,然后再传递给处理页面,

然后由处理页面进行再次解码。由此我想到一直使用encodeURI方法是正确的,只是需要使用两次encodeURI方法,例如encodeURI(encodeURI("中文"));第一次是把中文编码成%xy的格式,

第二次是对%xy中的%进行编码,%编码成%25。整个传参过程大体应该是:提交页面使用encodeURI(encodeURI("中文"))编码,把最后的编码结果%25xy传递给处理页面的过程中,浏览器获取URL地址

(注意openModelDialog方法,浏览器获取不到参数编码)后解码成%xy,然后把%xy传递给处理页面,处理页面使用URLDecoder.decode(request.getParameter("参数名"),"UTF-8");完成解码。

总结:1、汉字出现在URL路径部分的时候不需要编码解码;

2、使用encodeURI进行2次编码;

3、在openModelDialog()打开的模式窗体里没办法用request.getParameter正确获取参数;

客户端和服务器在传递数据时可以用过滤器filter解决字符编码问题,但filter只能解决post方式提交的数据。对于get方式,可以使用两次encodeURI(encodeURI(中文))并在服务器中使用URLDecoder.decode(中文, "UTF-8");

今天用Ajax校验数据时也遇到这个问题,尽管页面、类和web容器都统一了字符编码,提交的数据依然是乱码,所以就采用了2次encodeURI()编码方式,乱码问题就解决了。

java中url和uir有什么区别

URI是URL的一个抽象,它不仅包括了统一资源定位符(URL),还包括了统一资源名(URN).大多数实际应用中使用的URI都是URL,但是许多规范和标准像XML都是用URI来定义的.在java1.4和更新的版本中, URI被java.net.URI 类所表示.这个类与java.net.URL 相比有如下3点重要的区别:

· URI 类只关心资源的标识和对URI的解析.它没有方法来检索它的URI所标识的资源。

· URI 类与URL 类相比,它更能适应相关的规范。

· 一个URI 对象能表示一个相对URI 。URL 类在存放之前,就已经对所有的URI进行了“绝对化”的处理。

看着是不是有点晕?

简单的这么理解吧,URL是统一资源定位符,URI是统一资源标识符,URL是URI的一种,但在Java里面不是一种类型,两个类也没有继承关系,但各自提供了toURL()和toURI()来相互转换,在需要的时候放上相应的类型。

Java中路径的获取总结以及URL和URI的区别

1、URI是统一资源标识符,是一个用于标识某一互联网资源名称的字符串。 该种标识允许用户对任何(包括本地和互联网)的资源通过特定的协议进行交互操作。URI由包括确定语法和相关协议的方案所定义。由是三个组成部分:访问资源的命名机制、存放资源的主机名、资源自身的名称,由路径表示。

比如文件的URL,服务器方式用file表示,后面要有主机IP地址、文件的存取路径(即目录)和文件名等信息。有时可以省略目录和文件名,但“/”符号不能省略。

例:代表获取资源使用ftp协议,资源目标是a主机的1234端口的b目录下的c目录下的d.txt。

2、URL是统一资源定位,是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。

javauri中文的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Java uri、javauri中文的信息别忘了在本站进行查找喔。