前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaWeb开发中的文件访问路径

JavaWeb开发中的文件访问路径

作者头像
卡尔曼和玻尔兹曼谁曼
发布2019-01-25 15:19:18
1.9K0
发布2019-01-25 15:19:18
举报

服务器端地址

服务端的地址指的是相对于你的Web应用的地址,这个地址是在服务器端解析的(不同于HTML和JavaScript中的地址,他们是在浏览器端解析的),也就是说这时候在JSP和Servlet中的相对地址应该是相对于你的Web应用,即相对于http://localhost:8080/WebApp/的。

其用到的地方有:forward

Servlet中的request.getRequestDispatcher(address);这个address是在服务器端解析的,所以如果要forward到login.jsp应该这样写:request.getRequestDispatcher("/user/login.jsp");其绝对地址是http://localhost:8080/WebApp/user/login.jsp。

在Servlet中,“/”表示Web应用根目录,和物理路径的相对表示。“./”表示当前目录,“../”表示上级目录,以此类推。

此外,Servlet和JSP中获得文件路径:1. JSP中获得当前应用的相对路径和绝对路径 根目录所对应的绝对路径:request.getRequestURI(); 文件的绝对路径:application.getRealPath(request.getRequestURI()); 当前web应用的绝对路径:application.getRealPath("/"); 取得请求文件的上层目录:newFile(application.getRealPath(request.getRequestURI())).getParent(); 2. Servlet中获得当前应用的相对路径和绝对路径 根目录所对应的绝对路径:request.getServletPath(); 文件的绝对路径:request.getSession().getServletContext().getRealPath(); 当前web应用的绝对路径:servletConfig.getServletContext().getRealPath("/");

客户端的地址

所有的HTML页面中的相对地址都是相对于服务器跟目录(http:localhost:8080/)的,而不是根目录下的Web应用目录http://localhost:8080/WebApp/。

HTML中的form表单的action属性的地址应该是相对于服务器根目录http://localhost:8080/的,所以提交到loginjsp的路径应该为:action="/WebApp/user/login.jsp"。

JavaScript也是在客户端解析的,所以其相对路径和form表单一样。

所以一般情况下,在HTML页面中引用的CSS和JS还有表单的action属性前面都最好加上应用的名称。另外,尽量避免使用'./'和".//"等相对路径。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014年04月14日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档