JavaWeb路径问题总结

JavaWeb路径问题总结

一、与路径相关的操作

1  超链接

2  表单

转发

包含

5  重定向

6  <url-pattern>

7  ServletContext获取资源

8  Class获取资源

9  ClassLoader获取资源

二、客户端路径

超链接、表单、重定向都是客户端路径

2.1  客户端路径以“/”开头:相对当前主机

  例如:http://localhost:8080/, 所以需要自己手动添加项目名,例如;response.sendRedirect("/day10_1/Bservlet");

2.2 不以“/”开头,相对当前页面所在路径

<a href="AServlet">,如果不以“/”开头,那么相对当前页面所在路径。如果是http://localhost:8080/day10_1/html/form.html。即:http://localhost:8080/day10_1/html/ASevlet

ps:强烈建议使用“/”开头的路径。

三、服务端路径

请求转发、请求包含都是服务器端路径

3.1 服务器端路径以“/”开头:相对当前应用

    例如:http://localhost:8080/项目名/ request.getRequestdispacher("/BServlet").for...();为:

    http://localhost:8080/项目名/BServlet

3.2 不以“/”开头,那么相对当前页面所在路径

 request.getRequestdispacher("/BServlet").for...();,假如当前Servlet是:http://localhost:8080/项目名/servlet/AServlet,    它就是http://localhost:8080/项目名/servlet/BServlet

ps:强烈建议使用“/”开头的路径。

四、九种路径相关操作示例

web.xml中<url-pattern>路径,(叫它Servlet路径)

    >要么以“*”开头,要么以“/”开头

转发和包含路径

    >以“/”开头:相对当前项目路径,例如:http://localhost:8080/项目名/request.getRequestdispacher("/BServlet").for...();

    >不以“/”开头:相对当前Servlet路径。request.getRequestdispacher("/BServlet").for...();,假如当前Servlet是:                  http://localhost:8080/项目名/servlet/AServlet,就是http://localhost:8080/项目名/servlet/BServlet

重定向路径(客户端路径)

         >以“/”开头:相对当前主机,例如:http://localhost:8080/, 所以需要自己手动添加项目名,例如response.sendRedirect("/day10_1/Bservlet");

页面中超链接和表单路径

> 与重定向相同,都是客户端路径!需要添加项目名

> <formaction="/day10_1/AServlet">

> <ahref="/day10_/AServlet">

> <a href="AServlet">,如果不以“/”开头,那么相对当前页面所在路径。如果是http://localhost:8080/day10_1/html/form.html。 即:http://localhost:8080/day10_1/html/ASevlet

> *****建立使用以“/”开头的路径,即绝对路径!

ServletContext获取资源路径

    > 相对当前项目目录,即当然index.jsp所在目录

ClassLoader获取资源路径

    > 相对classes目录

Class获取资源路径

    > 以“/”开头相对classes目录

    > 不以“/”开头相对当前.class文件所在目录。

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值