1,在jsp页面中,经常会有这样的代码:
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"+request.getServerName() + ":" + request.getServerPort()+ path +"/";
%>
上面的代码中,
String path = request.getContextPath() 获取的是项目的名称
request.getScheme() 返回的协议名称,默认是http
request.getServerName() 返回的是你的服务器名称,一般就是localhost
request.getServerPort() 获取服务器端口号
综上:basePath 赋值为 http://localhost:8080/项目名
2,第2个代码:
<head>
<base href="<%=basePath%>">
</head>
指的是基链接,注意:它必须写在<head></head>标签中
其作用是:如果在<body>中添加了超链接<a href="login.jsp">demo</a>,则在点击超链接时,超链接对应的地址是:
http://localhost:8080/项目名/login.jsp
当然,这个base还有一个用法,如在head部分加上这么一行:<base href="_blank">,就是默认所有链接在新窗口打开。
3,第3个代码
<jsp:include file="a.jsp" />是在编译时加入,所谓静态,就是在编译的时候将a.jsp的代码加入进来在编译,之后运行.
<jsp:include page="a.jsp"/>是在运行时加入,所谓动态,就是单独编译,在运行时候加入进来,之后显示,这种include,可以传递参数