1. <form action="abc.do" method="post">*********</form>,并且该页面的访问地址是http://localhost:8080/yaso/login
<form action="/abc.do" method="post">*********</form>,并且该页面的访问地址是http://localhost:8080/yaso/login
此处可以使用相对路径或者绝对路径,其中相对路径是相对于当前访问的页面。当提交表单后,浏览器地址栏中的信息变为http://localhost:8080/yaso/abc.do
如果使用绝对路径,则"/"是指服务器的根而非应用的根。如果将上述表单改为action="/abc.do",则当提交表单后,浏览器地址栏中的信息变为http://localhost:8080/abc.do
如果要使用绝对路径可以使用getContextPath()方法。
2. 在web.xml中的<servlet-mapping>中的<url-pattern>标记中只能使用绝对路径,即必须要 以"/"开头。可以这样理解:一个应用对应于一个web.xml,所以这里的绝对路径表示应用的根,而不是服务器的根。(一个特殊情况就是 在<url-pattern>中使用模式匹配的*.do,但仍然应该理解成从/开始。)
3.RequestDispatcher view = request.getRequestDispatcher("/abc.jsp");
RequestDispatcher view = request.getRequestDispatcher("abc.jsp");
这里可以使用相对路径和绝对路径。相对路径是当执行到该代码所在的Servlet的时候地址栏上显示的路径。
如果使用绝对路径,则"/"表示应用的根。
4.RequestDispatcher view = getServletContext().getRequestDispatcher("/abc.jsp");
这里必须使用绝对路径,"/"表示应用的根。可以这么理解:在ServletContext上调用请求转发,如果使用相对路径,则无法得知到底相对于该应用的什么位置,只能根据绝对路径来判断。由于是在应用上下文上调用的方法,所以"/"就表示应用的根。
5.servletContext中的getResourceAsStream(String),其中的参数应该是以"/"开头的绝对路径,其中"/"表示应用的根。
6.<a href="value">绝对 URL - 指向另一个站点(比如 href="http://www.example.com/index.htm")
相对 URL - 指向站点内的某个文件(href="index.htm"),这里站点就是你的工程的名字。
这里一定要留意页面中是否有
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><base href="<%=basePath%>">
引用
<base> 标签为页面上的所有链接规定默认地址或默认目标。
通常情况下,浏览器会从当前文档的 URL 中提取相应的元素来填写相对 URL 中的空白。
使用 <base> 标签可以改变这一点。浏览器随后将不再使用当前文档的 URL,而使用指定的基本 URL 来解析所有的相对 URL。这其中包括 <a>、<img>、<link>、<form> 标签中的 URL。
也就是说这个相对路径是相对于basePath,也就是你的项目名的。如果我们把这些去掉,就是把你当前的页面的最后一级替换,即
<a href ="non-ui/index.jsp">non-ui</a>
是将
http://localhost:8080/MyStrutsTest4/tags/index.jsp 替换为http://localhost:8080/MyStrutsTest4/tags/non-ui/index.jsp
分享到:
相关推荐
在项目开发过程中,在部署过程中,用到了反向代理,这就要求前端代码中不能使用绝对路径。但是我们知道,一般情况下,通过webpack+vuecli默认打包后的HTML、css、js等文件,使用的都是绝对路径。下面可以举几个例子...
路径为绝对路径,当项目的域名为二级域名的时候,就不能打包为这绝对路径了。 nuxt不同于vue项目,思索了许久,终于找到了配置的地方: nuxt项目中 nuxt.config.js : module.exports = { router: { base: './' ...
开发web工程时经常要获取工程的根目录,自己用Java实现的获取Tomcat下war包部署的Web工程根目录路径的方法,主要利用web工程默认的目录结构,此外也可以指定工程名称获取工程目录的绝对路径
部署H3C云计算系统课程项目三 云计算存储 多路径问题课程目标【知识目标】 掌握多路径的概念、多路径软件的工作原理【能力目标】 能确定多路径条数【思政目标】 培养学生的职业素养多路径介绍多路径(multipath)是...
lamp搭建安装,不熟所必须的,源码包安装的路径,模块加载
一些项目中往往需要上传一些图片文件之类,一般不建议直接保存在数据库内,往往是讲图片等资源保存在服务器的某个文件夹下,传统做法是上传到部署目录下,通过相对路径进行访问。这样当我们系统需要进行升级,进行...
基于遗传算法的移动传感器的部署优化,实现三维空间下对多个传感器相对探测物体位置的移动路径的规划,种群大小为49,迭代次数为1000,交叉概率为0.8,变异概率0.1,采用精英选择。
不得擅自修改该文件,如果你在使用中有什么意见,可以和作者联系,联系方式:whj7510@citiz.net 解决.NET(WebApplication)安装部署的不能选择安装路径的问题
在python中全自动安装jieba分词时,需要路径支持。此工具是jieba分词全自动安装的路径包
EMC PowerPath多路径控制软件最佳部署实践,分享有关EMC PowerPath多路径控制软件的部署和最佳实践的话题和心得!
检查tomcat所部署的项目以及路径的脚本,检查内容保存在为以tomcat_当前时间命名的文件中,支持tomat的多种部署方式,需要的可以下载
MyEclipse 的工作空间自动就变为默认的了,在网上搜索的很多修改也不管用,觉得这个不错
默认情况webpack+vue-cli打包的css、js等静态资源路径都是绝对的,即static在根目录下,如果部署到带有文件夹目录的项目中,资源路径就会出错。 如图: 解决方法: 在webpack.prod.conf.js中,output中添加或者...
如果反向代理配置如下,那么不需要下载查看了。 http://127.0.0.1:3000 => http://ip或域名:端口 这个教程针对特殊情况,需配置访问二级路径的。 http://127.0.0.1:3000 => http://ip或域名:端口/yapi
C# IIS 虚拟站点 虚拟路径 物理地址 网站
小编在一次项目测试中,发现一些bug,window与linux项目部署-linux文件路径不存在问题,本文给出了解决方案,需要的朋友可以参考下
面向互联网AS级拓扑监测应用,提出了一种基于最短路径树SPT覆盖的算法,用于选择部署最少的监测点,发现尽量完整的AS拓扑。该算法求出所有顶点的最短路径树,按照启发式策略选择最小的顶点集合,使集合中节点的最短...
delphi 2010的的包安装时如何设置包的路径
本文档介绍和指导如何在Linux服务器上部署配置多路径软件,可以为想在Linux服务器上挂载磁盘阵列设备的技术人员提供一定的参考。
arbor.js 一个基于jquery和Web多线程技术的可视化图形库....访问地址(部署tomcat): http://localhost:8080/arbor-v0.92/demos/halfviz/index.html http://localhost:8080/arbor-v0.92/demos/halfviz/admin.html