Servlet中路径详解

网络工程系统CAD图:从设计到落地的关键技能与实战指南 网络工程并不只是配置路由器和交换机,真正的核心在于将设计方案转化为可施工的物理图纸。网络工程系统CAD图正是连接逻辑设计与物理世界的桥梁,它涵盖综合布线、信息点布置、桥架路由、弱电间规划等关键内容。理解并掌握这套图纸体系,是网络工程师从基础设备调试走向项目主导者、弱电总工乃至网络架构师的重要分水岭。在园区网、数据中心、智能楼宇等真实场景中,一套规范的系统CAD图直接决定了施工质量、验收效率与后期运维的可靠性。本文从基础概念出发,拆解图纸的组成层次、绘制流程和软件工作流,并结合学习路线与就业方向,帮助初学者建 阅读详情

路径

与路径相关的操作

l  超链接

l  表单

l  转发

l  包含

l  重定向

l  <url-pattern>

l  ServletContext获取资源

l  Class获取资源

l  ClassLoader获取资源


客户端路径

超链接、表单、重定向都是客户端路径,客户端路径可以分为三种方式:

l  绝对路径;

l  以“/”开头的相对路径;

l  不以“/”开头的相对路径;

例如:http://localhost:8080/hello1/pages/a.html中的超链接和表单如下:

绝对路径:<a href="http://localhost:8080/hello2/index.html">链接1</a>

客户端路径:<a href="/hello3/pages/index.html">链接2</a>

相对路径:<a href="index.html">链接3</a>

<hr/>

绝对路径:

<form action="http://localhost:8080/hello2/index.html">

  <input type="submit" value="表单1"/>

</form>

客户端路径:

<form action="/hello2/index.html">

  <input type="submit" value="表单2"/>

</form>

相对路径:

<form action="index.html">

  <input type="submit" value="表单3"/>

</form>


l  链接1和表单1:没什么可说的,它使用绝对路径;

l  链接2和表单2:以“/”开头,相对主机,与当前a.html的主机相同,即最终访问的页面为http://localhost:8080/hello2/index.html;

l  链接3和表单3:不以“/”开头,相对当前页面的路径,即a.html所有路径,即最终访问的路径为:http://localhost:8080/hello1/pages/index.html;


重定向1:

public class AServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)

           throws ServletException, IOException {

       response.sendRedirect("/hello/index.html");

    }

}


  假设访问AServlet的路径为:http://localhost:8080/hello/servlet/AServlet

  因为路径以“/”开头,所以相对当前主机,即http://localhost:8080/hello/index.html。


重定向2:

public class AServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)

           throws ServletException, IOException {

       response.sendRedirect("index.html");

    }

}


假设访问AServlet的路径为:http://localhost:8080/hello/servlet/AServlet

因为路径不以“/”开头,所以相对当前路径,即http://localhost:8080/hello/servlet/index.html


建议使用“/”

强烈建议使用“/”开头的路径,这说明在页面中的超链接和表单都要以“/”开头,后面是当前应用的名称,再是访问路径:

<formaction="/hello/servlet/AServlet">

</form>

<a href="/hello/b.html">链接</a>


其中/hello是当前应用名称,这也说明如果将来修改了应用名称,那么页面中的所有路径也要修改,这一点确实是个问题。这一问题的处理方案会在学习了JSP之后讲解!


在Servlet中的重定向也建议使用“/”开头。同理,也要给出应用的名称!例如:

response.sendRedirect("/hello/BServlet");


其中/hello是当前应用名,如果将来修改了应用名称,那么也要修改所有重定向的路径,这一问题的处理方案是使用request.getContextPath()来获取应用名称。

response.sendRedirect(request.getContextPath() + "/BServlet");

 

服务器端路径

服务器端路径必须是相对路径,不能是绝对路径。但相对路径有两种形式:

l  以“/”开头;

l  不以“/”开头;

其中请求转发、请求包含都是服务器端路径,服务器端路径与客户端路径的区别是:

l  客户端路径以“/”开头:相对当前主机;

l  服务器端路径以“/”开头:相对当前应用;


转发1:

public class AServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)

           throws ServletException, IOException {

       request.getRequestDispatcher("/BServlet").forward(request, response);

    }

}

假设访问AServlet的路径为:http://localhost:8080/hello/servlet/AServlet

因为路径以“/”开头,所以相对当前应用,即http://localhost:8080/hello/BServlet。

转发2:

public class AServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)

           throws ServletException, IOException {

       request.getRequestDispatcher("BServlet").forward(request, response);

    }

}

假设访问AServlet的路径为:http://localhost:8080/hello/servlet/AServlet

因为路径不以“/”开头,所以相对当前应用,即http://localhost:8080/hello/servlet/BServlet。

 

