Web应用中路径问题
程序员文章站
2022-05-09 23:37:46
...
绝对路径:指无法改变的路径,根据给出的路径可以准确定位的路径。(带访问协议的路径)
本地据对路径:带有盘符的路径。如: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%>">