我们从以下几点设计路径问题来讲解:
1 web.xml中配置的路径
2 请求转发和请求包含
3 重定向
4表单和超链接
我们从这四点出发,基本上都有两种可能书写的路径,即绝对路径和相对路径
one by one
2 请求转发和请求包含路径的问题
当我们调用request.getRequestDispatcher("path")时
以“/”开头:相对当前项目路径,例如:http://localhost:8080/项目名/ request.getRequestdispacher("/BServlet").for...();相当于http://localhost:8080/项目名/BServlet
不以“/”开头:相对当前Servlet路径。 request.getRequestdispacher("BServlet").for...();,假如当前Servlet是:http://localhost:8080/项目名/servlet/AServlet, 就是http://localhost:8080/项目名/servlet/BServlet
当是我们应该用第一种,这样的话当当前路径改变了,被转发或包含的路径不会有影响。
3 重定向(客服端路径)
以“/”开头:相对当前主机,例如:http://localhost:8080/, 所以需要自己手动添加项目名,例如;response.sendRedirect("/day10_1/Bservlet");
当不以“/”开头:那么相对当前页面所在路径。如果是http://localhost:8080/day10_1/html/form.html。 即:http://localhost:8080/day10_1/html/ASevlet
4 表单和超链接
和重定向相同
3,4我们同样推荐使用/开头。