在jsp的初学过程中,我们很有可能会遇到url的错误,在进行设置的时候,有的绝对路径,有的相对路径,在这里我总结了一点想法:
所有的面对浏览器端的,就是绝对路径,面对服务器的就是相对路径。
比如我们的超链接,表单的提交的等都是面对与浏览器的,所以我们经常会用绝对路径
比如我们在jsp中经常用到的<jsp:forward>, request.getRequestDispatcher("new.jsp").forward(request, response);请求转发,和response.sendRedirect("new.jsp")请求重定向,都是使用的相对路径。
我们不能每个页面需要绝对路径都写上绝对路径一般的的错误都是出现在绝对路径那里,我一般会设置这个页面的基础路径
<% String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()
+ request.getContextPath() + "/"; %>
<base href="<%=basePath %>">
这句代码就表示我的基础路径就是http//:localhost:8080/所在上下文(一般为项目名)绝对路径可以写为new.jsp
但是只是到如此了吗,不是的,有的时候我们的页面在项目的文件中的某个jsp页面中,要加上文件的路径。
本人为初学者,有神魔问题欢迎探讨。