
两种方式
1
EL表达式
${pageContextrequestscheme}${'://'}${pageContextrequestserverName}${':'}${pageContextrequestserverPort}${pageContextrequestcontextPath}
2
java小脚本
<%=requestgetScheme()+"://"+requestgetServerName()+":"+requestgetServerPort()+requestgetContextPath() %>
request对象通过以下方法来获取请求路径,如下所示:
String getServerName():获取服务器名,localhost;
String getServerPort():获取服务器端口号,8080;
String getContextPath():获取项目名,/Example;
String getServletPath():获取Servlet路径,/AServlet;
String getQueryString():获取参数部分,即问号后面的部分:username=zhangsan
String getRequestURI():获取请求URI,等于项目名+Servlet路径:/Example/AServlet
String getRequestURL():获取请求URL,等于不包含参数的整个请求路径:>
<%=requestgetContextPath()%>是解决相对路径的问题,可返回站点的根路径。
<a href="<%=requestgetContextPath()%>/XXXjsp"> //这样获得的是绝对路径
<a href="XXXjsp"> //这样获得的是相对路径
<a href="<%=requestgetContextPath()%>/XXXXjsp"> 能够更有效的防治连接的失效。
requestgetContextPath()得到的是项目的名字,如果项目为根目录,则得到一个"",即空的字条串,
如果项目为dzjc, <%=requestgetContextPath()% >/ 将得到dzjc/,服务器端的路径则会自动加上,
<a href="XXXjsp"> 应该就是指当前路径下的这个xxxjsp页面,有时候也可以在head里设置html:base
来解决路径的问题,不过用的最多的还是requestgetContextPath。
用EL来表示相同功能的EL为:${pageContextrequestgetContextPath()}
requestgetScheme();
返回的协议名称,默认是>
ajax直接选择这种方法,超简单。
jsp:
<input type="text" id="username">
js:
$(document)ready(function(){
$post("logindo", //servlet: @WebServler("/logindo")
{"username",$("#username")val() }, //传值
function(data){
//回调函数, 想了解回调函数可以上网查,也可以私聊我
},
"json"
)
})
servlet:
doPost:
String username = reqgetParaneter("username");
jsp的相对路径就是在地址栏就可以看到了。至于你说的绝对路径的话你可以通过
String path=applicationgetRealPath(requestgetRequestURI());
String dir=new javaioFile(path)getParent();
outprintln("dir);
这个在页面中打印出来就可以看到了。
以上就是关于在jsp页面中怎样用java语句或者EL表达式获得项目的完整路径全部的内容,包括:在jsp页面中怎样用java语句或者EL表达式获得项目的完整路径、java request 如何取到发送请求的地址是什么、在jsp当中定义String path = request.getContextPath(); 点击request查询信息时找不到路径,等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)