从0开始学Java——JSPServlet——HttpServletRequest相关的几个路径信息

在HttpServletRequest中有几个获取路径的接口:getRequestURI/getContextPath/getServletPath/getPathInfo

这些接口互相之间有什么区别,通过下面这段代码就可以分辨清楚了:

复制代码
复制代码
 1 @WebServlet("/hello.view")
 2 public class FirstServlet extends HttpServlet {
 3         /*....*/ 4     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 5         // TODO Auto-generated method stub 6         response.setContentType("text/html;charset=UTF-8");
 7         PrintWriter out = response.getWriter();
 8         String name = request.getParameter("name");
 9         out.println("<html>");
10         out.println("<head>");
11         out.println("<title>Hello servlet </title>");
12         out.println("</head>");
13         out.println("<body>");15         out.println("<br>requestUri: " + request.getRequestURI());
16         out.println("<br>contextPath: " + request.getContextPath());
17         out.println("<br>servletPath: " + request.getServletPath());
18         out.println("<br>pathInfo: " + request.getPathInfo());
19         out.println("</body>");
20         out.println("</html>");
21         out.close();
22     }
23         /*....*/
复制代码
复制代码

这个项目的名称是FirstServlet,运行之后其输出内容如下:

requestUri: /FirstServlet/hello.view ,这个相当于是当前页面的全路径,但是不包括url中参数信息。
contextPath: /FirstServlet ,这个就相当于iis中的虚拟目录名称
servletPath: /hello.view ,这个其实就是页面的名称
pathInfo: null,这个其实就是requestUri - contextPath - servletPath,也就是如果该servlet是在某个子目录下,那么这里显示的就是那个子目录名称。



转载于:https://www.cnblogs.com/strinkbug/p/4885421.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/272845.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#编译和运行过程图例

一张图&#xff0c;描述C#编译和运行过程&#xff0c;比较容易记忆理解

C#中的堆和栈理解

引言&#xff1a;程序运行时&#xff0c;它的数据必须存在内存中&#xff0c;一个数据需要多大内存、存储在什么地方以及如何存储都依赖于该数据的数据类型。1、什么是栈栈是一个内存数组&#xff0c;是一个LIFO&#xff08;Last-In-First-Out 后进先出&#xff09;的数据结构。…

C# 基础:Sealed、new、virtual、abstract、override的理解

目录 1、sealed 2、new 3、virtual 4、abstract 5、override 1、sealed 密封类不能被继承&#xff0c;密封方法可以重写基类中的方法&#xff0c;但其本身不能在任何派生类&#xff08;子类&#xff09;中 进一步重写。当应用于属性或者方法时&#xff0c;sealed 修饰符必须始终…

U3D 脚本添加和获得对象

有时候&#xff0c;一开始可能没有对象&#xff0c;而是由于某种触发&#xff0c;产生的一个对象&#xff0c;这里讲解下&#xff0c;如何通过脚本来创建一个对象&#xff1a; 这是通过脚本创建一个立方体&#xff1a; using UnityEngine; using System.Collections;public cla…

50条超精辟的经典语录:哗众,可以取宠,也可以失宠!

在人生道路上给自己定位很重要&#xff0c;不要苛求自己达到不可能达到的高度。我们能把每一件平凡的事做好就是不平凡&#xff0c;把每一件简单的事做成功就是不简单。1.我们只有一个地球&#xff0c;所以你要爱护地球&#xff1b;地球上只有一个我&#xff0c;所以你也要爱护…

IP、TCP和DNS与HTTP的密切关系

看了上一篇博文的发表时间&#xff0c;是7月22日&#xff0c;现在是10月22日&#xff0c;已经有三个月没写博客了。这三个月里各种忙各种瞎折腾&#xff0c;发生了很多事情&#xff0c;也思考了很多问题。现在这段时间开始闲下来了&#xff0c;同时该思考的事情也思考清楚了&am…

【原创】关于ASP.NET WebForm与ASP.NET MVC的比较

WebForm的理解1、 WebForm概念ASP.NETWebform提供了一个类似于Winform的事件响应GUI模型&#xff08;event-drivenGUI&#xff09;&#xff0c;隐藏了HTTP、HTML、JavaScript等细节&#xff0c;将用户界面构建成一个服务器端的树结构控件&#xff08;Control&#xff09;&#…

Asp.Net页面传值的方法简单总结【原创】

