JavaWeb路径
文章目录客户端路径和服务器端路径客户端路径(需添加项目名)重定向路径(客户端路径)页面中超链接和表单路径服务器端路径(项目内,无需添加项目名)Servlet路径转发和包含路径ServletContext获取资源路径ClassLoader获取资源路径(类加载器)Class获取资源路径客户端路径和服务器端路径客户端路径需要给出应用名称,例如:/day05_1/AServlet服务器端路径无需给出应用名
文章目录
客户端路径和服务器端路径
- 客户端路径需要给出应用名称,例如:/day05_1/AServlet
- 服务器端路径无需给出应用名称,例如:/AServlet
客户端路径(需添加项目名)
页面中都是客户端路径:
-
超链接的href
-
表单的action
-
<img>的src -
重定向也是客户端路径:response.sendRedirect("/day05_1/BServlet");
重定向路径(客户端路径)
以“/”开头:相对当前主机,例如:http://localhost:8080/,
所以需要自己手动添加项目名,例如;response.sendRedirect("/重定向项目名/Bservlet");
页面中超链接和表单路径
与重定向相同,都是
客户端路径!需要添加项目名
<form action="/day10_1/AServlet">
<a href="/day10_/AServlet">
<a href="AServlet">,如果不以“/”开头,那么相对当前页面所在路径。如果是http://localhost:8080/day10_1/html/form.html。
即:http://localhost:8080/day10_1/html/ASevlet
建立使用以“/”开头的路径,即绝对路径!
服务器端路径(项目内,无需添加项目名)
<url-pattern>(Servlet路径)- 请求转发和请求包含
- ServletContext获取资源等
Servlet路径
web.xml中<url-pattern>路径,(叫它Servlet路径!)
要么以“*”开关 (慎用)
要么为“/”开头 (推荐)
转发和包含路径
以“/”开头:相对当前项目路径,例如:http://localhost:8080/项目名/ request.getRequestdispacher("/BServlet").forward(); (
推荐)
不以“/”开头:相对当前Servlet路径。 request.getRequestdispacher("/BServlet").forward();,
假如当前Servlet是:http://localhost:8080/项目名/servlet/AServlet,
就是http://localhost:8080/项目名/servlet/BServlet
ServletContext获取资源路径
相对当前项目目录,即当然index.jsp所在目录
ClassLoader获取资源路径(类加载器)
相对classes目录,不能以/开头
任何一个类得到ClassLoader :xxx.class.getClassLoader();
Class获取资源路径
以“/”开头相对classes目录
不以“/”开头相对当前.class文件所在目录。
更多推荐



所有评论(0)