---javaWeb中的相对路径和绝对路径
2016-08-13 18:05
387 查看
问题
javaweb中,在表单的action,超链接,web.xml中的servlet-mapping的url-pattern,以及请求的装发,重定向都需要填写对应的路径。填写这些路径大致有两种方式,相对路径和绝对路径。在一般情况下,填写绝对路径肯定没有问题,但是填写相对路径就会出现问题。例子:例如在WebRoot下有一个a.jsp和一个文件夹path,path下面有b.jsp和c.jsp,
a.jsp:
<h2>AAA page</h2> <a href="path/b.jsp">TO BBB page</a>
b.jsp:
<h2>BBB page</h2> <a href="c.jsp">To CCC page</a>
c.jsp:
<h2>CCC page</h2>
这样访问是没什么问题的,当添加一个servlet,a.jsp中改为
<a href="testServlet">To BBB page</a>再在testServlet中转发到b.jsp时候,若在b.jsp中再去访问c.jsp就会出现问题。由servlet转发过去到jsp页面时显示的是servlet的url-pattern,这个时候jsp页面访问相对路径的其他资源时,就会出现路径混乱的问题。
绝对路径
编写绝对路径可以解决这种路径混乱的问题.绝对路径
相对路径是指相对于某个基准目录的路径,而绝对路径在javaweb中指得是相对于当前web应用的上下文路径。例如http://localhost:8080/WebApp10/a.jsp
“/”代表什么
需要交给servlet容器来处理的时候,代表当前应用的根路径请求转发时
request.getRequestDispatcher("path/b.jsp").forward(request, response);
web.xml中的servlet访问路径
<servlet-mapping> <servlet-name>TestServlet</servlet-name> <url-pattern>/testServlet</url-pattern> </servlet-mapping>
需要交给浏览器类处理的时候,代表web站点的根路径
请求重定向时
response.sendRedirect("/b.jsp");
表单中的action
<form action="/xxx.jsp"></form>
超链接
<a href="c.jsp">To CCC page</a>
编写绝对路径
如果/代表的是当前web站点的根目录,只需要在前面加上ContextPath就可以,在servlet中ContextPath可以由request.getContextpath()获取,在jsp中可以由application.getContextPath()获取。相关文章推荐
- java(Web)中相对路径,绝对路径问题总结
- java(Web)中相对路径,绝对路径问题总结
- java(Web)中相对路径,绝对路径问题总结
- java(Web)中相对路径,绝对路径问题总结
- java web相对路径 绝对路径详解
- java(Web)中相对路径,绝对路径问题总结
- java(Web)中相对路径,绝对路径问题总结
- Java Web开发、插件开发、EclipseRCP中相对路径/绝对路径总结
- java(Web)中相对路径,绝对路径问题总结
- java(Web)中相对路径,绝对路径问题总结
- java(Web)中相对路径,绝对路径问题
- java(Web)中相对路径,绝对路径问题
- java(Web)中相对路径,绝对路径问题
- javaweb中的绝对路径和相对路径
- java(Web)中相对路径,绝对路径问题总结
- java(Web)中相对路径,绝对路径问题总结
- java(Web)中相对路径,绝对路径问题
- java(Web)中相对路径,绝对路径问题
- java(Web)中相对路径,绝对路径问题总结
- java(Web)中相对路径,绝对路径问题总结