【目录】
1 什么是MVC
2 Java EE开发
2.1 JavaWeb开发:Servlet+JSP+Javabean
2.2 JavaEE开发:三层架构与常用框架
3 MVC和JavaEE三层架构的关系
4 给新手的三个小tips
1 什么是MVC
MVC是Model(模型)-View(视图)-Controller(控制器)的缩写。
简单来说,MVC就是一种设计模式,它把软件系统分为以下三个部分:
Model(模型):一个可以存取数据的模型,可以生成多个数据实例。可以带有业务逻辑(例如数据存取操作的实现)。
View(视图):只向用户展示数据,不进行逻辑处理。通常视图是依据模型数据创建的(C/S:模型可以主动推送数据到视图、B/S:模型不能主动推送数据到视图而要靠控制器)。
Controller(控制器):负责转发请求。通常控制器负责控制用户输入,并向模型、视图发送数据。
2 Java EE开发

一般来说,Java初学者会使用Servlet+JSP+Javabean来进行Web开发,在深入学习JavaEE后,会进一步使用框架。
2.1 JavaWeb开发:Servlet+JSP+Javabean
在这种模式下,Servlet对应着Controller(控制器),负责处理用户请求;JSP对应着View(视图),负责数据显示;JavaBean对应着Model(模型),负责封装数据。

从浏览器发起HTTP请求的角度来走一遍流程:
1.浏览器发起HTTP请求到Web服务器(Tomcat);
2.Tomcat 请求发给Servlet;
3.Servlet 调用合适的JavaBean;
4.JavaBean从数据库那里找到相应数据,完成业务逻辑,把结果回复给Servlet;
5.Servlet收到结果,转发给JSP;
6.JSP生成相应的HTML,并把HTML发给Tomcat;
7.Tomcat以HTTP响应的方式把HTML返回给浏览器。
PS:
1.【Apache和Tomcat】Apache也是一个Web服务器,不过只支持静态网页,不支持动态网页,如ASP、JSP、PHP等。如果要在Apache环境下运行JSP,就需要一个解释器,而这个JSP解释器就是Tomcat。当然,Tomcat也可以单独作为Web服务器使用。一个形象的比喻:Apache是一辆卡车,卡车上面可以装一些静态的东西,但是不能装动态的东西比如水,要装水就必须要有容器(桶),而这个桶也可以不放在卡车上,这个桶就是Tomcat。一般整合Apache+Tomcat+JDK,可以合理减少服务开销。
2.Servelt继承了HttpServlet类,就获得了执行HTTP协议的能力。
3.什么是JavaBean,简单来讲,可以保存的所有信息,以get、set方法对外提供存取接口的类,就能叫做JavaBean。
2.2 JavaEE开发:三层架构与常用框架
Java EE是 Sun 公司为企业级应用推出的标准平台,用来开发B/S架构软件。目前是 Java 应用最广泛的部分。平台涉及多种技术,下面展示最经典的三层架构。

在三层架构中,
表现层负责页面数据显示、页面跳转调度,可以由JSP和Servlet共同完成,常用框架有Struts 2、Spring MVC;
业务逻辑层负责业务处理和功能逻辑、事务控制,也被称作Service层 ;
数据访问层负责数据存取和封装、和数据库打交道、进行增删查改,也被称为持久层、Dao层,常用框架有Hibernate、MyBatis;
由于Spring、Springboot 等一站式框架提供了JavaEE各层的解决方案,使JavaEE开发更加容易,所以成为现在的主流框架。
PS:框架整合——最初是Struts+ Spring + Hibernate,后来演变为Struts2 + Spring + Hibernate,再后来随着Spring的强大以及Struts2经常爆出漏洞,逐渐演变成为了Spring + SpringMVC + Hibernate/Mybatis ,最近也慢慢变为了Springboot + Mybatis。
3 MVC和JavaEE三层架构的关系
需要注意的是,Controller(Servlet)和View(JSP)都停留在表现层,而Model(JavaBean)在表现层、Service层 之间流动。正如下图所示。

4 给新手的三个小tips
1.做Java开发需要安装JDK,不是JRE。JRE对应运行环境,JDK才对应开发环境。
2.码好代码以后调试,打开页面报404,但项目没有提示错误,可能只是忘记把工程添加到Server。配置好tomcat server即可。
3.新建项目有错误提示先不要着急,可能Eclipse还没有创建完成,等待1-2分钟即可。
注明:部分图片来自JavaEE体系结构。
网友评论