<url-pattern>路径

  <url-pattern>必须使用“/”开头,并且相对的是当前应用。


ServletContext获取资源

必须是相对路径,可以“/”开头,也可以不使用“/”开头,但无论是否使用“/”开头都是相对当前应用路径。

例如在AServlet中获取资源,AServlet的路径路径为:http://localhost:8080/hello/servlet/AServlet:

public class AServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)

           throws ServletException, IOException {

       String path1 = this.getServletContext().getRealPath("a.txt");

       String path2 = this.getServletContext().getRealPath("/a.txt");

       System.out.println(path1);

       System.out.println(path2);

    }

}

 

path1和path2是相同的结果:http://localhost:8080/hello/a.txt


Class获取资源

Class获取资源也必须是相对路径,可以“/”开头,也可以不使用“/”开头。

package cn.cloud;

import java.io.InputStream;

public class Demo {

    public void fun1() {

       InputStream in = Demo.class.getResourceAsStream("/a.txt");

    }

    public void fun2() {

       InputStream in = Demo.class.getResourceAsStream("a.txt");

    }

}

其中fun1()方法获取资源时以“/”开头,那么相对的是当前类路径,即/hello/WEB-INF/classes/a.txt文件;

其中fun2()方法获取资源时没有以“/”开头,那么相对当前Demo.class所在路径,因为Demo类在cn.itcast包下,所以资源路径为:/hello/WEB-INF/classes/cn/cloud/a.txt。


ClassLoader获取资源

ClassLoader获取资源也必须是相对路径,可以“/”开头,也可以不使用“/”开头。但无论是否以“/”开头,资源都是相对当前类路径。

public class Demo {

    public void fun1() {

       InputStream in = Demo.class.getClassLoader().getResourceAsStream("/a.txt");

    }

    public void fun2() {

       InputStream in = Demo.class.getClassLoader().getResourceAsStream("a.txt");

    }

}

  fun1()和fun2()方法的资源都是相对类路径,即classes目录,即/hello/WEB-INF/classes/a.txt

ThingsBoard入门实战(二):ThingsBoard 设备接入 文章目录ThingsBoard 设备接入一、设备配置/设备类型二、设备三、设备接入HTTPCOAPMQTT四、下一步 ThingsBoard 设备接入 设备接入并不一定需要真正的设备,我们可以通过程序。或者命令来模拟设备,向平台发送信息。 这节我们先为用户分配一个设备,然后通过模拟设备命令更新设备的状态(遥测值)。 一、设备配置/设备类型 添加一个叫"路灯"的设备配置。 设备配置听起来比较抽象,可以认为是设备类型或者是设备类型的配置。实际上,ThingsBoard 中很多时候让选择设备类型,就是选的这个。 阅读详情

相关推荐

STM32-printf重定向串口输出

声明 本文内容转载至https://www.mculover666.cn/posts/2251182441/ 1.printf与fputc printf 定义在 <stdio.h> 头文件中,如下: int printf(const char *format, ...); printf 函数根据 format 字符串给出的格式打印输出到 stdout(标准输出)中,当然,printf 函数是不会一个字符一个字符去输出,它会调用更底层的 I/O 函数:fputc去逐个字符打印。 fputc 也定

qq_41215167的博客 4539

servlet 和 jsp 服务器端和客户端的相对路径

Servlet中相对路径与绝对路径的总结 servlet中,所有路径的配置都要用绝对路径。 什么是绝对路径,就是以“/”开头的路径(开发中就这样理解)。 实际开发中,“/”所代表的含义不同,但主要分以下两种情况: 1.servlet内部配置路径 servlet内部的含义就是:在客户端看不到,全是在(应用)后台处理的部分(简单说,就是除了JSP以外的所有地方)。包含以下2点: a.

hao007cn的专栏 1605

ADS版图优化中的参数化设计技巧

本文详细介绍了在ADS中进行射频电路版图参数化设计的核心技巧。通过将版图关键尺寸定义为变量,并与电磁仿真及优化器联动,实现从手动修改到自动迭代的转变,极大提升了PA、LNA等电路的设计与优化效率。文章以阶梯阻抗变换器为例,阐述了变量创建、绑定及协同仿真的完整流程,并提供了避免网格冲突、变量混乱等常见问题的实用指南。

weixin_29296241的博客 405

Servlet路径问题(“/“到底代表什么)-“web应用程序的根目录“与“web站点的根目录“

tomcat的配置中Deploment的Application context是配置当前项目的虚拟目录,它是实际物理路径的映射。我们可以通过访问一个jsp,那么这个jsp必须在我的本地物理路径上存在,才能访问成功,那么tomcat究竟去哪里寻找这个jsp呢?答案就在编译后产生的artifacts中,tomcat将实际物理路径映射成了简单的虚拟目录,可以更方便的访问物理路径编译后打开out(或target)/artifacts可以看到项目中所有需要发布的资源都集中在。

