关于String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

关于

String path = request.getContextPath();

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

String basePath=http://localhost:8080/ 等同

开始学java的时候看不懂为什么这么写,今天复习的时候才搞懂:这个语句是用来拼接当前网页的相对路径的。

<base herf="...">从来表明当前页面的相对路径所使用的根路径,也就是项目名称
比如,页面内部有一个连接,完整的路径应该是 http://localhost:80/Info_System/user/user_info.jsp
其中http://server/是服务器的基本路径,Info_System是当前应用程序的名字,那么,我的根路径应该是那么http://localhost:8080/Info_System/。
 
用这个base,服务器就可以动态的将指定路径和页面的相对路径拼装起来,形成完整的路径。
  1.request.getSchema();可以返回当前页面所使用的协议,就是"http"
  2.request.getServerName();返回当前页面所在服务器的名字,就是上面例子中的"localhost"
  3.request.getServerPort();返回当前页面所在服务器的端口号,就是上面例子中的"8085"
  4.request.getContextPath();返回当前页面所在的应用的名字,就是上面例子中的"Info_System"
当前页面路径是:http://localhost:80/Info_System/uploadAttachs/attachs_list.jsp
根据上面的介绍,那么我在当前页面中有跳转为: <li><a href="<%=basePath%>user/user_info.jsp" class="information_off"></a></li>就应该这样写。

转载于: https://blog.csdn.net/haocm66/article/details/52998785

原文地址:https://www.cnblogs.com/blacka/p/11493331.html

时间: 2024-10-10 20:26:51

关于String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";的相关文章

Struts2中 Path (getContextPath与basePath)

struts2中的路径问题是根据action的路径而不是jsp路径来确定,所以尽量不要使用相对路径. 虽然可以用redirect方式解决,但redirect方式并非必要.解决办法非常简单,统一使用绝对路径.(在jsp中用request.getContextpath方式来拿到webapp的路径)或者使用myeclipse经常用的,指定basePath 例子: <?xml version="1.0" encoding="GB18030" ?> <%@

String path = request.getContextPath();这段什么用

<% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>答:这样的代码是在jsp里出现的吧, 那么他的含义就是为了得到一个路径, 做动态网站时,需要提交form表单 在表单的action里面就

String basePath = request.getScheme()+&quot;://&quot;+request.getServerName()+&quot;:&quot;+request.getServerPort()作用

问:有这样的语句 : String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; <base href="<%=basePath%>"> 答:这个语句是用来拼装当前网页的相对

request.getcontextPath() 详解

<%=request.getContextPath()%>是为了解决相对路径的问题,可返回站点的根路径. 但不用也可以,比如<a href="<%=request.getContextPath()%>/catalog.jsp">,可以直接用<a href="catalog.jsp">也行,这两个文件是在同一个目录下的.比如你要生成一个文件放在服务器上得一个目录下,可以使用request.getContextPath()

request.getContextPath()的功能

<% String contextPath = request.getContextPath();  // 得到项目的名字 com.chint.until.SessionInfo sessionInfo = (com.chint.until.SessionInfo) session.getAttribute("sessionInfo"); %> 在JSP中有html.js.java这三种语言,其中的java,被称之为java代码片段,<%  java代码片段 %>

request.getContextPath()返回值问题

转自:http://blog.sina.com.cn/s/blog_6cbe0cff0101j6jl.html request.getContextPath()是在开发Web项目时,经常用到的方法,其作用是获取当前的系统路径. 当使用Tomcat作为Web服务器,项目一般部署在Tomcat下的webapps的目录下.具体来说主要用两种部署的路径: 一是将web项目中的webRoot下的文件直接拷贝到webapps/ROOT下(删除ROOT下的原有文件): 另一中方法在Tomcat下的webapp

JSP之项目路径问题(${pageContext.request.contextPath},&lt;%=request.getContextPath()%&gt;以及绝对路径获取)

本随笔这是作为一个记录使用,以备后查.项目完成之后本地部署OK,本地Linux部署OK,都可以正常的访问,可是当我把它部署到服务器上面的时候,首页可以正常访问,可是当发出请求的时候却报错误了,说找不到定义的请求.我很纳闷,本地都OK为什么只有在服务器才能找不到请求.不过按照常理我还是一步一步的来开始排错. 第一步,查看项目部署成功,和部署路径无关,OK. 第二步,查看web.xml以及struts的请求配置,完全OK,没有问题. 第三步,既然部署没有问题,请求配置都OK,如果不是机器的原因那么只

jsp中【&lt;%=request.getContextPath()%&gt;】项目路径

1 2 "request.getContextPath()的值是        "<%=request.getContextPath()%><br/> "pageContext.request.contextPath的值是   "${pageContext.request.contextPath}<br/> 通过运行我们发现了<%=request.getContextPath()%>和${pageContext.req

关于request.getContextPath的路径问题

今天在写项目的时候,为了测试整体的流程,写了简单的界面,然后发现在首页的时候没有问题,但是在进行登录的时候,浏览器提示404,看了一下请求路径 http://localhost:8080/$%7Bpath%7D/user/toLogin 很明显中间有乱码的错误,我查看了代码,发现我controller那里的路径映射有问题,所以把乱码那部分删除了,结果是可以看到登录页面的,所以问题应该出现在这个路径上面 这里是原请求路径 <h3> <a href="${path}/user/to