1、QueryString当页面上form按照get的方式向页面发送请求数据的时候&#xff0c;web server会将请求数据放入一个QEURY_STRING的环境变量中&#xff0c;然后通过QeueryString方法从这个变量中获取相应的参数。例如&#xff1a;发送参数页面Test1.aspx 按钮单击代码&#xff1a;…

mysql 多字节编码漏洞_phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613)

漏洞详情范围 phpMyAdmin 4.8.0和4.8.1原理 首先在index.php 50-63行代码$target_blacklist array (import.php, export.php);// If we have a valid target, lets load that script insteadif (! empty($_REQUEST[target])&& is_string($_REQUEST[target])&&…

25句张小娴经典爱情语录,句句穿心!

1、女人在床上流的眼泪&#xff0c;比在任何一个地方多。男人在床上说的谎话&#xff0c;也比在任何一个地方多。2、承诺本来就是男人与女人的一场角力&#xff0c;有时皆大欢喜&#xff0c;大部份的情况却两败俱伤。3、爱情正是一个将一对陌生人变成情侣&#xff0c;又将一对情…

【原创】Ajax的用法总结

一、什么是AjaxAjax英文全称为“ Asynchr JavsScript and XML”&#xff08;异步的JavaScript和XML&#xff09;&#xff0c;是一种创建交互式网页的开发技术。二、Ajax技术的核心Ajax是一系列相关技术的融合&#xff0c;其核心包括XMLHttpRequest、JavsScript和DOM技术&#x…

Asp.Net生命周期的详解

一&#xff0e;Asp.Net页面生命周期的概念当我们在浏览器地址栏中输入网址&#xff0c;回车查看页面时&#xff0c;这时会向服务器端IIS&#xff09;发送一个request请求&#xff0c;服务器就会判断发送过来的请求页面&#xff0c;当完全识别 TTP页面处理程序类后&#xff0c;A…

指针的概念

在C语言中&#xff0c;内存单元的地址称为指针&#xff0c;专门用来存放地址的变量&#xff0c;有时对地址&#xff0c;指针和指针变量不区分&#xff0c;统称指针。&#xff08;地址指针&#xff09; 一般情况下&#xff0c;最前面的存储类型通常会省略 指针在说明的同时&…

Net中Session的用法

一、什么是Session&#xff1f;简单来说&#xff0c;就是用户与网站服务器建立的一个连接&#xff0c;服务器分配给一个编号。当一台WWW服务器运行时&#xff0c;可能有若干用户正在浏览运行在这台服务器上的网站。当用户首次与这台WWW服务器创建连接的时候&#xff0c;它就和这…

Linq用法笔记

一、什么是Linq?LINQ即Language Integrated Query(语言集成查询)&#xff0c;LINQ是集成到C#和Visual Basic.NET这些语言中用于提供查询数据能力的一个新特性。LINQ是一种用来进行数据访问的编程模型&#xff0c;Linq可以用相同的语法访问不同的数据源&#xff0c;比如xml、数…

用例图练习

转载于:https://www.cnblogs.com/fzuyzy/p/4925246.html

java 常量 内存分配_Java内存分配之堆、栈和常量池

寄存器&#xff1a;最快的存储区&#xff0c;位于不同于其他存储区的地方——处理器内部。寄存器的数量极其有限&#xff0c;所以寄存器由编译器根据需求 进行分配。你不能直接控制&#xff0c;也不能在程序中感觉到寄存器存在的任何迹象。栈&#xff1a;存放基本类型的数据和对…

sqlserver2008r2安装

转载于:https://www.cnblogs.com/sprinng/p/4932739.html

后台寻路系统的大体思路与流程

总的思路就是: 1, 通过前台unity的navigation的的接口: 获得顶点和三角形集合数据 2, 将前台的mesh数据转换成标准的obj格式数据 3. 强obj mesh数据经过一系列转换和优化, 生成recastnavigation插件寻路模块detour需要的导航数据 故制作了工具MakeNavmeshData生成detour需要的…

Eclipse is running in a JRE, but a JDK is required 解决方法(转)

转自&#xff1a;http://comeonbabye.iteye.com/blog/1186239 安装Maven后每次启动出现警告信息: Eclipse is running in a JRE, but a JDK is requiredSome Maven plugins may not work when importing projects or updating source folders. 分两步解决问题: 1. 检查Eclipse正…