HttpServletRequest 类有什么作用:
             每次只要有请求进入 Tomcat 服务器,Tomcat 服务器就会把请求过来的 HTTP 协议信息解析好封装到 Request 对象中
            然后传递到 service 方法(doGet 和 doPost)中给我们使用。我们可以通过 HttpServletRequest 对象,获取到所有请求的信息

HttpServletRequest 类的常用方法:
          getRequestURI()                获取请求的资源路径
          getRequestURL()                获取请求的统一资源定位符(绝对路径)
          getRemoteHost()               获取客户端的 ip 地址
          getHeader()                       获取请求头
          getParameter()                  获取请求的参数
          getParameterValues()        获取请求的参数(多个值的时候使用)
          getMethod()                      获取请求的方式 GET 或 POST
          setAttribute(key, value);    设置域数据
          getAttribute(key);               获取域数据
          getRequestDispatcher()     获取请求转发对象

创建了Tomcat工程之后,通过自定义类去继承HttpServlet类之后,重写doGet方法或者doPost方法之后,去调用对应上诉方法

请记住,这些方法都是请求的方法,也就是说 浏览器访问服务器  的一些参数。

如何获取请求参数:

比如说。我要获取表单中的请求参数,如用户名文本框等等  通过 getParameter() 方法即可得到,代码如下

POST 请求的中文乱码解决:

如果是post请求,当我们需要获取参数比如说是 用户名的时候,如果用户名是中文的,会出现乱码的现象

这是因为请求体的字符集默认不是utf-8,所以可以通过setCharacterEncoding("utf-8")去设置,当然这个方法需要在获取请求参数之前设置

请求的转发:
           什么是请求的转发?
                         请求转发是指,服务器收到请求后,从一次资源跳转到另一个资源的操作叫请求转发。

这需要两个Servlet程序,第一个Servlet程序,负责接收用户的请求参数,通过serAttribute()方法,设置一个域即盖个章,方便Servlet2程序检查

通过.getRequestDispatcher("要告诉浏览器的工程位置"); 指明这个位置在哪  在通过 forward方法,让它走向Servlet2程序。

我们要记住的一点,就是这个请求转发它的路径是有一定的问题的,比如说,

具体如何实现,代码如下:  记住了,这些也必须在web.xml 文件中导入相关信息,如 <servlet> 标签等

为了解决跳转导致路径不一致的问题:使用base标签即可

Web 中的相对路径和绝对路径:

在 javaWeb 中,路径分为相对路径和绝对路径两种:
    相对路径是:
              .           表示当前目录
             ..           表示上一级目录
          资源名     表示当前目录/资源名
绝对路径:
          http://ip:port/工程路径/资源路径
在实际开发中,路径都使用绝对路径,而不简单的使用相对路径。
1、绝对路径
2、base+相对

web 中 / 斜杠的不同意义:

在 web 中 / 斜杠 是一种绝对路径。

/      斜杠 如果被浏览器解析,得到的地址是:http://ip:port/

<a href="/">斜杠</a> 

/ 斜杠   如果被服务器解析,得到的地址是:http://ip:port/工程路径

1、/servlet1

2、servletContext.getRealPath(“/”);

3、request.getRequestDispatcher(“/”);

特殊情况: response.sendRediect(“/”);

把斜杠发送给浏览器解析。得到 http://ip:port/

