JSP开发模型

JSP Model

JSP Model1简单轻便,适合小型Web项目的快速开发。
JSP Model2模型是在JSP Model1的基础上提出的,它提供了更清晰的代码分层,更适用于多人合作开发的大型Web项目。
在早期使用JSP开发的JavaWeb应用中,JSP文件是一个独立的、能自主完成所有任务的模块,它负责处理业务逻辑、控制网页流程和向用户展示页面等

JSP Model1采用JSP+JavaBean技术,将页面显示和业务逻辑分开。

JSP充当着控制器与视图的双重角色,JavaBean扮演了模型的角色。JSP直接调用后台模型进行业务处理,同时,再由JSP返回用户结果界面

JSP Model 2架构模型采用JSP+Servlet+ JavaBean的技术,此技术将原本JSP页面中的流程控制代码提取出来,封装到Servlet中,从而实现了整个程序页面显示、流程控制和业务逻辑的分离。

使用了Servlet作为控制器,JSP则单纯的只负责显示逻辑(还包括很少量的Java代码)
实际上JSP Model2模型就是MVC(模型Model-视图View-控制器Controller)设计模式,其中控制器的角色是由Servlet实现,视图的角色是由JSP页面实现,模型的角色是由JavaBean实现。

MVC设计模式

MVC模式将软件程序分为3个核心模块:模型(Model)、视图(View)和控制器(Controller) 。即把一个应用程序的输入层、业务处理层、控制流程层按照View、Model、Controller的方式实现了分离,并分别承担不同的任务

1、模型(Model)--1.封装数据  2.处理数据
java中泛指  JavaBean。    数据封装,传递。 负责和数据库交互
模型负责管理应用程序的业务数据以及定义访问控制和修改这些数据的业务规则,当模型的状态发生改变时,它会通知视图发生改变,并为视图提供查询模型状态的方法。

由于其实现与界面独立,因此模型只需提供接口供上层调用,很好的体现了面向对象设计的信息封装和隐藏的原则

2、视图(View)--解析模型,显示数据
javaee中泛指  JSP。       专门和用户进行数据交互。
视图负责与用户进行交互,它从模型中获取数据向用户展示,同时也能将用户请求传递给控制器进行处理,当模型的状态发生改变时,视图会对用户界面进行同步更新,从而保持与模型数据的一致性。

由于多种视图可共享一个后台模型,这就为实现多种用户界面提供了便利

3、控制器(Controller)-- 1.获取用户请求数据  2.调用模型  3. 选择视图响应结果

javaee中泛指 Servlet 。   专门进行请求的处理,以及业务逻辑实现
控制器是负责应用程序中处理用户交互的部分,它负责从视图中读取数据,控制用户输入,并向模型发送数据。

控制器作为介于视图和后台模型间的控制组件,可更好的维护程序流程,选择业务模型,选择用户视图,使程序的调用规则更加清晰,很大程度上优化了系统结构

三层体系架构

数据访问 dao层: 1. 与数据库经行交换数据 2.对数据进行JavaBean封装
业务逻辑层 service层:专门用于处理业务数据
表示层 web层: 与浏览器进行数据交互

