轻量级JavaEE企业应用实战(六)

Servlet介绍

Servlet是一个特殊的Java类,必须继承于HttpServlet,提供了不同的方法响应客户端的请求:

    doGet:响应GET请求

    doPost:响应POST请求

    doPut:响应PUT请求

    doDelete:相应DELETE请求

HttpServlet还包含了两种方法:

    init(ServletConfig config):创建实例时,初始化资源

    destory():销毁Servlet实例,自动调用该方法回收资源

使用标签形式的Servlet

@WebServlet(name="firstServlet", urlPattern={"/firstServlet"})
public class FirstServlet extends HttpServlet {
    //客户端的响应方法,使用该方法可以响应客户端所有的请求类型
    //service方法可以统一处理用户请求
    public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //内容
    }
}
 
@WebServlet是属于Servlet 3.0的Annoation
属性:
   1.asyncSupported 非必须,指定该Servlet是否支持异步操作模式
   2.displayName 非必须,指定该Servlet的显示名
   3.initParams 非必须,用于为该Servlet配置参数
   4.loadOnStartup 非必须,用于将该Servlet配置成load-on-startup的Servlet
   5.name 非必须,指定该Servlet名称
   6.urlPatterns/value  非必须,这两个属性都是处理该Servlet的URL
 
上述方式等同于
   <servlet>
      <servlet-name>firstServlet</servlet-name> //相当于name属性
      <servlet-class>test.firstServlet</servlet-class> //实现类
   </servlet>
   <servlet-mapping>
      <servlet-name>firstServlet</servlet-name>
      <url-pattern>/first</url-pattern> //urlPattern属性
   </servlet-mapping>

 

jsp/servlet生命周期

创建Servlet实例的时机

        1.客户端第一次请求这个Servlet实例,系统创建该实例

        2.WEB应用启动立即创建,即Load-on-startup

生命周期

        1.创建Servlet实例

        2.web容器调用init方法,进行初始化

        3.Servlet初始化后,将一直存在于容器中,用于响应客户端请求

        4.web容器决定销毁Servlet时,先调用destroy方法,通常在关闭web应用时销毁servlet

 

load-on-startup

       

注解:
    @WebServlet(loadOnStartup=1)
等同于配置文件:
    <Servlet>
        ... //省略其他
        <load-on-startup>1</load-on-startup>
    </Servlet>


 initParams

注解:
@WebServlet(initParams={
	@WebInitParam(name="driver", value="com.mysql.jdbc.Driver"),
	@WebInitParam(name="url", value="jdbc:mysql://localhost:3306/javaee"),
	@WebInitParam(name="username", value="root"),
	@WebInitParam(name="password", value="root")})
调用:
	ServletConfig config = getServletConfig(); //获取ServletConfig对象
	String driver = config.getInitParameter("driver"); //获取配置参数driver
等同于配置文件:
	<servlet>
		<init-param>
			<param-name>driver</param-name>
			<param-value>com.mysql.jdbc.Driver</param-value>
		</init-param>
	</servlet>
 

使用Servlet作为控制器

在标准MVC模式中

Servlet作为控制器使用

        类似于调度员:将所有用户请求都发给Servlet,Servlet调用Model处理用户请求,并调用JSP呈现处理结果

        Model通常由JavaBean充当,所有业务逻辑,数据访问逻辑都在Model中实现。可能还有丰富的组件,例如Dao,领域对象

JSP仅作为View

        1.收集用户的请求参数

        2.将应用的处理结果,状态呈现给用户

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值