Java EE模式和MVC
Java EE模式
什么是模式?
开发过程中总结出来的约定俗成的“套路”。
Java EE经历的模式
- model1模式
- 技术组成:JSP+JavaBean
- model1的弊端:随着业务的复杂性,导致JSP页面比较混乱
- model2模式
- 技术组成:JSP+Servlet+JavaBean
- model2的优点:使用各个技术擅长的方面
- jsp:擅长页面的显示
- Servlet:擅长Java业务代码
- MVC:web开发的设计模式
- M:Model--模型 JavaBean:封装数据
- V:View--视图 Jsp:单纯进行页面的显示
- C:Controller--控制器 Servlet:获取数据,对数据进行封装,传递数据,指派显示的JSP页面
MVC 其实就是JSP+Servlet+JavaBean,其中Controller就是Servlet
Java EE的三层架构,三层架构是Java EE的架构
服务器开发时,分为三层
- web层:与客户端交互--struts2+springMVC
- service层:复杂业务处理--spring
- dao层:与数据库进行交互--mybatis+hibernate
开发实践时,三层架构通过包的结构体现的。
MVC是三层架构web层的技术:JSP+Servlet+JavaBean
struts2+springMVC
服务器端的三层架构:web层、service层、dao层
- web层的servlet用于接收客户端的请求(表单则进行封装),将请求转发给service层,再转发给dao层,dao查询数据并封装好返回给service层,业务层返回给servlet,servlet将数据存储在request域,交给jsp页面进行显示,最终显示给用户。
创建web工程项目上有红叉,但是项目又可以正常运行,可能是因为你的工作空间有一个和该项目相同的文件存在
总结
EL表达式
从域中取出数据 ${域中存储的数据的name}
${pageContext.request.contextPath}
JSTL 标签(核心库)
- 导入jar包
jstl.jar和standard.jar - JSP中引入方式
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> - 重点语法
- <c:if test="{1==1}">嘻嘻</c:if>
test代表的返回boolean的表达式条件,需要借助EL表达式运算 - <c:forEach items="数组或集合名" var="集合中的某一个元素"></c:forEach>
items代表一个集合或数组,var代表集合中的某一个元素,类似于forEach的用法。
- <c:if test="{1==1}">嘻嘻</c:if>
Java EE三层架构+MVC
- web层:搜集页面数据,封装数据,传递数据,指定响应jsp页面
- service层:逻辑业务代码的编写
- dao层:数据库的访问代码。
Java EE模式和MVC的更多相关文章
- [原创]java WEB学习笔记18:java EE 中的MVC 设计模式(理论)
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- 最重要的 Java EE 最佳实践
參考:IBM WebSphere 开发人员技术期刊: 最重要的 Java EE 最佳实践 IBM WebSphere 开发人员技术期刊: 最重要的 Java EE 最佳实践 2004 年 IBM® W ...
- Java EE (8) -- Java EE Patterns
Java EE 模式目录由以下三个层组成: – 整合层(4) – 业务层(9) – 表示层(8) 涉及 Java EE 平台代码与其它类型应用程序或遗留系统的集成: 服务激活器 ...
- Java EE企业应用发展
新形式下的企业应用特点企业应用系统从封闭走向开放,由局域网转到互联网,随着涉众面的极大扩展,新的企业应用要求多浏览器支持,国际化支持,全球业务的互联互通.企业需求提升.除了功能性需求,客户对于安全,性 ...
- Java EE设计模式(主要简单介绍工厂模式,适配器模式和模板方法模式)
Java EE设计模式分为三种类型,共23种: 创建型模式:单例模式.抽象工厂模式.建造者模式.工厂模式.原型模式. 结构型模式:适配器模式.桥接模式.装饰模式.组合模式.外观模式.享元模式.代理模式 ...
- java web基础之mvc模式设计(一)--使用httpservlet实现mvc分层设计,DAO层使用的是dbutils实现与数据库的链接
一:1.最终的实现效果图: 2.案例的目录结构: 3.案例中使用到的jar包: 二:案例的链接数据库的层次结构关系:数据库是:mysql ,数据库名字:dsm,表格名字:customers 数据库表格 ...
- 轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4+Hibernate整合开发(含CD光盘1张)
轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4+Hibernate整合开发(含CD光盘1张)(国家级奖项获奖作品升级版,四版累计印刷27次发行量超10万册的轻量级Jav ...
- 用一天的时间学习Java EE中的SSH框架
首先说明一下,本人目前主要从事.NET领域的工作,但对于C++.Java.OC等语言也略知一二,周末闲来无事,特花费一天的时间学习了一下Java中的SSH框架,希望把学习过程中的心得体会与园友们进行分 ...
- Java 新特性(5) - Java EE 5 新特性
Java EE 5 由 Java Community Process 通过 Java Specification Request 244 发布,这个 “总纲” JSR 指出了详细描述 Java EE ...
随机推荐
- A Good Game
A Good Game 维护前缀和,排序 #include<bits/stdc++.h> using namespace std; typedef long long ll; #defin ...
- 基于canvas实现的高性能、跨平台的股票图表库--clchart
什么是 ClChart? ClChart是一个基于canvas创建的简单.高性能和跨平台的股票数据可视化开源项目.支持PC.webApp以及React Native和Weex等平台.在React Na ...
- selenium来识别数字验证码
用python写一爬虫,需要模拟登陆,并且有数字验证码.通过selenium+pytesseract+PIL可以实现验证码识别并登陆.三大步: 用selenium截屏,此时截取的是整个页面的 用PIL ...
- Jmeter 中文乱码解决方案
中文乱码一直都是比较让人棘手的问题,我们在使用Jmeter的过程中,也会遇到中文乱码问题,我查阅网上的资料解决方案都大同小异,而且不够全面或者不够详细,经过潜心研究终有所得,现在我将jmeter乱码解 ...
- python 数值系列-进制转换
进制转换 前语: 如果您不通二进制,八进制,十六进制,请移步:http://www.360doc.com/content/17/0211/21/40101294_628326994.shtml 问题 ...
- JAVA一切皆对象之包装类、自动装箱、自动拆箱
首先封装一个基本数据类型int, class P{ private int number; //封装一个私有的->基本数据类型 public P(){} public P(int number) ...
- mybatis缓存机制(转)
缓存在互联网系统中是非常重要的, 其主要作用是将数据保存到内存中, 当用户查询数据 时, 优先从缓存容器中获取数据,而不是频繁地从数据库中查询数据,从而提高查询性能.目 前流行的缓存服务器有Mongo ...
- 深入RESTful无状态原则
目录 目录 前言 无状态原则 Web服务的状态 基于状态的Web服务 基于无状态的Web服务 总结两者的区别 前言 在上篇RESTful基础知识中整体的介绍了RESTful架构设计思想的框架,在往后的 ...
- nmon分析工具的使用
linux监控服务器资源 1.下载nmon_linux_more_14g.tar.gz,下载完成解压之后,我们先命令行看看自己Linux的版本,和nmon支持一下Linux发行版本 2.mkdir / ...
- ScoutSuite:一款针对云集群环境的安全审计工具
工具介绍 Scout Suite是一款针对云集群环境的开源安全审计工具,主要针对的是云端环境的安全状况.通过使用云服务提供商暴露的API,Scout Suite可以从高安全风险区域收集配置数据以备研究 ...