JavaWeb(三)-关于web项目中的路径问题及URL编码问题

一、web项目中的路径问题

1-1获得资源路径

1-1-1class类获得资源

InputStream in= this.getClass().getResourceAsStream("...");

class类中的ResourceAsStream;

                               以“/”开头,相对于classes路径

                               不以“/”开头,则相对于当前的class文件所在的路径

1-1-2 ClassLoader获得资源

InputStream in= this.getClass().getClassLoader().getResourceAsStream("...");

classLoader类是相当于当前的classes路径

1-1-3 ServletContext获得资源

  1. 使用ServletContext的getResourceAsStream方法:返回资源文件的读取字节流。
  2. 使用ServletContext的getRealPath方法,获得文件的完整绝对路径path(除了可以获取数据,还可以获取资源文件的名称)

1-2:web.xml下的<url-pattern>路径

  1.    以 *   开头 用于过滤器
  2.    以 / 开头 当前项目路径 开始 (http://localhost:8080/项目名/)

 1-3:转发/包含路径(服务器<--->服务器)

  1. 以 /  开头,则相当于当前项目路径 (http://localhost:8080/项目名/)
  2. 不以  /   开头,则相当于当前Servlet路径  (http://localhost:8080/项目名/Aservlet/)

1-4:重定向路径(客户端路径)

只能以/ 开头,相当于当前主机。  (http://localhost:8080/)

resp.sendRedirect(req.getContextPath()+"/EServlet");

1-5:页面中的超链接

  1. 以/ 开头,相当于当前主机。  (http://localhost:8080/)
  2. 不以 /开头,则相当于当前页面的所在路径

 

二、URL编码问题

由于表单类型是content-Type:application/x-www-form-urlencoded。可以直接把中文进行URL编码(%+两位16进制);

然而GET中,的中文无法直接进行URL编码

方法

java中URL 的编码和解码函数
java.net.URLEncoder.encode(String s)和java.net.URLDecoder.decode(String s);

String u=URLEncoder.encode("好的","UTF-8");
		String uu=URLDecoder.decode(u,"UTF-8");
		

 

      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值