24@Servlet_day04

 

1、dao
  1)什么是dao?
    data access object(数据访问对象)
    封装了数据访问逻辑的模块。
  2)如何写一个dao?
    step1 实体类
      就是一个普通的java类,该java类与要操作的表对应。
      比如,Employee类。
    step2 dao接口
    step3 dao实现类
    step4 工厂
      a,什么是工厂?
        是一种“设计模式", 主要思想是,封装了一个对象的制造过程,为调用者提供符合特定接口要求的对象。
      b,如何写一个工厂?


2、如何插入中文数据到数据库

  step1 在.html文件当中,使用<meta http-equiv="content-type" content="text/html;charset=utf-8"> 并且设置表单的提交方式为post
  step2 调用request.setCharacterEncoding("utf-8");
  step3  使用useUnicode=true&characterEncoding=utf8;
    告诉jdbc驱动程序数据库中的数据的编码是utf8;


3、servlet的生命周期及相关的接口与类

  1)servlet的生命周期
    a,生命周期的含义:
      servlet容器如何去创建servlet对象、分配其资源、调用service方法处理请求、以及销毁servlet对象的整个过程。
    b,生命周期的四个阶段:
      阶段一:实例化
        在默认情况下,当请求到达容器时,容器会先查看要调用的servlet对象是否存在;如果不存在,则创建;否则,不会再创建了。
        可以通过修改web.xml配置文件<load-on-startup>num</load-on-startup>
        容器启动时,会检查配置文件,如果某个servlet有load-on-startup参数,则会先创建好该servlet对象。num>=0,值越小,优先级越高。
      阶段二:初始化
        为刚刚创建的servlet对象分配资源。
        容器会调用servlet对象的init方法
        如果要实现自己的初始化逻辑,可以选择override init()方法。
      阶段三: 就绪
        当容器收到请求后,会调用servlet对象的service方法来处理。    
      阶段四:销毁
        容器会在销毁servlet对象之前,调用其destroy方法
                
  2)核心类与接口
    a, Servlet接口:
      init(ServletConfig config): 用于初始化,容器会事先创建好ServletConfig对象。
        这个方法只会执行一次。
      destroy():容器在销毁servlet对象之前,会调用该方法。
        这个方法也只会执行一次。
      service(ServletRequest request,ServletResponse response):容器收到请求后,会调用该方法来处理请求。
    b,ServletConfig接口:
      //获得servlet的初始化参数值
      String getInitParameter(String paraName);
    c,ServletRequest接口:是HttpServletRequest的父接口
    d,ServletResponse接口:是HttpServletResponse的父接口
    e,GenericServlet抽象类:
      实现了Servlet接口中的init和destroy方法。
    f,HttpServlet抽象类:
      继承了GenericeServlet,实现了service方法。
      该service方法会依据请求方式调用对应的doGet/doPost方法,而doGet/doPost方法会抛出异常,需要去override这两个方法才可以正常执行。
            
                    
            
           

 

posted @ 2012-05-25 19:48  笑仁术Rex  阅读(127)  评论(0编辑  收藏  举报