所属的包:javax.servlet.http(当中很多类型覆盖了javax.servlet中的类型)
覆盖关系:
HttpServlet类:
有两个service方法,一个是覆盖GenericServlet的,一个是新的:protected void service(HttpServletRequest request,HttpServletResponse response) throws ServletException,java.io.IOException。
当容器调用HttpServlet时候会先用第一个覆盖的service方法,把代表请求的ServletRequst向下转化为HttpServletRequest(响应同理),再然后调用第二个新的的service方法,
参数为HttpServletRequest,HttpServletResponse,之后HttpSevlet的新service方法会分别查看用来发送请求的http方法(request.getMethod),(新service方法)调用doGet,doPost(对应于HTTP POST方法,也就是表单的的post),doHead,doPut,doTrace,doOptions,doDelete中之一,其中doGet,doGet最常用,所以直接覆盖doPost,doGet或者都覆盖即可。
所以他和GenericServlet的区别在于:不用覆盖service方法,直接覆盖doPost,doGet或者都覆盖,HttpServletRequest,HttpServletResponse代替ServletRequest,ServletResponse。
HttpServletRequest接口:
表示Http环境的请求,相对于ServletRequest接口增加了几个方法。
常用:getCookies() , getSession()返回与这个请求有关的HttpSession类型的session如果没有据创建新的。
HttpServletResponse接口:
addCookie(Cookie cookie)给响应对象添加cookie,sendRedirect(String location)将浏览器重定向到location。