Servlet基础

Servlet学习笔记

1、Servlet优点
    1)可移植性(Portability)
    servlet皆用java语言开发,延续了java 跨平台的优点
    
    2)强大的功能
    Servlet能够完全发挥java API的权威,包括网络、多线程、远程对象调用RMI、JDBC等。
    
    3)性能
    servlet对象实体通常会停留在servlet内存,相同的请求可利用不同的线程来处理。但不是一直停留内存。
    
    4)安全性
    servlet具有类型检查、垃圾收集、异常处理等特性。
    
2、Servlet包结构
    javax.servlet.*
    提供了servlet基本库,抽象类和接口
    
    javax.servlet.http.*
    扩展继承了javax.servlet.*中某些类/接口,并增加与HTTP协议有关的功能
    
    

public abstract interface Servlet {
            //得到servlet的初始化信息和启动参数
            ServletConfig getServletConfig();
        
            //被servlet容器调用,并根据初始化信息来创建一个servlet实例
            void init ( ServletConfig servletConfig ) throws ServletException;
            
            
            //接受客户请求并返回相应信息
             void service(ServletRequest servletRequest,   
                                   ServletResponse   servletResponse)
                                                    throws ServletException, IOException;
            
            //返回servlet相关信息,包括作者、版本、版权等
            String getServletInfo();
            
            //被servlet容器调用,当该servlet不用的时候释放掉所占用的所有资源
            void destroy();
    }

    1、该接口只定义了servlet和客户端联系的方法并无实现。

    2、在servlet开始接收客户请求前由servlet容器调用init()方法对其初始化并将该实例放到服务器中。
    
    3、service()方法被servlet容器调用接受客户的请求并处理。
    ServletRequest类 :包含客户端的请求信息。
    ServletResponse类:包含服务器作出的回应。
    该方法会抛出ServletException和 IOException两个异常。
    
    4、当servlet实例长期不用,将被servlet容器通过垃圾处理器回收,并释放其所占的资源。
    
3、javax.servlet.Servlet接口的派生类
    javax.servlet.GenericServlet
      该类实现了Servlet接口并实现了部分方法,当创建普通的和HTTP无关的操作是可以通过继承该类创建新的Serlvet。

    javax.servlet.http.HttpServlet
      该类继承了GenericServlet类,并新增了和HTTP有关的几种操作。
      
      doGet(HttpServletRequest request, HttpServletResponse response); 用来处理Http get请求
      doPost(HttpServletRequest request, HttpServletResponse response); 用来处理Http post请求
      
      service(HttpServletRequest request, HttpServletResponse response); 用来处理Http请求的,可以处理get, post,delete
    
4、创建及配置Servlt
    1)、新建Java类,继承javax.servlet.http.HttpServlet;
    2)、实现service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
        init() throws ServletException
        init(ServletConfig config) throws ServletException 初始化方法,一旦WEB容器启动,则调用该方法
        destroy() WEB容器关闭或者确定了Servlet不再被使用时调用
    3)、进入WEB-INF目录,个性web.xml文件,增加servlet的描述信息,告诉WEB容器已经创建了一些Servlet
    4)、servlet说明:
        

<servlet>
            <servlet-name></servlet-name>
            <servlet-class></servlet-class>
</servlet>

    5)、servlet url匹配:
       

<servlet-mapping>
            <servlet-name></servlet-name>
            <url-pattern></url-pattern> ==>表示由哪个url访问指定名称的servlet
        </seervlet-mapping>

5、Servlet生命周期
    1)在WEB容器启动时,调用 init(ServletConfig)方法初始化Servlet
    2)由相应的Http请求方法或者service()方法处理请求并返回响应
    3)当servlet不再使用时,web容器调用destroy()方法销毁servlet
    
                                                 --by :练少

转载于:https://www.cnblogs.com/A0926/p/5316785.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值