JSP页面中的${pageContext.request.contextPath }是什么意思?优缺点?

此答案为转载过来的,我是作为笔记,如有侵权,请原谅;

优点:     它的作用是取出部署应用程序的名字,这样不管如何部署,所用的路径都是正确的。(得到的是一个绝对路径)

缺点:其他工具无法正确解析它

什么是当前的项目名称呢? 
假定你的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表达式来替代类似有“<%%>”这样的代码格式 
————————————————
版权声明:本文为CSDN博主「宋先生的客栈」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/KO_612/article/details/96621521

猜你喜欢

转载自www.cnblogs.com/xie-qi/p/12984547.html