JSP中path与basePath的区别

在一般的JSP页面中,我们经常可以看到如下代码:

< %
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
在很多地方,我们往往需要用到path和basePath的值,比如在JavaScript外部文件的引入,站点文件目录的引入等,如果不采用这两个变量,则会给我们带来许多麻烦,比如: JSP src属性测试结果 ,这里我们采用以下测试代码对这两个值进行测试:

< %@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
< %
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
 
< !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
 
    <script type="text/javascript" src="<%=path%>/javascript/public.js"></script>
    <title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	</meta><meta http-equiv="cache-control" content="no-cache">
	</meta><meta http-equiv="expires" content="0">    
	</meta><meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	</meta><meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </meta></base></head>
  <script type="text/javascript">
  	function doSubmit()
  	{
  		alert('< %=path%>');
  		alert('< %=basePath%>');
  		var randString = randomString(10);
  		alert(randString);
  	}
  </script>
  <body> 
    This is my JSP page.... <br /><br />
    <input type="button" value="随机数测试" id = "randButton" onclick="doSubmit()"/>
  </body>
</html>

以上代码的作用是当点击页面中的随机数测试按钮时,先后弹出以下内容:

/test

http://localhost:8080/test/

zzV7xmdVFJ

从上到下依次为path的值、basePath的值和所生成的十位随机数,其中随机数生成函数在文件WebRoot/javascript/public.js里,这里该JavaScript还可以用以下方式引入:

<script type="text/javascript" src="<%=basePath%>javascript/public.js"></script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值