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这两个方法才可以正常执行。