song854601134的博客 2881

dmx512协议c语言编程,DMX512协议+c程序代码.pdf

DMX512 协议1.协议简介DMX 是Digital MultipleX 的缩写 ,意为多路数字传输。DMX512 控制协议是美国舞台灯光协会(USITT)于1990 年发布的灯光控制器与灯具设备进行数据传输的工业标准 ,全称是 USITT DMX512(1990) ,包括电气特性、数据协议、数据格式等方面的内容。2. 电气特性和物理层2.1. 电气特...

weixin_39928993的博客 2543

用Arduino+ESP32复现TDOA定位:低成本实现厘米级精度的完整教程

本文提供了一套利用Arduino和ESP32平台,结合NRF24L01+模块与GPS/PPS时间同步方案,低成本复现高精度TDOA(到达时间差)定位系统的完整教程。教程详细阐述了从硬件选型、天线阵列设计、时间同步实现到核心算法与多径抑制的实战步骤,旨在帮助开发者和硬件爱好者以可控成本实现厘米级精度的定位演示系统。

weixin_29084111的博客 162

java:Servlet之路径

Servlet之路径 概述 servllet中与路径相关的操作有: 超链接、表单、重定向、转发、包含、配置url-pattern、ServletContext获取资源、Class获取资源ClassLoader获取资源。 本文通过以上方法的使用,分别区分不同情况下使用路径名的效果。 1、客户端路径(主要有 超链接、表单、重定向) 2、服务器路径 3、转发 4、url-pattern 路径 5、S...

CK_self的博客 1070

不用Root!这些隐藏代码能一键开启安卓诊断端口(小米/OPPO/魅族机型实测)

本文提供了一份无需Root权限即可开启安卓手机诊断端口的实用指南。通过拨号盘输入特定隐藏代码,小米、OPPO、魅族等机型的用户可以一键激活此工程模式,从而连接电脑进行基带数据备份(如QCN文件)或故障排查。文章详细列出了各品牌指令、操作验证步骤,并强调了备份IMEI等关键数据的重要性与操作风险,旨在帮助用户在紧急情况下修复网络问题。

weixin_29260291的博客 273

Servlet

1.执行流程 1.浏览器发出http://localhost:8080/web-demo/demo1请求,从请求中可以解析出三部分内容,分别是localhost:8080、web-demo、demo1 根据localhost:8080可以找到要访问的Tomcat Web服务器 根据web-demo可以找到部署在Tomcat服务器上的web-demo项目 根据demo1可以找到要访问的是项目中的哪个Servlet类,根据@WebServlet后面的值进行匹配 2.找到ServletDemo1这个类后,T

qq_45009608的博客 2191

Xilinx高级调试方法--远程调试

本文主要介绍Xilinx的一些高级调试方法,以及如何使用Xilinx的相关IP。

斌赋的博客 3308

电磁场仿真软件:Sonnet_(12).Sonnet与其他软件的集成

Sonnet作为电磁场仿真领域的强大工具,不仅能够独立完成复杂的仿真任务,还可以通过与其他软件的集成,实现更高效的工作流程和更广泛的功能扩展。通过与CAD、EDA、数据处理软件、MATLAB、Python以及云计算平台的集成,Sonnet用户可以更好地利用现有设计资源,进行参数优化和结果分析,从而提升设计和仿真效率。希望本节的内容能够帮助你更好地理解和应用Sonnet的集成功能。

kkchenjj的博客 1432

servlet中获取路径的方法

servlet中获取路径的方法明细:

qianmang的博客 819

【AI编程】Cursor编程工具使用教程:下载、配置、使用、运行Java项目

【AI编程】Cursor编程工具使用教程:下载、配置、使用、运行Java项目

funfan的博客 5198

Servlet访问路径

http://company/shopping/loginServlet 通常用这样的路径来访问webroot/company/shopping /WEB-INF/classes目录下的一个servlet   http://company/shopping/servlet/ login 默认情况下servlet的URL都被设置在一个servlet下 invoker /servlet/*   h

enoeht的专栏 4309

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

jsp 跳到servlet路径_Servlet路径跳转问题

response.sendRedirect("userinfo.jsp"); //这里使用的是相对路径Servlet的路径跳转一、JSP跳转到Servlet1、相对路径,如href="servlet/TestServlet" 如果写成"/servlet/TestServlet"会报错,因为第一个“/”表示的是【服务器根目录】2、绝对路径,通过内置成员变量path实现,如href="/servlet...

weixin_39793638的博客 3751

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

servlet中编写的路径总结

