您的位置:首页 > 产品设计 > UI/UE

使用request.getContextPath()可以获得上下文资源, 那么什么是上下文资源? 使用上下文资源有什么作用?

2018-01-16 08:46 483 查看
获取当前项目根地址

比如你现在的URL是192.1.1.1:8080/my/index.jsp
tomcat配置的当前项目访问地址是192.1.1.1:8080/my
request.getContextPath()得到的就是192.1.1.1:8080/my

上下文就是服务器上的一个路径,这个路径是存在服务器内存中的,你可以下路径中添加信息,然后根据路径和键值去找这个信息。

优点:     它的作用是取出部署应用程序的名字,这样不管如何部署,所用的路径都是正确的缺点:其他工具无法正确解析它什么是当前的项目名称呢? 
假定你的web application 名称为test,这个test就是当前的项目名称,不过你在浏览器中输入请求路径时,如: 
http//:localhost:8080/test/hello.jsp 
${pageContext.request.contextPath}或<%request.getContextPath%>就是从这个请求路径(URL)上截取(是截取)---->  /test   看清楚,前面是有"/",而这个“/”代表的是-->"http//:localhost:8080",看清楚这里是没有"/"的! 
所以才有了网上那些文章写的,如果我们: 
<form action="${pageContext.request.contextPath}/hello.jsp">这样写路径永远对,当然对了,因为你自己翻译${pageContext.request.contextPath}/hello.jsp其中的含义,不就是 
http//:localhost:8080/test/hello.jsp  相当于你写了一全路径!当然前提是你的JSP页面等等必须放置的位置正确才可以---->所以才说明路径永远正确 

为什么这么要做呢?因为学过一些MVC模式的程序员都知道,JSP的作用是用来显示的(表现的),其他的作用最好不要在这个页面上显示,尤其是Java代码!所以就用EL表达式来替代类似有“<%%>”这样的代码格式 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: