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. 26、mysqlsla慢查询日志分析工具

    1.介绍: mysqlsla是hackmysql.com推出的一款MySQL的日志分析工具,可以分析mysql的慢查询日志.分析慢查询非常好用,能针 对库分析慢查询语句的执行频率.扫描的数据量.消耗时 ...

  2. 关于VIM的迁移

    将Gvim7.3从我笔记本拷到公司的电脑上面时, 这问题留了好久没有去解决.语法高亮无效不管我怎么设置 syntax enable,还是遇到这个问题. 后来在偶然的情况下,将我笔记本上面的文件在拷一份 ...

  3. POJ 1681 高斯消元 枚举自由变元

    题目和poj1222差不多,但是解法有一定区别,1222只要求出任意一解,而本题需要求出最少翻转次数.所以需要枚举自由变元,变元数量为n,则枚举的次数为1<<n次 #include < ...

  4. 谁知道百会CRM跟Zoho是一家公司吗?

    说到ZohoCRM,无论是搜索引擎还是信息网站,总会有无数的身影.很多人不知道这两家公司的关系,甚至认为百会和Zoho是一家公司.那么,百会CRM和Zoho属于同一类公司吗?它们之间有什么关系?今天小 ...

  5. SpringBoot缓存管理(二) 整合Redis缓存实现

    SpringBoot支持的缓存组件 在SpringBoot中,数据的缓存管理存储依赖于Spring框架中cache相关的org.springframework.cache.Cache和org.spri ...

  6. ptm经验总结

  7. 长按短按控制LED灯-ESP32中断处理

    #include <stdio.h> #include <string.h> #include <stdlib.h> #include "freertos ...

  8. 「CF555E」 Case of Computer Network

    「CF555E」 Case of Computer Network 传送门 又是给边定向的题目(马上想到欧拉回路) 然而这个题没有对度数的限制,你想歪了. 然后又开始想一个类似于匈牙利的算法:我先跑, ...

  9. 不用SCRAPY也可以应用selector

    在PY文件中: from scrapy.selector import Selectorfrom scrapy.http import HtmlResponse url="https://m ...

  10. 给你的Mac 整个好用的命令行iTerm2 + zsh + oh-my-zsh + powerlevel10k

    给你的Mac 整个好用的命令行iTerm2 + zsh + oh-my-zsh + powerlevel10k 介绍 iTerm2 是一个MacOS 下的终端模拟器,和其他的终端本质上没啥大不同.但相 ...