您的位置:首页 > 编程语言 > Java开发

javaWeb -- 文件路径的书写以及URL编码

2013-03-17 18:21 99 查看
路径的书写

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: