web工程的路径问题详解
若此时chapter.jsp在webContent或webRoot根目录下,可以连接,服务器内部转发
<servlet-name>getinRegisterServlet</servlet-name>
<url-pattern>/getinRegister</url-pattern>
</servlet-mapping>
可以连接。
,解析完后即为完整的url,http://localhost:8080/shipin/Test3Servlet,
析结果是不是一个完整正确的工程目录,完整正确的工程目录应该是:htttp://localhost:8080/工程名/文件的完整目录(包括文件夹)
例:若目标jsp文件在webContent目录下的Get文件夹下,则正确路径为:htttp://localhost:8080/ship/Get
/login.jsp
所有非字符串的的东西全部转化为字符串后,才开始解析第一个/,,非常重要,举个反
例,request.getRequestDispatcher(request.getContextPath()+"/Test3Servlet").forward(request,response);
例咋一看没啥问题,但是,先来看,把非字符串转化字符串后:/shipin/Test3Servlet,然后解析/,这是转发,/应该被解析为:
/shipin/,然后最终路径就变成了:/shipin/shipin/Test3Servlet,只要/还可以解析,就会向上解析,最终变成了
http://localhost/8080/shipin/shipin/Test3Servlet,显然这是错误的。这里就不能加上request.getContextPath(),只要request.getRequestDispatcher("/Test3Servlet").forward(request,response);
personServlet再转发到b.jsp,当到了personServlet时,此时的当前文件就是personServlet,所以要以
personServlet为当前目录去定位b.jsp,即便a.jsp和b.jsp在同一目录下,也不能就写:b.jsp,而要写相对于
personServlet的路径。而写绝对路径就没问题,顾名思义,绝对定位,不是相对的。
Web工程的根目录指的是WebRoot/WEB-INF/classes开始的。java的class文件只能读到这个目录的的文件。如果想读取其他地方的文件,可以用绝对路径。
如果是通过java的class读文件,比如xxx.properties,只能放到WebRoot/WEB-INF/classes目录下。也就是放到工程src下,会自动编译到WebRoot/WEB-INF/classes目录下的
web工程的路径问题详解的更多相关文章
- web工程常用路径的获取方法
此文章是基于 搭建SpringMVC+Spring+Hibernate平台 一. 利用 Spring 取得web工程根路径 1. web.xml 中添加如下: <context-param> ...
- 自学Zabbix4.2 web监控项创建+item详解
自学Zabbix4.2 web监控项创建+item详解 1. web监控项创建 1.1 Scenario 选项卡 Name: 监控项的名称 Application: 放到哪个应用中 Authenti ...
- nginx高性能WEB服务器系列之四配置文件详解
nginx系列友情链接:nginx高性能WEB服务器系列之一简介及安装https://www.cnblogs.com/maxtgood/p/9597596.htmlnginx高性能WEB服务器系列之二 ...
- eclipse中的项目Java build path (Java创建路径)详解
1.Source标签页,指定本工程的源码目录和输出目录.Projects标签页,指定本工程所依赖的其他工程.Libraries标签页,指定本工程所需的jar包和class目录等.Order And E ...
- ASP.net 路径问题 详解
各位有没有碰到在日常工作中经常在路径设置的时候把 "~/ ../ .../ . / .http://www.cnblogs.com/"这些符号搞混搞乱了?偶尔还会因路径的问题郁闷了 ...
- web端自动化——selenium3用法详解
selenium中文学习文档链接:https://selenium-python-zh.readthedocs.io/en/latest/getting-started.html selenium3+ ...
- Visual Studio的Web Performance Test提取规则详解(3)
总结 Visual Studio的Web Performance Test是基于HTTP协议层的,它不依赖于浏览器,通过直接接收,发送HTTP包来和Web服务器交互.Web Performance T ...
- ASP.NET中的路径(path) 详解
一 ASP.NET常用路径(path)获取方法与格式对照表 假设我们的网址为http://localhost:1897/ News/Press/Content.aspx?id=1019 跟 Brows ...
- web.xml配置以及一些详解
web.xml的根元素定义如下所示(代表当前使用哪个模版): <?xml version="1.0" encoding="UTF-8"?> < ...
随机推荐
- nginx+python+windows 开始
参考文章:http://www.testwo.com/article/311 参考如上文章基本能够完成hello world示例,我来记录下自己操作步骤及不同点,用以备忘,如果能帮助到其他人更好. 以 ...
- python3中一句话定义函数
import math as marea=lambda r:r**2*m.pi #定义一个计算圆的面积的函数area(8) 显示结果 201.06192982974676
- 201772020113李清华《面向对象程序设计(java)》第一周学习总结
201772020113<面向对象程序设计(java)>第一周学习总结 第一部分:课程准备部分 填写课程学习 平台注册账号, 平台名称 注册账号 博客园:www.cnblogs.com b ...
- openvpn通过ldap或ad统一认证解决方案思路分享
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://oldboy.blog.51cto.com/2561410/986933 缘起:成 ...
- windows系统下将nginx作为系统服务启动
1. 准备工作 下载安装nginx,并记住安装目录 官网下载 下载winsw,下载地址 2. winsw设置 将winsw可执行程序复制到nginx安装目录下,并重命名为nginx-service 新 ...
- Linux shell : 管道 |
概念 意义 理解 用法 返回值 PIPESTATUS An array variable (see Arrays) containing a list of exit status values fr ...
- JAVA字符串类
一.字符串类String1.String是一个类,位于java.lang包中2.创建一个字符串对象的2种方式: String 变量名=“值”; String 对象名=new String(“值”);3 ...
- JS获取URL中文参数乱码的解决方法
浏览器URL参数值中带有汉字字符,在接收时直接获取会出现乱码,下面是解决方法(传递前不需要encodeURI): function getUrlVars() { var vars = [], hash ...
- Python学习—爬虫篇之破解ntml登陆问题
之前帮公司爬取过内部的一个问题单网站,要求将每个问题单的下的附件下载下来.一开始的时候我就遇到一个破解登陆验证的大坑...... (╬ ̄皿 ̄)=○ 由于在公司使用的都是内网,代码和网站的描述 ...
- 专题 查找与排序的Java代码实现(一)
专题 查找与排序的Java代码实现(一) 查找(Searching) 线性查找(linear search) 属于无序查找算法,适合于存储结构为顺序存储或链接存储的线性表. 基本思想:从数据结构线形表 ...