HttpServletRequest

我们在创建Servlet文件时不使用实现servlet接口,而使用继承HttpServlet类的方法,在内部会出现两个方法:doGet()和doPost(),这两个方法括号中的参数都已经被转化为HttpServletRequest和HttpServletResponse,避免了在使用的时候还需要强转,同时,doPost()方法也是在调用doGet方法,所以修改时只需要修改doGet()即可。

==========================================================================================================================================

HttpServletRequest类的常用方法:

获取请求行

.getContextPath() 返回web应用的名称

.getMethod()返回请求方式

.getRequestURL返回请求行中请求资源的Http地址

.getRequestURI返回请求行的web应用的内部位置

==========================================================================================================================================

 获取请求头:

.getHeader(String name)获得请求头中名称为name的值

.getHeaderNames()获取所有的请求头名字,存入Enumeration类型中,通过枚举的方式获得所有的headername。

.getHeaders(String name)获取名字为name的所有请求头。

. getParameterMap()获取所有的请求头信息,存入Map<String,String[]>类型的对象中。

==========================================================================================================================================

request同时是个域,它通过getAttribute(),setAttribute(),removeAttribute()的方式,写入,获得,删除键值对,它的作用范围仅在一次请求中生效。

==========================================================================================================================================

request的请求重转发,是将客户端的请求转发给本服务器的别的servlet,然后展示给客户端其资源,不像重定向一样,它的网址不会变,而且不需要客户端的第二次请求,但它只能展示服务器内部资源,无法展示外部网站的资源。

格式:request.getRequestDispatcher(输入请求转发的位置).forward(request,response);


原文地址:https://www.cnblogs.com/zhangrui0328/p/9276726.html