你的位置:首页 > 软件开发 > Java > JAVAEE企业级应用开发浅谈之MVC 中的V

JAVAEE企业级应用开发浅谈之MVC 中的V

发布时间:2017-11-19 00:00:08
Step1.情景概要Hello,小伙伴们,好久不见,之前跟大家分享了三层架构与MVC思想,相信大家对于这两块内容有了相对清晰的个人认识了,既然我们讲到了MVC,这里我们接着这块内容继续往下深入,今天我们来看看MVC 中的V-VIEW 即我们所说的视图层。 Step2.视图技术 ...

JAVAEE企业级应用开发浅谈之MVC 中的V

Step1.情景概要

Hello,小伙伴们,好久不见,之前跟大家分享了三层架构与MVC思想,相信大家对于这两块内容有了相对清晰的个人认识了,既然我们讲到了MVC,这里我们接着这块内容继续往下深入,今天我们来看看MVC 中的V-VIEW 即我们所说的视图层。

 Step2.视图技术

      对于我们WEB开发人员来说,视图的概念应该都不会很陌生了,我们在浏览网页时见到的各种形式的页面内容,背后都离不开我们所用的视图技术,对于JAVA Web 开发人员来讲,页面展示实际上就是模板+数据=页面内容,所有的web页面基本离不开这两点,而我们常用的视图表现层技术不考虑这种H5页面的话,目前市面上用的比较多的基本上是JSP、Freemarker,或者Velocity,对于这三种常见的视图表现层技术,这里先来说说JSP。
 

Step3.JSP概念与应用场景

   JSP(java server page ),故名思议,即在服务器端执行的页面,其实质为一个简化的servlet 它是在传统的网页HTML文件中插入Java程序段和JSP标记,从而形成JSP文件,后缀名为(*.jsp)。说了这么多实际上就是在HTML基础上加入JAVA 代码,运行在Tomcat(servlet)容器中的页面,最终项目发布后通过浏览器访问该页面后在浏览器输出的内容就是html ,是不是很简单呢。
   这里对于JSP ,概念中提到JSP 实质上就是Servlet ,只是JSP的出现解决了Servlet 的一个痛点问题,就是Servlet 页面内容输出是相对麻烦,特别是涉及到复杂的页面样式控制与JS 时,这时Servlet 就相对变的心有余而力不足了哦,这时JSP的出现,解决了Serlvet 的这一痛点问题,即:JSP 作为视图展示层显示页面内容更加方便!那说到这,JSP既然是Servlet ,那JSP 究竟是怎么执行的呢?
 

Step4.JSP执行过程剖析

这里在分析JSP 原理前,先来看下Serlvet 内部执行原理

  1. 客户端通过HTTP提出请求.
  2. Web服务器接收该请求并将其发给servlet。如果这个servlet尚未被加载,Web服务器将把它加载到Java虚拟机并且执行它。
  3. servlet将接收该HTTP请求并执行某种处理。
  4. servlet将向Web服务器返回应答。
  5. Web服务器将从servlet收到的应答发送给客户端。


运行简图如下:

JAVAEE企业级应用开发浅谈之MVC 中的V
看到这,大家应该对Servlet 执行过程一目了然了吧,然后我们继续往下看JSP 的运行原理

JAVAEE企业级应用开发浅谈之MVC 中的V
 
服务器具体是如何做到的?

  1. 用户通过浏览器发送请求
  2. tomcat服务器收到*.jsp请求,会到org.apache.jasper.servlet.JspServlet处理,(tomcat  web.


JAVAEE企业级应用开发浅谈之MVC 中的V
test01.jsp页面未被访问时,查看tomcat 下work 目录 截图如下:

JAVAEE企业级应用开发浅谈之MVC 中的V

当JSP页面第一次被请求时,JSP引擎会将JSP原始文件转换成Servlet源代码,然后调用Java编译器,编译成Servlet,并在Servlet引擎中执行。当再次有请求的时候,JSP引擎会见差异编译好的JSP是否比原来的JSP原始文件要新,如果是,运行Servlet;如果不是,表示文件已经更新的了,就会从新执行转换和编译的过程。
test01.jsp访问成功后进入文件再次查看
JAVAEE企业级应用开发浅谈之MVC 中的V

查看目录下具体生成的文件
 
JAVAEE企业级应用开发浅谈之MVC 中的V

简要查看生成的 test01_jsp.java 文件内容
 
查看tomcat 源码,查看HttpJspbase到底是什么???

JAVAEE企业级应用开发浅谈之MVC 中的V
 
至此,可以发现 HttpJspBase 就是继承了HttpServlet!!!
所以,到现在为止,我们可以这样理解,可以把jsp 看做一个servlet来对待!!!
既然jsp 就是一个servlet ,为何还要使用jsp?

我们在使用servlet 时,大家应该能够体会到在使用servlet 向浏览器输出页面内容时,并没有那么容易,同时当servlet 中涉及到的逻辑很复杂的时候,既要处理业务逻辑,又要控制页面数据的显示形式,这时候仅仅使用servlet来完成这些功能理论上可以实现,但对于项目的后期维护来说,工程量可能就是巨大的,于是业界就催生出了jsp(当然还有其他的技术 .net,php等)的技术,通过使用jsp技术,我们可以结合servlet ,将要显示的数据通过jsp 来进行展现,总结来说就是:

Servlet:
优点:逻辑处理方便 
缺点:页面表现麻烦
Jsp:
优点:页面表现方便
缺点:逻辑处理麻烦

所以要互补使用.一般项目采用:jsp+servlet+javabean 开发方式进行项目开发哦
好了,说到这,相信大家对JSP 视图展示层技术有了很清晰的认识,那另外的Velocity同样作为视图层技术又是怎么实现与使用的呢,哈哈,且听下次与大家分享。

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:JAVAEE企业级应用开发浅谈之MVC 中的V

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。