JavaWeb 项目中各种路径的问题和总结

1.关于包和转发的路径:

都是用的相对路径。包和源码的文件夹是以类路径为基准(无'/'),转发和请求访问路径是以WebRoot下的路径为基准(有'/')

eg:  

        request.getDispatcher("/WEB-INF/jsps/hello.jsp").forward(request,response)  或者  @RequestMapping("/register.do")

 

2.在JSP页面中引用css和js文件,以及表单提交后的action="" src=""等

  可以用相对路径和绝对路径,但是保险起见,个人习惯也是用的绝对路径,不然文件夹或者资源更改位置后需要花精力去改动相对路径。如果对相对路径理解不到位,用绝对路径的全路径是最安全

绝对路径:(全路径)本站内:${pageContext.request.contextPath}/ +  WebRoot下的路径   

                                    外部网站:  http://ip地址。。。(url)

                   (省略路径,只适用于本站内)  "/" + WebRoot下的路径

                       注意:省略路径这种用法也会有人理解成是以WebRoot为根的相对路径,但于新手来说着实是误导

相对路径:  是相对于当前资源的位置。

                前面不可以加'/' ,例如:action="index.do"使用相对路径的话前面是不能有斜杠的。或者你也可以尝试使用"./index.do"

                如果要返回上一级路径,则使用"../"

 

*****在请求中的相对路径问题******

如果资源请求是从浏览器开始转发,则相对路径的根是:http地址栏的上一级。

如果是已经从浏览器转发请求到A.jsp页面,而A.jsp页面中通过或者再去请求其他资源,由于这属于服务器行为,相对路径的根是:请求A.jsp页面的url的上一级。

window.location.href属于服务器行为,不从地址栏判断相对路径,href则属于浏览器行为。

 

你可能感兴趣的:(版本,规范)