Servlet和JSP本质上完全相同,JSP本质上还是一个Servlet,只不过JSP的专业强项是做页面的展示,数据的展示。 Servlet负责收集数据,JSP负责展示数据。 why? Servlet可以编写了大量的html代码,然而客户改页面是最频繁的; 运维在客户处:页面变化,用的JSP可以直接修改JSP,若是servlet则需要反编译后修改代码再编译为字节码; servlet中有哪...

乘风晓栈的博客 1007

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Servlet虚拟路径映射详解

本文具体讨论了urlPatterns属性的匹配规则,主要为精确匹配、路径匹配、扩展名匹配、缺省匹配,其优先级也各不相同,我们在使用时,也需要根据自己的需求自己设定urlPatterns,不过知道了匹配规则,使用起来也会方便很多,也能帮我们快速的定位错误。

丹丹的后花园 4410

Servlet、Jsp路径问题汇总

目录 环境 常用变量 Servlet 相对路径 绝对路径 JSP 相对路径 绝对路径 静态资源 JSP跳转Servlet 总结 1、servlet跳转servlet 2、servlet跳转到jsp 3、jsp引用静态资源 4、jsp跳转到servlet 环境 tomcat9 servlet4.0 jdk1.8 新建一个Java Web项目,名称为PathTest。 如果着急使用,可以直接跳过测试,看最后的总结即可。 常用变量 新建一个servlet, 路径配置为

小楼夜听雨的博客 4739

jsp 跳到servlet路径_从JSP跳转到Servlet的路径应该如何设置

从JSP跳转到Servlet的路径应该怎么设置?packagekedun.dhy;importjavax.servlet.*;importjavax.servlet.http.*;@SuppressWarnings("serial")publicclassHttpSessionDemoServletextendsHttpServlet{publicvoiddoGet(HttpSe...

weixin_39567870的博客 1232

java servlet 路径问题_servlet路径问题

代码一:package com.main.service;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Eleme...

weixin_34931370的博客 193

Servlet的映射路径、Servlet缺省路径

一、铺垫: 1、问题:访问URL:http://localhost:8080/servlet_test/FirstServlet 2、前提: tomcat服务器启动时,首先加载webapps中的每个web应用的web.xml配置文件。(补充webapps中存放的就是web项目中的WebRoot下的所有资源) 3、详解: 1)http://: http协议 2)localhost: 到本地

一点一滴 9341

关于servlet访问路径问题

1. 访问路径的组成   URL,统一资源定位符,用于定位资源的一种方式。通常的 URL 资源访问路径由两部分构成:资源路径与资源名称。资源名称指的是要访问资源的直接名称,如 show.html,或与要访问资源存在映射关系的间接名称,如 show.do。而资源路径,则是通过该路径则可以定位到指定的资源,即资源路径是指在 URL 资源访问路径中除了资源名称以外的其它部分。   根据以上规则,URI,统一资源标识符,也可以分为资源路径与资源名称两部分。   一般情况下,在 URL 或 URI 中,最后一个斜杠后

一招的瓶子 4025

servlet的路径跳转及路径问题

其实这个路径的问题应该不只是servelt,应该是整个项目里比如jsp的跳转,超链接,都符合。 1 <body> 2 <h1>Servlet路径跳转</h1> 3 <hr> 4 <!--使用相对路径访问HelloServlet --> 5 <!-- /servlet/...

balei2634的博客 405

Servlet Servlet的路径跳转

Servlet的路径跳转 一、JSP跳转到Servlet 1、相对路径,如href="servlet/TestServlet" 如果写成"/servlet/TestServlet"会报错,因为第一个“/”表示的是【服务器根目录】 2、绝对路径,通过内置成员变量path实现,如href="/servlet/TestServlet" path得到的是项目根目录,如【http://localhost:

Daniel的博客 2197

Servlet中的路径写法

本人在学习Servlet过程中老是分不清楚什么时候需要加虚拟目录什么时候不需要,所以把笔记整理写了下来(: 首先复习一遍路径的相关知识: 首先什么是路径 路径分为两种: 绝对路径和相对路径 相对路径:通过相对路径不可以确定唯一资源 路径规则:找到当前资源和目标资源之间的相对位置关系。 例如: ./login.html(代表当前目录下的login.html文件) ./:当前目录 …/:后退一级目录...

weixin_44824500的博客 1221

JSP链接Servlet的路径问题

(a)在创建Servlet的时候在Servlet/JSP Mapping URL:[color=red]/servlet/TestServlet中  如果JSP页面创建在WebRoot的跟目录下,路径如下。  JSP页面的路径:  注:如何JSP页面在webroot下的一个

凌风 4938
上一篇: Java中线程入门
下一篇: Java中线程通信协作
午-夜
博客等级 码龄12年 95粉丝 133原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值