Servlet中主要的几个接口和类

接口:Servlet、ServletConfig、ServletRequest、ServletResponse、HttpServletRequest、HttpServletResponse、ServletContext

类:HttpServlet(抽象类)、GenericServlet(抽象类)

来张关系图
这里写图片描述

ServletContext:

ServletContext的对象是application是在项目初始化时被创建的。故servletContext随着应用初始化而被创建,随着应用的结束而被销毁。

ServletConfig :

 在应用初始化的时候,Web容器在创建Servlet对象时会自动将web.xml中的servlet配置这些初始化参数封装到ServletConfig对象中,并在调用servlet
 的init方法时,将ServletConfig对象传递给servlet。所以我们可以通过ServletConfig对象就可以得到当前servlet的初始化参数信息。

Servlet:

初始化有两种情况:

 一、随应用初始化时初始化,即在web.xml中设置<load-on-startup>参数</load-on-startup>,参数为整数值并且大于0,而且值越少,优先级越高。
 在springmvc项目中经常会用到这个配置
二、在应用运行中时,servlet被客户端请求时初始化。

servlet销毁:

servlet自身调用destroy()方法、servlet容器停止运行、项目停止运行都会销毁该servlet实例。

ServletRequest:

ServletRequest的对象是request,其生命周期为request域,一个请求结束,则request对象结束。

ServletResponse:

ServletResponse的对象是response,一次响应结束,则response对象结束。

HttpServlet和HttpServletRequest、HttpServletResponse

他们之间的关系就好像Servlet和ServletRequest、ServletResponse之间的关系一样,只不过做了少部分封装而已
(附加)请求的响应方式有四种:
request.getRequestDispatcher("*.jsp").forward(request, response) //转发
response.sendRedirect("*.jsp")//重定向
response.getOutputStream()//流
response.getWriter()//直接响应

这里说一下关于重定向需要主要的一点:

 当用到重定向方式响应时,不能通过request来传递参数,因为重定向会引发request过期。

原因:

转发:①客户端请求。②服务器响应。
重定向:①客户端请求。②服务器响应并告知客户端重新请求要重定向的地址。①客户端再次请求。②服务器响应。

一个请求一个对应的request对象,所以在重定向中,返回给用户的已不是原来那个request对象了。

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值