Tomcat服务器种的HttpServletRequest类的更多相关文章

  1. windows下配置tomcat服务器的jvm内存大小的两种方式

    难得遇到一次java堆内存溢出(心里想着,终于可以来一次jvm性能优化了$$) 先看下报错信息, java.lang.OutOfMemoryError: GC overhead limit excee ...

  2. Tomcat服务器常用配置和HTTP简介

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...

  3. JavaEE:Tomcat服务器常用配置和HTTP简介

    Web服务器常用配置1.Web系统采用B/S结构通信的:Browser --- Server1)浏览器向服务器发送访问目标资源请求(请求)2)服务器根据请求的目标资源路径,在服务器端进行查找(请求查找 ...

  4. tomcat 服务器的几个重要监听 方法 与 使用

    1. 总结一下tomcat 服务器里的三种监听 ServletContextListener HttpSessionListener ServletRequestListener 这是我要做的三个自定 ...

  5. HttpServletRequest 类

    目录 HttpServletRequest类有什么作用 HttpServletRequest 类的常用方法 如何获取请求参数 doGet 请求的中文乱码解决: POST 请求的中文乱码解决 请求的转发 ...

  6. Tomcat服务器原理详解

    [目录]本文主要讲解Tomcat启动和部署webapp时的原理和过程,以及其使用的配置文件的详解.主要有三大部分: 第一部分.Tomcat的简介和启动过程 第二部分.Tomcat部署webapp 第三 ...

  7. 重温web服务器--细说Tomcat服务器

    从大学开始接触java web的开发时就开始使用tomcat部署web项目,对它的理解仅仅停留在"这是个开源免费的servlet容器"的阶段,后来也接触了一些tomcat的体系,原 ...

  8. Tomcat服务器顶层结构和启动过程【转】

    号外:2016 最流行的是哪一种 Java 应用服务器呢? 通过从部署的 1240 个 JVM 中得到的数据,我们能够确定出现了 862 个容器供应商,或者说是占到了运行环境的 70% 左右.这些容器 ...

  9. Tomcat服务器

    常见的web服务器 1. WebLogic是BEA公司的产品,是目前应用最广泛的web服务器,支持J2EE规范(J2EE里有13种技术),商业产品,收费的.银行,证券等对并发,安全要求高的时候用,一般 ...

随机推荐

  1. oracle :如何测试数据库安装是否成功

    要测试数据安装是否成功,可按顺序执行以下两个步骤: 测试步骤 1:  请执行操作系统级的命令: tnsping orcl (如果出现[TNS-03505:无法解析名称]的提示错误: 那就改为tnspi ...

  2. 【Python从入门到精通】(九)Python中字符串的各种骚操作你已经烂熟于心了么?

    您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦. 本文将重点介绍Python字符串的各种常用方法,字符串是实际开发中经常用到的,所有熟练的掌握它的各种用法显得尤为重要. 干货满满,建议收藏,欢迎大 ...

  3. HTML骨架解析

    在VSCode中按下"!"感叹号便可得到如下的html骨架,没有这些骨架浏览器便不能正常渲染,但是这些骨架分别代表什么含义呢?不急,我们一行一行的看. 1 <!DOCTYPE ...

  4. Dubbo:dubbo管理界面安装

    首先需要Tomcat.Zookeeper安装后在进行安装Dubbo管理界面  提供Dubbo-admin管理界面war包: https://github.com/zhaoyue123ABC/Publi ...

  5. Laravel使用Observer(观察者)

      1.创建observer文件,我这里是要记录仓库库存模块的操作日志,所以执行下面的语句,会在app/Observers下面创建WarehouseInventoryObserver文件. php a ...

  6. JDBC:Connection.close()

    https://www.2cto.com/database/201501/369246.html Connection对象在执行close() 方法之后,并不是直接把Connection对象设置为nu ...

  7. IDA 动态调试

    感谢南邮,让我把ida动态调试,给搞定了,困扰了很久,之前下的ubuntu的源,好像有问题,ifconfig这个命令一直装不上,突然想起来了我的服务器很久没用了,重装了下系统,换成ubuntu,这里记 ...

  8. 使用Hugo框架搭建博客的过程 - 页面模板

    前言 最初在制作友链界面时,没有学习Hugo框架,一头雾水.网上有关的教程甚少,只能去学一遍Hugo. 在学习Hugo的过程中,了解了列表模板,分类模板.开发了几个功能页面,如:留言板,友链,记忆分类 ...

  9. docker起不来报错:Failed to start Docker Application Container Engine.

    报错信息如下: [root@localhost localdisk]# systemctl restart docker Job for docker.service failed because t ...

  10. FreeRTOS基本概念

    1.在FreeRTOS中,使用的数据类型虽然都是标准C里面的数据类型,但是针对不同的处理器,对标准C的数据类型又进行了重新定义. 2.链表由节点组成,节点与节点之间首尾相连,节点包含用于指向后一个节点 ...