一:Java EE开发模式


模式,也就是我们常常讲究的“套路”,是历代程序员总结出的一套约定俗成的设计模式。

(1)Java EE 经历过的模式:

曾经的model1模式:

技术组成:jsp + JavaBean

model1的弊端呢也是显而易见的,随着业务的复杂性,导致了jsp里面代码十分的混乱。

现在的model2模式:

技术组成:jsp + servlet + javabean

model2的优点:

开发中使用各个技术擅长的方面,其中servlet擅长处理业务的Java代码,jsp擅长页面的显示。

所以就引申出我们现在的MVC模式:—web开发的设计模式

二:MVC

前面说到MVC就是web开发的设计模式(web开发都有的),MVC指的是:

*M: Model — 模型 javaBean(遵循一种固定方法的类)来封装数据。 *

V:View — 试图 jsp 单纯的进行页面的显示

C:Controller — 控制器 Servlet:获取数据,对数据进行封装–转发数据–指派给jsp页面来显示数据

三:Java EE 的MVC—三层架构

(1)我们知道在之前我们服务器开发的时候,把所有的操作基本上都写在了servlet里面,这就使得模块化的思想不能体现,也使servlet十分复杂,功能太多.

所以我们依据MVC模式来为Java EE 构建了一种开发模式,称为Java EE的三层架构。

(2)在服务器的开发时,分为三层:
web层:收集页面的数据,封装数据,指定响应jsp页面(与客户端进行对接交互)

service层:顾名思义 来进行复杂业务处理和运算的

dao层 :这层主要是与数据库进行交互

(3)开发实践时 三层架构通过我们编译器的包结构来体现

domain:是我们的实体类,里面会存放我们的JavaBean类

utils:是我们的工具类,繁琐的代码编写成工具类可使代码清晰

四:案例实现—显示商城商品

我们总共就依据我们的三层架构分为三个方向来编写代码,实现这个demo。
1.准备工作:

搭建好IDEA开发环境(web开发),连接Tomcat服务器,连接MySQL数据库,检查数据库中数据完整

导入必须的lib包以及配置文件:

(1)由于要用到数据库和连接池,我们会导入c3p0以及dbutils(特有工具类)和我们mysql-connector

(2)由于我们的jsp文件要动态显示,要用到jstl标准标签库,所以会导入jstl和standard
(3)由于要使用连接池dbutils工具类,所以我们还需要导入c3p0的配置文件,写好连接数据库的配置
2. 导入前端所给的jsp页面(里面有header和footer等等),放在web下即可
3. 搭建好三层架构,web service dao,并创建domain实例和编写好的utils工具类
domain的实例代码和utils工具类的代码跳过—————————-

第一层:web层–servlet类

首先先将请求传至service的进行业务操作,创建一个service对象和一个存储数据的集合list,进入service的findAllProduct方法()

里面通过操作,拿取出并存储数据,然后转发给jsp页面进行显示。

先将数据存储到request域中,在转发给jsp页面。
第二层:service层

由于我们此demo中没有什么特别的业务操作,所以就只有调用dao层的方法,进入dao层。
第三层:dao层

利用QueryRunner核心类通过dbutils来用SQL语句操作数据库,拿取到所有的数据存储到list集合中,再依次将list return回我们的web层进行数据的交互。