Web应用中路径问题

绝对路径:指无法改变的路径,根据给出的路径可以准确定位的路径。(带访问协议的路径)
本地据对路径:带有盘符的路径。如:E:\BaiduNetdiskDownload(对于本地路径,其实质是省略了file协议,带协议实际路径为:file:///E:\BaiduNetdiskDownload)
网络绝对路径:带网络访问协议(如http)的路径。


相对路径:指参照路径的不同,给出路径的实际路径可以发生改变的路径。
双斜杠开头的相对路径根据路径所在文件的不同,分为两种:
(1)前台相对路径:由浏览器解析执行的代码中所包含的路径。前台相对路径的参照路径是web服务器的根路径(http://127.0.0.1:8080/
(2)后台相对路径:由服务器解析执行的代码及文件中所包含的路径。后台相对路径的参照路径是web应用的根路径(http://127.0.0.1:8080/application/
不以斜杠开头的相对路径:无论前后台路径,参照路径都是当前资源的访问路径,而不是资源保存路径。


web应用中,action=”test/login.acion”这种请求路径时,如果返回当前页面会出现浏览器路径显示重复或无法找到action路径问题发生(因为参照路径问题),有如下解决:
1、在test前加 /web应用名/
2、用EL获取上下文路径

${pageContext.request.contextPath }/test/login.acion

3、自定义路径,使action的路径访问参照这个basePath

<%
String path = request.getContextPath();
String basePath  = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

在< head>< /head>标签里加如下:

<base href="<%=basePath%>">

猜你喜欢

转载自blog.csdn.net/qq_34866380/article/details/79660735
今日推荐