博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVAEE企业级应用开发浅谈之MVC 中的V-VIEW视图
阅读量:4956 次
发布时间:2019-06-12

本文共 2059 字,大约阅读时间需要 6 分钟。

Step1.情景概要

Hello,小伙伴们,好久不见,之前跟大家分享了,相信大家对于这两块内容有了相对清晰的个人认识了,既然我们讲到了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收到的应答发送给客户端。

运行简图如下:

看到这,大家应该对Servlet 执行过程一目了然了吧,然后我们继续往下看JSP 的运行原理
 
服务器具体是如何做到的?

  1. 用户通过浏览器发送请求
  2. tomcat服务器收到*.jsp请求,会到org.apache.jasper.servlet.JspServlet处理,(tomcat  web.xml) 里有对应处理jsp 请求具体配置

test01.jsp页面未被访问时,查看tomcat 下work 目录 截图如下:
当JSP页面第一次被请求时,JSP引擎会将JSP原始文件转换成Servlet源代码,然后调用Java编译器,编译成Servlet,并在Servlet引擎中执行。当再次有请求的时候,JSP引擎会见差异编译好的JSP是否比原来的JSP原始文件要新,如果是,运行Servlet;如果不是,表示文件已经更新的了,就会从新执行转换和编译的过程。
test01.jsp访问成功后进入文件再次查看
查看目录下具体生成的文件
 
简要查看生成的 test01_jsp.java 文件内容
 
查看tomcat 源码,查看HttpJspbase到底是什么???
 
至此,可以发现 HttpJspBase 就是继承了HttpServlet!!!
所以,到现在为止,我们可以这样理解,可以把jsp 看做一个servlet来对待!!!
既然jsp 就是一个servlet ,为何还要使用jsp?
我们在使用servlet 时,大家应该能够体会到在使用servlet 向浏览器输出页面内容时,并没有那么容易,同时当servlet 中涉及到的逻辑很复杂的时候,既要处理业务逻辑,又要控制页面数据的显示形式,这时候仅仅使用servlet来完成这些功能理论上可以实现,但对于项目的后期维护来说,工程量可能就是巨大的,于是业界就催生出了jsp(当然还有其他的技术 .net,php等)的技术,通过使用jsp技术,我们可以结合servlet ,将要显示的数据通过jsp 来进行展现,总结来说就是:
Servlet:
优点:逻辑处理方便 
缺点:页面表现麻烦
Jsp:
优点:页面表现方便
缺点:逻辑处理麻烦
所以要互补使用.一般项目采用:jsp+servlet+javabean 开发方式进行项目开发哦
好了,说到这,相信大家对JSP 视图展示层技术有了很清晰的认识,那另外的Velocity同样作为视图层技术又是怎么实现与使用的呢,哈哈,且听下次与大家分享。

转载于:https://www.cnblogs.com/shsxt/p/7858438.html

你可能感兴趣的文章
20172310 2017-2018-2 《程序设计与数据结构》第十周学习总结
查看>>
谈渗透测试
查看>>
Rebranding
查看>>
for 循环增强
查看>>
记事本GUI综合
查看>>
第三次作业
查看>>
sql常用函数
查看>>
Socket.io在线聊天室
查看>>
2016022607 - redis配置文件
查看>>
【android】uses-permission和permission具体解释
查看>>
javascript字符串方法
查看>>
spring中bean的生命周期
查看>>
查询运营商的所有下级运营商
查看>>
字符编码笔记:ASCII,Unicode和UTF-8【转载】
查看>>
属性的copy和mutableCopy修饰符(?)
查看>>
Python批量修改图片格式和尺寸
查看>>
转:nginx入门指南,快速搭建静态文件服务器和代理服务器
查看>>
ios开发之-本地推送通知
查看>>
[bootstrap]模态框总结
查看>>
POJ - 2541
查看>>