jsp访问路径的解决方法可经过EL表达式、jsp中的java语言所提供的方法、DHTML.js所提供的方法等javascript
如源代码所示:html
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>jsp访问路径</title>
</head>
<body onload="load()">
<div>
<h1>jsp访问路径的解决方法</h1>
<h2>方法一:经过EL表达式获取路径值</h2>
method one(EL):<br>
${header['host']}${pageContext.request.contextPath}
<h2>方法二:经过DHTML.js里提供的方法(建立javaee项目时,js插件默认已有)</h2>
<p id="p_id"></p>
<h2>方法三:经过jsp中的java语言</h2>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+
":"+request.getServerPort()+path+"/";
%>
<span>
method three(java):
<br><%=basePath%>
<br><%=path%>
</span>
</div>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.js"></script>
<script type="text/javascript">
function load(){
var curPath = window.document.location.href;
var pathName = window.document.location.pathname;
var port = window.document.location.port;
var hostname = window.document.location.hostname;
var host = window.document.location.host;
$("#p_id").html("method two(js):"+
"<br>curPath:"+curPath+ //访问当前界面绝对路径
"<br>pathName:"+pathName+ //从项目名开始算起
"<br>port:"+port+ //tomcat部署的端口号
"<br>hostname:"+hostname + //主机名和端口号
"<br>host:" + host);//主机名
}
</script>
</body>
</html>java
picture:jquery
Methods in DHTML.js:tomcat
其中jsp
/** @type {string} 使用注解声明string类型 */ Location.prototype.hostname = null; //对应window.document.location.hostname;
注:方法是多种多样的,无论采用哪一种,只要能解决jsp访问路径的问题便可(若要对应本身的项目路径,建议可经过String所提供的分割或替换的方法处理)ui