我们在创建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);