HttpServletRequest类

service方法中的request的类型是ServletRequest,而doGet/doPost方法的request的类型是HttpServletRequest,

HttpServletRequest是ServletRequest的子接口,功能和方法更加强大,

通过request获取请求行

获得客户端的请求方式:

String Method();

获取页面地址

String getRequestURI();

获取web名称

String getContextPath();

通过request获取请求头

获取请求头

String getHeader(String name);

通过request获得请求体

获取参数

String getParameter(string name);

//获取一个name多个值

String【】 hobys=request.getParameterValues();

获取所有请求的参数值

Map<String.String[]> map=request.getParameterMap();

Map<String ,String[]> map=request.getParameterMap();

//遍历

Set<String > set=map.keyset();

for(String s:set){

sysout(s+"")

String[] str=map.get(s);

for(String ss:str){

sysout(ss+"")

}

}

request的其他功能

request是一个域对象

setAttribute(String name, Object o)

getAttribute(String name)

removeAttribute(String name)

请求转发

获得请求转发器----path是转发的地址

RequestDispatcher getRequestDispatcher(String path)

通过转发器对象转发

requestDispathcer.forward(ServletRequest request, ServletResponse response)

中文转码

request.setcharacterEncoding("UTF-8");

转发与重定向的区别?

          1)重定向两次请求,转发一次请求

          2)重定向地址栏的地址变化,转发地址不变

          3)重新定向可以访问外部网站 转发只能访问内部资源

          4)转发的性能要优于重定向

       注意:客户端地址与服务器端地址的写法?

          客户端地址:

              是客户端去访问服务器的地址,服务器外部的地址,特点:写上web应用名        

             

              直接输入地址:

              重定向

 

          服务器端地址:

              服务器内部资源的跳转的地址,特点:不需要写web应用的名称

 

              转发

 

 

 

原文地址:https://www.cnblogs.com/1997WY/p/10705943.html

时间: 2024-10-14 09:18:10

HttpServletRequest类的相关文章

servlet HttpServletRequest类 4请求转发

请求转发是指,服务器收到请求后,从一次资源跳转到另一个资源的操作叫请求转发. servlet 1: // 获取请求的参数(办事的材料)查看 String username = req.getParameter("username"); System.out.println("在 Servlet1(柜台 1)中查看参数(材料):" + username); // 给材料 盖一个章,并传递到 Servlet2 (柜台 2 )去查看 req.setAttribute(&q

HttpServletRequest的Attribute和Parameter区别

HttpServletRequest类既有getAttribute()方法,也由getParameter()方法,这两个方法有以下的组件通过getParameter()方法来获得请求参数,例如假定welcome.jsp和authenticate.jsp之间为链接关系,welcome.jsp中有以下代码: <a href="authenticate.jsp username=weiqin">authenticate.jsp a> html 代码 或者: <form

SpringBoot找不到类异常解决

问题描述:项目是一个Maven+SpringBoot项目,在Eclipse中运行正常,没有问题,但是用IDEA编辑的时候根本启动不了,报错一大堆,比如找不到HttpServletRequest类,找不到Hibernate的类,和找不到Tomcat初始化类,等等奇葩问题.具体看下面截图: 解决了很久没有找到原因,网上查了很多也没有真正解决问题. 无意间看到一个博文,说了这个问题,瞬间恍然大悟,这个并不是依赖错了,是编译器的差别,这可能是IDEA的一个bug,在使用spring-boot的时候,如果

【转】HttpServletRequest.getParameter() &amp;HttpServletRequest.getAttribute() 区别

Ref: HttpServletRequest的getParameter和getAttribute方法有什么区别 具体如下几点: (1)HttpServletRequest类有setAttribute()方法,而没有setParameter()方法 (2)当两个Web组件之间为链接关系时,被链接的组件通过getParameter()方法来获得请求参数. 例如假定welcome.jsp和authenticate.jsp之间为链接关系,welcome.jsp中有以下代码: <a href="a

EL四大作用域 9个jsp对象有效范围 及 对应的类

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 java中request,session,application的作用范围      page,request,session,application四者的作用范围:     

HttpServletRequest中getAttribute()和getParameter()的区别

HttpServletRequest中getAttribute()和getParameter()的区别 1.获取的来源不同 HttpServletRequest类有setAttribute()方法,而 没有setParameter()方法 get/setParameter是在对你的页面中的表单元素进行操作,获取的是这个表单元素中的值,是某个表单提交过去的数据 比如常见的获取POST/GET传递的参数值.还有通过URL传递参数,这种方法应该用的多是http://a.jsp?id=123中的123

HttpServletRequest应用(第五次课)

HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的相关方法,即可以获得客户的这些信息 工程 一.通过request常用方法获得相关信息: getContextPath//项目根目录 getServletPath//是哪一个servlet getSession().getServletContext().getRealPath("") getSession().getServ

【异常】idea执行Main方法出现 Exception in thread &quot;main&quot; java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletRequest

一.异常复现步骤 1)首先得是一个Spring MVC项目 注:Spring Boot项目有内置的web 容器,不会出现该问题 2)main方法存在于使用HttpServletRequest类的类中 3)项目POM中引入有javax.servlet-api坐标或没有 <!-- Servlet --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-ap

servlet HttpServletResponse类

HttpServletResponse 类和 HttpServletRequest 类一样.每次请求进来,Tomcat 服务器都会创建一个 Response 对象传递给 Servlet 程序去使用.HttpServletRequest 表示请求过来的信息,HttpServletResponse 表示所有响应的信息,我们如果需要设置返回给客户端的信息,都可以通过 HttpServletResponse 对象来进行设置 a) 两个流 字节流 getOutputStream(); 常用于下载(传递二进