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.jarstandard.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的用法。

Java EE三层架构+MVC

  • web层:搜集页面数据,封装数据,传递数据,指定响应jsp页面
  • service层:逻辑业务代码的编写
  • dao层:数据库的访问代码。

Java EE模式和MVC的更多相关文章

  1. [原创]java WEB学习笔记18:java EE 中的MVC 设计模式(理论)

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  2. 最重要的 Java EE 最佳实践

    參考:IBM WebSphere 开发人员技术期刊: 最重要的 Java EE 最佳实践 IBM WebSphere 开发人员技术期刊: 最重要的 Java EE 最佳实践 2004 年 IBM® W ...

  3. Java EE (8) -- Java EE Patterns

    Java EE 模式目录由以下三个层组成: –     整合层(4) –     业务层(9) –     表示层(8) 涉及 Java EE 平台代码与其它类型应用程序或遗留系统的集成: 服务激活器 ...

  4. Java EE企业应用发展

    新形式下的企业应用特点企业应用系统从封闭走向开放,由局域网转到互联网,随着涉众面的极大扩展,新的企业应用要求多浏览器支持,国际化支持,全球业务的互联互通.企业需求提升.除了功能性需求,客户对于安全,性 ...

  5. Java EE设计模式(主要简单介绍工厂模式,适配器模式和模板方法模式)

    Java EE设计模式分为三种类型,共23种: 创建型模式:单例模式.抽象工厂模式.建造者模式.工厂模式.原型模式. 结构型模式:适配器模式.桥接模式.装饰模式.组合模式.外观模式.享元模式.代理模式 ...

  6. java web基础之mvc模式设计(一)--使用httpservlet实现mvc分层设计,DAO层使用的是dbutils实现与数据库的链接

    一:1.最终的实现效果图: 2.案例的目录结构: 3.案例中使用到的jar包: 二:案例的链接数据库的层次结构关系:数据库是:mysql ,数据库名字:dsm,表格名字:customers 数据库表格 ...

  7. 轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4+Hibernate整合开发(含CD光盘1张)

    轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4+Hibernate整合开发(含CD光盘1张)(国家级奖项获奖作品升级版,四版累计印刷27次发行量超10万册的轻量级Jav ...

  8. 用一天的时间学习Java EE中的SSH框架

    首先说明一下,本人目前主要从事.NET领域的工作,但对于C++.Java.OC等语言也略知一二,周末闲来无事,特花费一天的时间学习了一下Java中的SSH框架,希望把学习过程中的心得体会与园友们进行分 ...

  9. Java 新特性(5) - Java EE 5 新特性

    Java EE 5 由 Java Community Process 通过 Java Specification Request 244 发布,这个 “总纲” JSR 指出了详细描述 Java EE ...

随机推荐

  1. js 和jquery

    1. js 全称 javascript 是 web客户端 运行的 解释性语言.. 2. jquery 只不过是 js 封装 简化了 ajax 和 dhtml 的 一款js 框架而已. 简单来说 Jqu ...

  2. rownum的用法oracle

    SELECT * FROM T WHERE ROWNUM=1 可以查询出来数据, 而SELECT * FROM T WHERE ROWNUM=2不可以查询出来数据. in the case of wh ...

  3. vue中操作Dom节点的方法

    1.vue中ref操作dom节点 <template> <div id="app"> <div </div> <button @cl ...

  4. ruby类对象和对象

    class Box def initialize(w,h) @width,@height=w,h end def getArea puts "class of self #{self.cla ...

  5. 002-Visio绘制时序图

    一.概述 1.1.什么时候使用 当编码的时候,知道有的用例的业务逻辑按照比较确定的时间先后顺序进行展开.这时候,我们就需要知道我们设计的系统中的不同类之间传递消息(可以认为是不同对象函数间的调用)要按 ...

  6. eclipse调试debug时出现source not found

    eclipse调试debug时出现source not found 在代码中设置了断点,程序调试过程中可以继续运行使用断点,但是看不见程序走到哪了,debug页面出现source not found, ...

  7. 测开之路七十四:python处理kafka

    kafka-python地址:https://github.com/dpkp/kafka-python 安装kafka-python:pip install kafka-python 接收消息 fro ...

  8. Jenkins+Gitlab+自动化测试配置持续集成

    Jenkins安装在win7上 GitLab安装在docker上 需求:本地提交自动化测试代码在gitlab上后,jenkins自动构建,拉下新提交的自动化代码,并且运行 参考的链接: https:/ ...

  9. mysql使用localhost可以访问,使用ip地址无法访问

    本地安装的mysql服务,使用localhost可以连接,ip地址发无法连接: 解决办法: 进入mysql命令界面,输入select host,user from mysql.user; host字段 ...

  10. mybatis输出映射总结

    使用resultType作为输出映射 只有查询出来的列名和pojo中的属性名一致时,才会映射成功, 如果不一致,可以使用resultMap最为输出类型 不管是输出单个对象还是列表(list中包括poj ...