ao-service-servlet-jsp构建简易web通讯录(三层开发)预备知识

来源:互联网 发布:python crash course 编辑:程序博客网 时间:2024/05/20 10:54

结构关系

三层架构简介:所谓的三层分为物理上的三层和逻辑上的三层。物理上的三层包括:客户端(PC)、应用服务器、数据库服务器。逻辑上的三层,也就是我们要讨论的,分为表示层、业务逻辑层、数据访问层。
这里写图片描述

servlet

一、Servlet程序各模块介绍

1.JSP 用于显示、收集数据的部分。
2.Servlet 用于验证数据、实例化JavaBean、调用DAO连接数据库、控制页面跳转
3.DAO 用于连接数据库及进行数据库的操作如:查询、删除、更改等
4.JavaBean 用于数据的封装,方便将查询结果在servlet与jsp页面之间进行传递等
5.servlet过滤器 它能够在一个request到达servlet之前预处理request,也可以在离开servlet时处理response
6.servlet监听器 监听Web的各种操作,当相关的操作触发后将产生的事件,并对此事件进行处理
以上 1,2,3,4部分共同构成了MVC模式,JSP为MVC模式当中的V,Servlet为C,DAO与JavaBean合在一起为M。
二、模式运行流程:
用户首先打开一个JSP页面,这个JSP页面用于收集用户输入的数据(使用Form表单实现),当用户单击提交按钮时,此JSP页面被提交到对应的Servlet,此时工作转向Servlet。Servlet将提交到的数据进行处理,处理过程如下:
1、(可选)对数据进行合法性验证、乱码处理等
2. 实例化DAO,调用DAO的方法(进行数据库数据的更新查询操作)
3. 将DAO返回的数据进行保存,保存的位置可选(request,session等)
4. 进行页面的跳转
在Servlet调用DAO的方法过程中,DAO的处理过程如下:
1. 连接数据库(这些操作可以放在DAO的构造函数当中,也可以写成单独的方法)
2. 处理查询方法,这里给出基本步骤。先按查询语句及传过来的参数进行数据库的查询得到一个ResultSet结果集,为了方便将结果返回给Servlet及方便后面的显示,现将结果进行封装并以ArraryLis或者JSON串,xml串等等t的形式返回给servlet。为了进行数据的封装,这里就需要实例化一个JavaBean,这个JavaBean的字段与数据库表当中的字段一一对应,并为各个字段添加get(),set()方法。
Serlvet在得到数据后,再将页面进行跳转,此时数据已保存下来。我们可以在另外一个JSP页面当中将数据提取出来,并按一定的格式进行排列。至此,一个完整的查询操作就完成了。
此操作虽然比较简单,但是却充分体现了MVC模式的思想。
三、Servlet介绍
Servlet生命周期分为三个阶段:
  1,初始化阶段 调用init()方法
  2,响应客户请求阶段  调用service()方法
  3,终止阶段  调用destroy()方法
Servlet初始化阶段:
  在下列时刻Servlet容器装载Servlet:
   Servlet容器启动时自动装载某些Servlet,实现它只需要在web.XML文件中的之间添加如下代码:

 <servlet>    <servlet-name>ListEmp</servlet-name>    <servlet-class>com.baizhi.servlet.ListEmp</servlet-class>  </servlet>   <servlet-mapping>    <servlet-name>ListEmp</servlet-name>    <url-pattern>/ListEmp</url-pattern>  </servlet-mapping> 

    2,在Servlet容器启动后,客户首次向Servlet发送请求
    3,Servlet类文件被更新后,重新装载Servlet
  Servlet被装载后,Servlet容器创建一个Servlet实例并且调用Servlet的init()方法进行初始化。在Servlet的整个生命周期内,init()方法只被调用一次。
我们定义Servlet的时候只需要继承HttpServlet即可。
  
四、过滤器的原理和介绍:
http://blog.csdn.net/qiwancong/article/details/7005808
五、servlet监听器:
http://wenku.baidu.com/view/9d199629e2bd960590c677ff.html
六、servlet程序还可以作为android或者MTK,wince平台客户端软件的服务端,
根据客户端的请求,进行处理,操作数据库,逻辑判断等后返回json,xml等类型的数据。
转自http://blog.csdn.net/yjtacx/article/details/9963281

封装

1可以彻底隐藏方法的内部实现,仅仅提供一个调用的方法给其他人,让其他使用这个类的人不需要关心是如何实现的,只要知道该如何调用就行。
2隐藏方法的内部实现的好处,可以让保留调用方法不变的同时,随意修改类的结构,而不影响其他人运行结果。
3封装还会分开类的属性,将类的属性分成私有属性和公共属性。私有属性仅供类自身调用,和公共属性也仅提供一个供外部调用的方法。
4按照软件的术语,良好的封装是能够减少耦合。

public class MyTime{private int num;//私有属性,仅能供类自身调用    public String date;    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式    date= df.format(new Date());    public String getDate() {        return date;    }////    public void setDate(String date) {//隐藏设置时间的方法,只能显示时间//        this.date = date;//    }}

http://www.cnblogs.com/qifengshi/p/5660462.html

myeclipse删除空包

myeclipse中通过调整视图结构就不会显示空包了。
在myeclipse里面package explorer 中有个倒三角 点击一下 ,下面选择package presentation 然后选择下面的就是包分成效果了具体操作如下:根据需求添加删除。
这里写图片描述

数据库连接时添加驱动

1:首选你需要下载Jdbc驱动器(mysql-connector-java-5.1.7-bin.jar这种类型的),百度云一下,网上有蛮多的

2:下载好上面的Jdbc驱动器后,打开工程,找到其下web root下的lib,将下好的驱动复制粘贴进去。
3然后点击刚才粘贴的那个jar包,找到build path继续找到add to build path,
(右键项目->Build Path->Configure Build Path->Java Build Path->Libraries->Add Jar->选择你的jar包 )
如图:
这里写图片描述

出现的结果如上图所示,这时添加完成之后,才可以使用MyEclipse连接My sql数据库。
这里写图片描述

连接数据库代码如下(需要重点注意的是Connection connect=DriverManage.getConnection(“jdbc:mysql://localhost:3306/test”,”root”,”密码”))//test是你所写数据库名称,root和密码是数据库的用户名和密码

原创粉丝点击