①JSP+JavaBean+Servlet
视图 业务 控制 MVC
1)javabean 封装了数据和操作的功能类 供(web组件)jsp,servlet调用
[内容:私有属性 get/set方法 构造函数]
2)Servlet:接收数据并处理 [doGet/doPost方法]
关系:
jsp中含有参数,对应javabean中的属性。jsp中form action指定serlvet的映射路径,转向servlet。servlet和jsp通过request、session、application(jsp内置对象)实现数据共享。
jsp页面请求参数,请求参数信息传给servlet,servlet在request中获取参数,创建javabean对象实例,将其封装到javabean对象,并调用javabean内定义的业务处理方法,得到结果。用request中setAttribute("属性",属性值),把结果值设定在request范围(容器)内[实现属性数据共享],请求转发后的页面使用getAttribute可获取结果值。/servlet根据结果值直接选择转发到jsp页面,显示页面信息。
②JSP+JavaBean+Servlet+DAO
DAO模式:把数据库表的操作转化为对java类的操作。(抽象出数据访问方法[增删查改],所有数据访问都有DAO代理)
[在java语言或JSP,在实现数据库操作时,可以采用将数据库表和普通的java类映射,将数据表转换为类(对象),然后利用对象实现对数据库的操作。]
[JavaBean和DAO之间的数据传递和交换。][数据访问逻辑使用DAO模块提供服务,为了使得任何需要访问数据库中数据的逻辑操作都可以以统一的方式使用DAO,一般需要设计数据访问逻辑处理的接口。]
1)数据JavaBean:对应数据库表结构,即每个字段属性,以及get/set方法
2)数据访问逻辑处理接口(DAO接口):抽象出来的数据访问方法,如增删查改方法
3)业务逻辑处理类(JavaBean) -DAO:继承接口 写具体实现方法
4)serlvet调用有关对象的操作方法
③视图层设计技术:HTML、JSP、JSTL(JSP标准标签库)、EL(表达式语句)、Ajax技术(运用Javascript和可扩展语言xml实现浏览器与服务器通信)。
④servlet技术:监听器(Listener)和过滤器(Filter)。
⑤JDBC技术:用于执行SQL语句的java api,由一组类与接口组成,通过调用这些类和接口所提供的方法,可以使用标准的SQL语句来存取数据库中的数据。
⑥struts2框架
1)struts是整合了当前动态网站技术中Servlet、JSP、JavaBean、JDBC、XML等相关开发技术基础上的一种主流Web开发框架。
2)struts2是基于MVC模式的web框架,按照MVC的思想主要有控制器层包括核心控制器FilterDispatcher、业务控制器Action;模型层,包括业务逻辑组件和数据库访问组件;视图组件。
3)struts.xml(控制器层组件) : 实现视图(页面JSP)与业务逻辑组件(Action)之间关系的声明。
4)对于struts2,各组件之间的数据共享是通过Action的属性实现的,提交界面给输入域x,y提供值;提交后,进入Action,Action接收数据并赋值给自身属性,然后自动执行方法execut(),并返回一个字符串;在配置文件struts.xml中,根据字符串的值,转向不同的处理。
5)p241例11-1 开发步骤理解
web.xml配置核心控制器
编写JSP页面(视图组件) struts标签、form action=""
编写业务控制器组件(Action) 属性变量get/set方法
修改struts.xml配置文件,配置Action和页面跳转配置
6)struts2中的Action能自动将请求参数传递给对应的包含Setter方法的属性,但当页面请求参数较多是,把过多的参数属性定义在Action中不符合Struts所倡导的松耦合原则,较好的办法是使用javabean来封装参数,在Action中定义javabean对象作为属性,在表单中使用对象的属性作为表单域。
jsp中form action="javabean对象"
7)多方法的Action:
前面都是通过execute()方法处理请求。[action的method缺省是,默认为excute方法]在实际应用中,所为每个业务逻辑定义一个Action,需要在struts.xml中配置的内容多,action也多。可以用一个Action处理多个业务请求,并在struts.xml指定业务处理所采用的方法。
方式:
为Action配置method属性
动态方法调用
使用通配符映射方式
⑦Hibernate持久化技术
1)Hibernate框架封装了JDBC的一种来源的对象/关系映射(ORM)。
2)数据持久化:程序中的数据以某种形式保存到某存贮介质中。
3)通过配置文件和映射文件把java对象或持久化对象(PO)映射到数据库表格,然后通过操作PO实现对数据库中的数据进行增删查改等操作。
————
自己的理解:
1.JSP+Servlet+JavaBean
1)隐含jdbc+mysql,
2)jdbc技术放在javabean里实现了,如DbUtils,封装对数据库表的操作。
3)DAO模式时,jdbc技术则处在访问逻辑处理类中(xxxDAO)。
2.JSP+JavaBean+Servlet+DAO模式
就是改变了javabean,将原来javabean(属性、get/set方法、业务操作方法)变成多个文件→
数据javabean[属性和get/set方法]、
数据访问逻辑处理接口[抽象的数据处理方法]、
业务处理javabean[继承接口,实现具体方法]
3.struts2框架
1)用 struts2+数据库 就能完成一个系统项目开发。 可以取代整个JSP+Servlet+JavaBean。
2) 是个MVC模式框架,
控制层功能相当于servlet技术,Action相当于servlet,且有监听器拦截器
视图层:JSP struts标签(似JSTL、EL表达式)
模型层:依旧是javabean。
3)区别:
在struts2,各组件之间的数据共享通过Action的属性实现的。
4) servlet和Action的相似点
servlet需要在web.xml中配置,配置类路径、servlet名称、访问地址。在jsp中 form action="servlet访问地址"
Action需要在struts中配置,配置名称(地址映射名称)、对应的实现类、Action类中处理方法名、结果配置
4.Hibernate框架
1)可以取代原始JDBC
2)将PO持久化对象映射到数据表,实现自动化建数据库数据表
3)直接操作PO对象实现对数据库数据的操作