您的位置:首页 > 产品设计 > UI/UE

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()

2018-02-27 22:02 459 查看

1.问题

问:一般来说,在web项目的jsp页面顶部中都有这样的语句:

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


然后jsp页面中一般引入写这样:

<base href=”<%=basePath%>”>

答:这个语句是用来拼装当前网页的相对路径的。

<base href=”…”>是用来表明当前页面的相对路径所使用的根路径的。
比如,页面内部有一个连接,完整的路径应该是 http://localhost:80/myblog/authen/login.do
其中http://server/是服务器的基本路径,myblog是当前应用程序的名字,那么,我的根路径应该是那么http://localhost:80/myblog/

有了这个<base … >以后,我的页面内容的连接,我不想写全路径,我只要写 authen/login.do就可以了。服务器会自动把<base …>指定的路径和页面内的相对路径拼装起来,组成完整路径。
如果没有这个<base…>,那么我页面的连链接就必须写全路径,否则服务器会找不到。

request.getSchema()可以返回当前页面使用的协议,就是上面例子中的“http”
request.getServerName()可以返回当前页面所在的服务器的名字,就是上面例子中的“localhost”
request.getServerPort(
4000
)可以返回当前页面所在的服务器使用的端口,就是80,
request.getContextPath()可以返回当前页面所在的应用的名字,就是上面例子中的myblog
这四个拼装起来,就是当前应用的跟路径了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