Java_web_关于路径

关于Javaweb中的路径

我在学习javaweb阶段的时候,在读取或者写入对象的时候,发现容易混肴了关于路径的 “/” “” “.” “./” “…/” “classpath:” "${pageContext.request.contextPath}"等等!所以自己抽时间做了一份总结,用于归类记忆 !

路径分为 web路径 “/ " 与真实路径”\"。

下面使用一个tomcat部署javaweb的例子来解析路径!

1. tomcat部署路径(图)

部署图

2. web项目(图)

在这里插入图片描述

3. 配置信息web.xml(图与代码)

在这里插入图片描述在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  version="3.0"
  metadata-complete="true">
  	<!-- ************************************* -->
	<servlet>
		<servlet-name>HelloServlet</servlet-name>
		<servlet-class>ServletTest.HelloServlet</servlet-class>
	</servlet>
  	<servlet-mapping>
  		<servlet-name>HelloServlet</servlet-name>
  		<url-pattern>/CC</url-pattern>
  	</servlet-mapping>
</web-app>

4. servlet内容(图与代码)

在这里插入图片描述
在这里插入图片描述

public class HelloServlet extends HttpServlet {
	protected void doGet(HttpServletRequest request, HttpServletResponse resp)
			throws ServletException, IOException {
			
		System.out.println("request.getContentLength(): " + request.getContentLength());
		System.out.println("request.getContentType(): " + request.getContentType());
		System.out.println("request.getContextPath(): " + request.getContextPath());
		System.out.println("request.getMethod(): " + request.getMethod());
		System.out.println("request.getLocale(): " + request.getLocale());
		System.out.println("request.getQueryString(): " + request.getQueryString());
		System.out.println("request.getRequestURI(): " + request.getRequestURI());
		System.out.println("request.getRequestURL(): " + request.getRequestURL());
		System.out.println("request.getServletPath(): " + request.getServletPath());
		System.out.println("request.getRemoteAddr(): " + request.getRemoteAddr());
		System.out.println("request.getRemoteHost(): " + request.getRemoteHost());
		System.out.println("request.getRemotePort(): " + request.getRemotePort());
		System.out.println("request.getScheme(): " + request.getScheme());
		System.out.println("request.getServerName(): " + request.getServerName());
		System.out.println("request.getServerPort(): " + request.getServerPort());
		System.out.println("request.getServletContext().getRealPath('/'):" + request.getServletContext().getRealPath("/"));
		System.out.println("request.getServletContext():" + request.getServletContext());	
	}
	
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		doGet(req, resp);
	}
}

分析:

1. 可以发现路径有"/" 和 "\"

  • "/"代表的是web的路径!
  • “\“代表的是真实的路径,也就是我们本地电脑中某一个文件的路径。注意在web中使用要转义”\\”

2. 绝对路径与相对路径(先创建一个a.html文件)
在这里插入图片描述
在这里插入图片描述

  • 绝对路径
    写全所有路径(可以使用根目录)
    注意:这里是客户端外部,所以根目录"/"不包含项目名称.
  • 相对路径
    上图中,CC的位置相对于a.html为同一个文件夹:./CC 或者 CC
    …/ 的意思是 : 上一个文件夹中!

3. 关于"."
有"."那么就是涉及到类
比如说,CC是在servletContext容器中的一个servlet,是一个单例的对象。
所以我们在web.xml中配置该对象的时候,为:
在这里插入图片描述
4. 关于classPath
一般使用是在spring配置文件ApplicationContext.xml中 :
在这里插入图片描述

等等。。。 。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值