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. 修改Oracle数据库SGA和PGA大小

    SGA的大小:一般物理内存20%用作操作系统保留,其他80%用于数据库.SGA普通数据库可以分配40%-60%之间,PGA可以分配20%-40%之间.1.以dba身份登录并查看SGA信息:SQL> ...

  2. LRU management

    LRU management 字典树用来查找值,实现map<string,int>操作 tips:tot必须从一开始QAQ #include<bits/stdc++.h> us ...

  3. ConcurrentModificationException异常

    介绍一个我今天在开发中遇到的异常:ConcurrentModificationException异常,当然它是一个非受检的异常,也就是运行时异常. 当我们在遍历集合对象的时候,不能够将集合删除.最佳实 ...

  4. (转)CentOS7下解决ifconfig command not found的办法

    转:https://blog.csdn.net/ryu2003/article/details/78492127 注:本办法仅限于可联网的机器,即在安装时设置了IP地址和DNS可正常上网. 解决办法如 ...

  5. zabbix 接入钉钉机器人报警

    import requests import json import sys import os headers = {'Content-Type': 'application/json;charse ...

  6. spring-cloud eureka注册发现

    idea新建一个eureka server服务 application.yml 配置: spring: application: name: eureka-server server: port: 7 ...

  7. 16/7/8_PHP-书写规范 PHP Coding Standard

    变量命名规范这里感觉 打算采用 匈牙利命名法+驼峰法命名,因为 PHP是弱类型语言,很多时间因为忽略了变量类型而导致犯一些低级错误.所以在前面加上类型名有助于更好的理解代码. 下载是转载 PHP书写规 ...

  8. Bootstrap 学习笔记11 按钮和折叠插件

     复选框: <div class="btn-group" data-toggle="buttons"> <label for="se ...

  9. iframe父页面和子页面高度自适应

    父页HTML: <iframe  id="mainframe" name="mainframe"  style="width:100%;&quo ...

  10. [Linux] 018 关机重启命令

    1. shutdown 命令 $ shutdown [选项] 时间 选项 -c 取消前一个关机wgwy -h 关机 -r 重启 2. 其他关机命令 $ halt $ poweroff $ init 0 ...