javaWeb -- 文件路径的书写以及URL编码
2013-03-17 18:21
99 查看
路径的书写
1.绝对路径:看路径是给谁用的,如果是给服务器用的就不用写web应用名,如果是给浏览器用的一定要带上web应用名
2.利用类加载器加载资源时,路径是相对于classes文件夹的
示例:有一文件:index.jsp在Tomcat服务器的Day05的WEBRoot路径下
URL编码
URI:Uniform Resource Identifier统一资源定位符
URL: Uniform Resource Locator 统一资源位置
URN:Uniform Resource Name 统一资源名称
URL编码
一般来说,URL只能使用英文字母、阿拉伯数字和某些标点符号,不能使用其他文字和符号。比如,世界上有英文字母的网址
“http://www.abc.com”,但是没有希腊字母的网址“http://www.aβγ.com”(读作阿尔法-贝塔-伽玛.com)。这是因为网络标准RFC 1738做了硬性规定:
于是,我们使用的URL如果有其他特殊字符,如汉字就需要使用上述要求的字符来替代的形式,这个过程就叫做URL编码
语法
将空格转换为加号(+)
对0-9,a-z,A-Z之间的字符保持不变
对于所有其他的字符,用这个字符的当前字符集编码在内存中的十六进制格式表示,并在每个字节前加上一个百分号(%)
例如:
字符“+”用%2B表示
字符“=”用%3D表示
字符“&”用%26表示
在使用gb2312码表时,字符“中”用%D6%D0表示,字符“国”用%B9%FA表示
对于空格也可以直接使用其十六进制编码方式,即用%20表示,而不是将它转换成加号(+)
如果确信URL串的特殊字符没有引起使用上的岐义或冲突你也可以对这些字符不进行编码,而是直接传递给服务器。例如,http://www.it315.org/dealregister.html?name=中国&password=123
如果URL串中的特殊字符可能会产生岐义或冲突,则必须对这些特殊字符进行URL编码。
例如,服务器会将不编码的“中+国”当作“中国”处理。还例如,当name参数值为“中&国”时,如果不对其中的“&”编码,URL字符串将有如下形式:http://www.it315.org/dealregister.html?name=中&国&password=123,应编码为:http://www.it315.org/dealregister.html?name=中%26国&password=123
http://www.it315.org/example/index.html#section2可改写成http://www.it315.org/example%2Findex.html%23section
1.绝对路径:看路径是给谁用的,如果是给服务器用的就不用写web应用名,如果是给浏览器用的一定要带上web应用名
2.利用类加载器加载资源时,路径是相对于classes文件夹的
示例:有一文件:index.jsp在Tomcat服务器的Day05的WEBRoot路径下
public class Demo18Servlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 1.绝对路径:看路径是给谁用的,如果是给服务器用的就不用写web应用名,如果是给浏览器用的一定要带上web应用名 request.getRequestDispatcher("/index.jsp").forward(request, response);//给服务器用 response.sendRedirect("/Day05/index.jsp");//给浏览器用 this.getServletContext().getResourceAsStream("/index.jsp");//给服务器用 this.getServletContext().getRealPath("/index.jsp");//给服务器用 response.setHeader("Location", "/Day05/index.jsp");//给浏览器用 // 2.利用类加载器加载资源时,路径是相对于classes文件夹的 ClassLoader loader = this.getClass().getClassLoader(); loader.getResourceAsStream("/cn/itheima/index.jsp"); loader.getResource("/cn/itheima/index.jsp"); } }
URL编码
URI:Uniform Resource Identifier统一资源定位符
URL: Uniform Resource Locator 统一资源位置
URN:Uniform Resource Name 统一资源名称
URL编码
一般来说,URL只能使用英文字母、阿拉伯数字和某些标点符号,不能使用其他文字和符号。比如,世界上有英文字母的网址
“http://www.abc.com”,但是没有希腊字母的网址“http://www.aβγ.com”(读作阿尔法-贝塔-伽玛.com)。这是因为网络标准RFC 1738做了硬性规定:
于是,我们使用的URL如果有其他特殊字符,如汉字就需要使用上述要求的字符来替代的形式,这个过程就叫做URL编码
语法
将空格转换为加号(+)
对0-9,a-z,A-Z之间的字符保持不变
对于所有其他的字符,用这个字符的当前字符集编码在内存中的十六进制格式表示,并在每个字节前加上一个百分号(%)
例如:
字符“+”用%2B表示
字符“=”用%3D表示
字符“&”用%26表示
在使用gb2312码表时,字符“中”用%D6%D0表示,字符“国”用%B9%FA表示
对于空格也可以直接使用其十六进制编码方式,即用%20表示,而不是将它转换成加号(+)
如果确信URL串的特殊字符没有引起使用上的岐义或冲突你也可以对这些字符不进行编码,而是直接传递给服务器。例如,http://www.it315.org/dealregister.html?name=中国&password=123
如果URL串中的特殊字符可能会产生岐义或冲突,则必须对这些特殊字符进行URL编码。
例如,服务器会将不编码的“中+国”当作“中国”处理。还例如,当name参数值为“中&国”时,如果不对其中的“&”编码,URL字符串将有如下形式:http://www.it315.org/dealregister.html?name=中&国&password=123,应编码为:http://www.it315.org/dealregister.html?name=中%26国&password=123
http://www.it315.org/example/index.html#section2可改写成http://www.it315.org/example%2Findex.html%23section
相关文章推荐
- javaWeb -- 文件路径的书写以及URL编码
- 在JDBC中 java项目 以及 web项目加载路径文件的异同
- web应用中路径问题以及读取web应用下资源文件
- JavaWeb中读取文件资源的路径问题
- JavaWeb项目中WEB-INF目录下class文件自动生成以及显示
- java中文件的相对路径以及jar中文件的读取
- javaweb中路径的书写总结
- java web应用访问tomcat目录外文件的路径映射问题
- java web中读取properties文件时的路径问题
- JAVA文件中获取路径及WEB应用程序获取路径方法
- java web.xml配置文件中url-pattern路径匹配方式
- JAVA文件中获取路径及WEB应用程序获取路径方法
- Java在WEB项目中获取文件路径
- java中打开文件的方法以及文件路径的写法
- java web 断点续传文件 以及 获取文件的SHA-1散列值
- 统计某个路径下所有的java文件,以及统计代码数量
- Web、Java源代码、资源文件在Maven工程中的文件路径
- Java实现获取Web上所有路径下资源文件的URL地址
- java取得项目工程---获取文件的相对路径问题---getResource()和getResourceAsStream以及路径问题
- javaweb上传文件时在tomcat配置虚拟路径