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.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层:数据库的访问代码。
posted on 2019-06-15 23:17  行之间  阅读(446)  评论(0编辑  收藏  举报