初学JSP的页面自带代码解读

318 查看

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<base href="<%=basePath%>">

    初学jsp时发现,每次新建一个jsp都会有这么几句话,如果很好奇做了一下整理一同分享给大家,分三步

1.
String path = request.getContextPath();
是为了解决文件绝对路径的

request.getContextPath()应该是得到项目的名字,如果项目为根目录,则得到一个"",即空的字条串, 

如果项目为abc, <%=request.getContextPath()% >/ 将得到abc/,服务器端的路径则会自动加上。
如果不加这句话
那么
<a href="XXXX.jsp"> 应该就是指当前路径下的这个xxx.jsp页面

2.
request.getScheme() :

返回当前链接使用的协议;比如,一般应用返回http;SSL返回https;

request.getServerName()可以返回当前页面所在的服务器的名字;

request.getServerPort()可以返回当前页面所在的服务器使用的端口,就是80;

request.getContextPath()可以返回当前页面所在的应用的名字;

  1. <base href="<%=basePath%>">

base标记是一个基链接标记,是一个单标记。用以改变文件中所有连结标记的参数内定值。它只能应用于标记<head>与</head>之间。
你网页上的所有相对路径在链接时都将在前面加上基链接指向的地址。

重要属性:
href
设定前缀的链接地址

target
设定文件显示的窗口,同a标记中的target