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"?> < ...
随机推荐
- IDEA run下output标签悬浮/弹出状态
就是这样,在哪儿有一个恢复布局标签
- 微信调用itchat库 实现发消息
import itchat,timefrom itchat.content import * itchat.auto_login(enableCmdQR=-1)while True: for i in ...
- leetcode23
public class Solution { public ListNode MergeKLists(ListNode[] lists) { var ary = new List<int> ...
- Django之Auth模块 实现登录,退出,自带session 与认证功能的一个重要的模块
Auth模板 1. 什么是Auth模块,有什么用? django的auth的模块的使用: auth 是集合注册,登录,注销,session 多个功能集合在一起的模块 2. 使用Auth组件的默认aut ...
- saltstack的封装和内网使用
0.客户端使用 linux:把linux的ragent文件夹拷贝到内网linux /opt目录下,运行初始化脚本 salt服务端:# @Master:"/opt/ragent/python/ ...
- javascript:控制台详解
javascript工具——浏览器控制台详解 大神这篇博客是写在2011年,主要介绍 “Firefox” 浏览器插件 “Firebug” 的操作,如今主流浏览器对控制台都已经提供了很好的支持.我自己 ...
- CentOS6.5搭建OpenVas完全搭建手册(搭建过程总结及小记)
一.OpenVAS 介绍 1.关于OpenVAS OpenVAS(Open Vulnerability Assessment System)是一套开源的漏洞扫描系统,早期Nessus 是其中一个最流行 ...
- vue.js插值,插入图片,属性
<html><head><title>Insert title here</title><script type="text/javas ...
- MySQL二进制日志(binary log)总结
本文出处:http://www.cnblogs.com/wy123/p/7182356.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错 ...
- quick pdf library控件
quick pdf library库只能在windows环境下运行 1.下载quick pdf library 2.注册控件 进入cmd regsvr32 "C:\Program File ...