码迷,mamicode.com
首页 > 其他好文 > 详细

servlet学习

时间:2014-12-03 23:08:38      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   ar   os   使用   sp   on   文件   

  1. 什么是servlet?
    • servlet是sun公司制定的一种用来拓张web服务器功能的一个组件规范。
  2. 组件和容器?
    • 组件:
      • 为了实现特定的规范并且可以进行单独部署的软件模块,组件一般是用来实现具体的业务逻辑的,而且组件必须依赖容器而运行。
    • 容器:
      • 为了实现特定的规范的程序,他提供了组件运行的环境,并且可用来管理组件的生命周期,一般常见的web容器都在tomcat、weblogic、was、包含着。
  3. servlet是怎么运行的?
    1. 当用户在浏览器上输入:http://ip:port/helloweb/hello?name=zh后
    2. 连接了服务器,通过ip:port来连接的;
    3. 浏览器将请求数据按照http协议进行打包(数据包),把数据包发送给服务器,这个数据包中包含了资源路径(工程名之后的所有东西)以及包含了浏览器自动生成的一些信息;
    4. 服务器生成了两个对象:请求对象(request)和响应对象(response),服务器开始解析请求数据包,将解析的数据包里面的数据存放在请求对象中,方便servlet读取这个请求对象里的数据,注意:请求对象必须是HttpServletRequest接口的一个实现,响应对象必须是HttpServletResponse的一个实现。
    5. 通过资源路径找到相应的Servelet配置,通过反射来创建一个servlet的实例,然后进行调用servlet实例的service()方法;
    6. 服务器获取到response对象中的数据之后,按照http的协议打成一个数据包再发送给浏览器。
    7. 浏览器进行解析这个数据包,取出响应,生成相映的动态页面
  4. 图例
  5. bubuko.com,布布扣
  6. Servlet实例的创建方法?
    1. 继承HttpServlet这个类  
    2. 实现Servlet接口
      1. 实现Servlet接口,必须实现接口的5个抽象方法。从抽象方法里面看到我们servlet实例的生命周期,我们servlet的生命周期主要是分为4个阶段:实例被构造、实例初始化、实例业务逻辑处理、实例被销毁。需要注意的是:在默认的情况下,实例不会随着tomcat的启动而创建。实例被销毁的方法,也不会随着浏览器的关闭或者service方法的结束而调用,而是在tomcat服务器关闭的时候被调用;
      2. 在某些时候,我们需要某些Servlet实例随着tomcat的启动而启动,那么此时,需要在web.xml文件中指定的servlet标签里加上一个<load-on-startup>这个标签即可,它代表的是servlet启动的优先级,这个标签内部写正整数,0为优先级最大,注意:如果多个servlet的实例的优先级设置为相同的话,那么由tomcat来决定谁先执行,不建议多个servlet使用同一个优先级
    3. 实现接口与继承类的区别:
      1. 除了继承和实现这两者固有的区别(继承的开发效率高)之外,最重要的区别是HttpServlet这个类可以提供对Http协议的支持。
    4. Servlet的生命周期
      1. 实例创建,实例的创建分为两种情况:第一种,当请求到达容器的时候,容器会去经查是否存在servlet实例,如果不存在,则会创建;第二种,当容器启动的时候,容器会去检查web.xml中是否存在load-on-startup这个标签,如果存在,则按照优先级来创建servlet实例;
      2. 初始化阶段,在这个阶段里,servlet对init发方法进行了重载,如果你在使用带参数的init方法的时候,注意不要删除super.init(config);
      3. 业务逻辑处理阶段(调用/就绪),这个阶段是可以多次执行的,并且我们可以根据表单的提交方式来调用doGet方法还是doPost方法,理论上是不允许doGet/doPost和service方法同时出现的情况;
      4. 销毁阶段,即销毁的是servlet对象,并且释放所有的资源,注意了init和distory在整个生命周期中,有且只会执行一次,而service方法有可能执行多次

servlet学习

标签:style   blog   http   ar   os   使用   sp   on   文件   

原文地址:http://www.cnblogs.com/dondming/p/4141344.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!