博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
24@Servlet_day04
阅读量:5129 次
发布时间:2019-06-13

本文共 1878 字,大约阅读时间需要 6 分钟。

 

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

 

转载于:https://www.cnblogs.com/VillainSue/archive/2012/05/25/2518555.html

你可能感兴趣的文章
【Linux】ping命令详解
查看>>
对团队成员公开感谢博客
查看>>
java学习第三天
查看>>
python目录
查看>>
django+uwsgi+nginx+sqlite3部署+screen
查看>>
Andriod小型管理系统(Activity,SQLite库操作,ListView操作)(源代码下载)
查看>>
在Server上得到数据组装成HTML后导出到Excel。两种方法。
查看>>
浅谈项目需求变更管理
查看>>
经典算法系列一-快速排序
查看>>
设置java web工程中默认访问首页的几种方式
查看>>
ASP.NET MVC 拓展ViewResult实现word文档下载
查看>>
8、RDD持久化
查看>>
第二次团队冲刺--2
查看>>
VMware Tools安装
查看>>
Linux上架设boost的安装及配置过程
查看>>
[转载]加密算法库Crypto——nodejs中间件系列
查看>>
zoj 2286 Sum of Divisors
查看>>
使用Xshell密钥认证机制远程登录Linux
查看>>
OpenCV之响应鼠标(三):响应鼠标信息
查看>>
Android 画图之 Matrix(一)
查看>>