Java路径问题总结

2016-08-30  本文已影响125人  capo

  1.Servlet路径

在Web.xml文件中配置映射路径时Servlet的访问路径要么以“/”开头,要么以“*”开头,但是在Servlet中,现在很少使用“*”开头,在后面将要学习的过滤器中会使用它来匹配要过滤的资源

2.请求转发(请求包含)

a.以“/”开头:

相对当前项目路径,即:http://localhost:8080/项目名,例如:request.getRequestDispatcher(“/BServlet”)表示转发或包含路径为http://localhost:8080/项目名/BServlet的Servlet。

注意:如果访问的是WEB-INF下面的资源一定要在转发前加上 WEB-INF,不然会报404.

例如转发到:result.jsp页面

req.getRequestDispatcher("WEB-INF/jsp/result.jsp").forward(req, resp);

b.不以“/”开头:

相对当前Servlet的路径,例如:当前Servlet是AServlet,访问它的路径为http://localhost:8080/项目名/servlet/AServlet,那么request.getRequestDispatcher(“BServlet”)就相当于,转发或包含路径为http://localhost:8080/项目名/servlet/BServlet的Servlet。

3.重定向路径

重定向路径是客户端路径,只要是客户端路径都需要加上项目名,否则找不到将要访问的资源。

l路径要以“/”开头

以“/”开头,相对当前主机,即http://localhost:8080,所以路径上要加上项目名,如:response.sendRedirect(“/Example/Servlet”),对应的路径就是:http://localhost:8080/Example/Servlet。

4.页面表单和超链接路径

页面中的超链接和表单路径和重定向路径一样,也是客户端路径,因此路径中要加上项目名。例如:

<form action="/Example/AServlet"></form>

 <a href="/Example/AServlet"></a>

5.ServletContext获取资源路径

ServletContext获取资源路径使用的方式是getRealPath(String path),该方法获取的是应用发布到Tomcat安装目录下的webapps目录中的根目录,如:servletContext.getRealPath(“/”)返回的路径就是D:\apache-tomcat-7.0.42\webapps\项目名

上一篇 下一篇

猜你喜欢

热点阅读