Java精选笔记_JSP开发模型的更多相关文章

  1. Java精选笔记_Tomcat开发Web站点

    Tomcat开发Web站点 Web开发的相关知识 B/S架构和C/S架构 C/S架构是Client/Server的简写,也就是客户机/服务器端的交互.常见应用 : QQ. 迅雷. 360. 旺旺等 B ...

  2. Java精选笔记_JSP技术

    JSP技术 JSP概述 什么是JSP 在JSP全名是Java Server Page,它是建立在Servlet规范之上的动态网页开发技术. 在JSP文件中,HTML代码与Java代码共同存在,其中,H ...

  3. Java精选笔记_自定义标签

    自定义标签 自定义标签入门 什么是自定义标签 自定义标签可以有效地将HTML代码与Java代码分离,从而使不懂Java编程的HTML设计人员也可以编写出功能强大的JSP页面 JSP规范中定义了多个用于 ...

  4. Java精选笔记_国际化

    国际化 什么是国际化 指软件在开发时就应该具备支持多种语言和地区的功能,当应对不同国家和地区的用户访问,针对不同国家和地区的用户,提供相应的.符合来访者阅读习惯的页面和数据. 由于国际化interna ...

  5. Java精选笔记_JSTL(JSP标准标签库)

    JSTL(JSP标准标签库) JSTL入门 JavaServer Pages Standard Tag Library:JSP标准标签库 在JSP中可以通过Java代码来获取信息,但是过多的Java代 ...

  6. Java精选笔记_EL表达式

    EL表达式 初始EL EL是一种可以简化JSP页面的表达式,EL表达式的语法非常简单都是以"${"符号开始,以"}"符号结束的 EL表达式是一种简单的数据&qu ...

  7. Java精选笔记_Servlet事件监听器

    Servlet事件监听器 概述 在程序开发中,经常需要对某些事件进行监听,如监听鼠标点击事件.监听键盘按下事件等,此时就需要使用事件监听器. 事件监听器用于对程序中发生的事件进行监听,在监听的过程中会 ...

  8. Java精选笔记_DBUtils工具

    DBUtils工具 API介绍 为了更加简单地使用JDBC,Apache组织提供了一个工具类库commons-dbutils组件. 该组件实现了对JDBC的简单封装,可以在不影响性能的情况下极大简化J ...

  9. Java精选笔记_JDBC

    JDBC 概述 什么是JDBC JDBC全称是Java数据库连接(Java Database Connectivity),应用程序可通过这套API连接到关系数据库,并使用SQL语句来完成对数据库中数据 ...

随机推荐

  1. 在哪个web.xml中配置welcome页面

    是在tomcat的web.xml中配置,而不是在你的%web-project-root%/WEB-INF/web.xml中! 示例 <welcome-file-list> <welc ...

  2. C#中一道关于多线程的编程题

    题目的意思是这样的:让两个线程A和B将自己的ID轮番写入一个文件中,每个线程重复十次写入后执行一个回调函数,说“I'm OK”,就这样.我是一名QA,不是开发,出于兴趣报考了公司的C#课程考试,多线程 ...

  3. css3实现的鼠标经过按钮特效

    今天要为各网友再带来一款css实现的鼠标经过按钮的特效.按钮初始时,边框为断开的按钮,当鼠标经过按钮时动画变为封闭的边框.效果图如下: 在线预览   源码下载 我们一起看下实现的代码: html代码: ...

  4. hdu4366 Successor

    好题.   可是感觉题目描写叙述不是非常清楚 这题仅仅是询问开除某人后,他的下属中谁会替代他的位置.不会更新这个位置 要求一个子树中忠诚度最高的人. 能够想到dfs树.保留时间戳.每一个节点便表示一个 ...

  5. 阿里云ECS,WampServer无法访问外网

    情况: 使用阿里云ECS服务器.服务端打开WampServer后,在服务端能通过127.0.0.1和localhost访问到WampServer的首页. 阿里云已经给了外网IP,不需要路由器再做端口映 ...

  6. Android——列表视图 ListView(三)BaseAdapter

    activity_activitybase.xml <?xml version="1.0" encoding="utf-8"?> <ListV ...

  7. node-webkit播放目录下所有网页文件

    1.编写index.html文件 这里我们需要播放某一个目录下所有的网页文件,要做到切换不同的网页,可以在index.html中使用iframe.通过js动态改变iframe的src属性,从而动态地切 ...

  8. 利用层的table-row、table-cell属性进行页面布局

    利用层的table-row.table-cell属性可以进行等高.宽度自适应页面布局,这是参看了<我所知道的几种display:table-cell的应用>及<基于display:t ...

  9. 用javascript将数据导入Excel

    网上收集的代码 <input type="button" name="out_excel" onclick="AutomateExcel();& ...

  10. Hadoop书签

    1)http://www.cnblogs.com/forfuture1978/archive/2010/03/14/1685351.html 2)http://www.cnblogs.com/sund ...