jsp中获得路径的两种方法和获得url路径的方法(推荐)

<%=request.getContextPath()%>是解决相对路径的问题,可返回站点的根路径。

<a href="<%=request.getContextPath()%>/XXX.jsp"> //这样获得的是绝对路径

<a href="XXX.jsp"> //这样获得的是相对路径

<a href="<%=request.getContextPath()%>/XXXX.jsp"> 能够更有效的防治连接的失效。

request.getContextPath()得到的是项目的名字,如果项目为根目录,则得到一个"",即空的字条串, 如果项目为dzjc,<%=request.getContextPath()% >/ 将得到dzjc/,服务器端的路径则会自动加上, <a href="XXX.jsp"> 应该就是指当前路径下的这个xxx.jsp页面,有时候也可以在head里设置html:base来解决路径的问题,不过用的最多的还是request.getContextPath。

如果想得到工程文件的实际物理路径,可通过:<%=request.getRealPath("/")%>,这样页面就会输出:d:\web\

现在request.getRealPath("") 这个方法已经不推荐使用了,可以使用

this.getServletContext().getRealPath("/") 得到工程文件的实际物理路径,也就是绝对地址获得uri路径的方法这个方法是

HttpServletRequest的装饰类HttpServletRequestWrapper中方法(运用的是装饰模式)String url=request.getRequestURI();

System.out.println(url); //输出 /2/LoginServlet 项目名称+当前执行页面的url

以上这篇jsp中获得路径的两种方法和获得url路径的方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • JSP struts2 url传参中文乱码解决办法

    JSP struts2 url传参中文乱码解决办法 1.设置struts.xml <constant name="struts.i18n.encoding" value="UTF-8" /> 或是设置struts.properties(我自己没试过) struts.i18n.encoding=UTF-8 2.在web.xml添加编码过滤器 <filter> <filter-name>characterEncodingFilter&

  • JSP对URL链接中的中文乱码处理方法总结

    IE缺省对URL后面的参数是不编码发送的,但是Tomat缺省是按ISO8859-1来进行URL编码的,因此才会出错. 方法一: 对URL链接进行二次编码: <a onclick="javascript:window.open(encodeURI(encodeURI('./DispatchAction.do?efFormEname=FKRY0001&code_type=中文参数')))">测试</a> 或者单独对参数进行二次编码: var code_typ

  • jsp获取url路径的方法分析

    本文实例讲述了jsp获取url路径的方法.分享给大家供大家参考,具体如下: 如果你请求的URL是  http://localhost:8080/demo/Index.jsp request.getScheme() //输出:http request.getServerName() //输出: localhost request.getServerPort() //输出: 8080 request.getContextPath() //输出: /demo request.getRequestPat

  • jsp Request获取url信息的各种方法对比

    从Request对象中可以获取各种路径信息,以下例子: 假设请求的页面是index.jsp,项目是WebDemo,则在index.jsp中获取有关request对象的各种路径信息如下 String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+&q

  • 在jsp页面如何获得url参数

    当一个url过来时,如:http://localhost:8080/pro/demo/hello.jsp?name=john,在hello.jsp页面,我们可以这样得到name的值: 复制代码 代码如下: <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getSer

  • javascript通过url向jsp页面传递中文参数导致乱码解决方案

    2013-1-16 10:35:49 org.apache.tomcat.util.http.Parameters processParameters 警告: Parameters: Character decoding failed. Parameter 'id' with value '%u8BA2%u5355' has been ignored. Note that the name and value quoted here may corrupted due to the failed

  • jsp中URL传递中文参数的处理方法

    在页面的url中使用encodeURI(encodeURI(中文)),对中文进行编码,并在服务器的java程序中使用URLDecoder.decode(中文, "UTF-8")进行解码即可; 如果url中需要传递+.#.?等特殊符号,可以使用encodeURIComponent(encodeURIComponent(中文)),服务器解码方法跟encodeURI的解码相同.

  • JSP中js传递和解析URL参数以及中文转码和解码问题

    1.传递参数: 复制代码 代码如下: var pmt = 'sensor='+ encodeURI(encodeURI(sensor))+'&device='+encodeURI(encodeURI(device))+'&instrument='; pmt += encodeURI(encodeURI(instrument))+'&n='+n+'&addDate='+addDate; top.location.href = 'jsp/print/diagnosticAnaP

  • jsp中获得路径的两种方法和获得url路径的方法(推荐)

    <%=request.getContextPath()%>是解决相对路径的问题,可返回站点的根路径. <a href="<%=request.getContextPath()%>/XXX.jsp"> //这样获得的是绝对路径 <a href="XXX.jsp"> //这样获得的是相对路径 <a href="<%=request.getContextPath()%>/XXXX.jsp"

  • python3中获取文件当前绝对路径的两种方法

    方法1: import sys print(sys.argv) 得到文件当前绝对路径字符串的一个列表 ['D:/pycharm/PracticeProject/ClientServerNetworking.py'] 方法2: import os print(os.getcwd()) print(os.listdir()) print(os.path.join(os.getcwd(),os.listdir()[1])) D:\pycharm\PracticeProject ['.idea', 'C

  • springMVC使用jsp:include嵌入页面的两种方法(推荐)

    1.静态嵌入子页面 <%@ include file="header.jsp" %> 静态嵌入支持 jsp . html . xml 以及纯文本. 静态嵌入在编译时完成,相当于直接将子页面的文本插入到 include 标签所在的位置.子页面可直接使用父页面中的变量. 2.动态嵌入子页面 使用 jsp:include 时必须设置 flush 属性为 true . <jsp:include page="/main/header.jsp" flush=&

  • 详解vue-cli中模拟数据的两种方法

    在main.js中引入vue-resource模块,Vue.use(vueResource). 1.使用json-server(不能用post请求) 接下来找到build目录下的webpack.dev.conf.js文件,在const portfinder = require('portfinder')后面引入json-server. /*引入json-server*/ const jsonServer = require('json-server') /*搭建一个server*/ const

  • js删除Array数组中指定元素的两种方法

    本节内容: js删除Array数组中指定元素 方法一, /* * 方法:Array.remove(dx) 通过遍历,重构数组 * 功能:删除数组元素. * 参数:dx删除元素的下标. */ Array.prototype.remove=function(dx) { if(isNaN(dx)||dx>this.length){return false;} for(var i=0,n=0;i<this.length;i++) { if(this[i]!=this[dx]) { this[n++]=

  • ThinkPHP中Widget扩展的两种写法及调用方法详解

    本文实例讲述了ThinkPHP中Widget扩展的两种写法及调用方法.分享给大家供大家参考,具体如下: Widget扩展一般用于页面组件的扩展,在页面根据需要输出不同的内容,下面介绍一下ThinkPHP中Widget的两种写法及调用 写法一: ArticlWidget.class.php文件: class ArticleWidget extends Widget { /** * * @param array $data * @return type * 调用方法:{:W('ArticleList

  • Java web开发中加载图片路径的两种方式

    (1)   src="/image/1_it.jpg" (2)   src="http://localhost:8080/image/1_it.jpg" 其中localhost可以换位你的电脑IP,端口号也要相应改变. 以上均在基于编译器idea以及tomcat服务器开发的web中测试可行!都是要先定位到项目的位置! 以上所述是小编给大家介绍的Java web开发加载图片路径的两种方式,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

  • java 中ArrayList迭代的两种实现方法

    java 中ArrayList迭代的两种实现方法 Iterator与for语句的结合来实现,代码很简单,大家参考下. 实现代码: package cn.us; import java.util.ArrayList; import java.util.Iterator; //ArrayList迭代的两种方法 //Iterator与for语句的结合 public class Test1 { public static void main(String[] args) { ArrayList arra

  • Python实现删除排序数组中重复项的两种方法示例

    本文实例讲述了Python实现删除排序数组中重复项的两种方法.分享给大家供大家参考,具体如下: 对于给定的有序数组nums,移除数组中存在的重复数字,确保每个数字只出现一次并返回新数组的长度 注意:不能为新数组申请额外的空间,只允许申请O(1)的额外空间修改输入数组 Example 1: Given nums = [1,1,2], Your function should return length = 2, with the first two elements of nums being 1

  • python 字典中取值的两种方法小结

    如下所示: a={'name':'tony','sex':'male'} 获得name的值的方式有两种 print a['name'],type(a['name']) print a.get('name'),type(a.get('name')) 发现这两个结果完全一致,并没有任何的差异. 怎么选择这两个不同的字典取值方式呢? 如果字典已知,我们可以任选一个,而当我们不确定字典中是否存在某个键时,我之前的做法如下 if 'age' in a.keys(): print a['age'] 因为不先

随机推荐