三 JSP 技术
一 JSP 概述
1. 本质:在 HTML 语言中混合 Java 程序代码,由服务器端 Java 语言引擎解释执行。其中,HTML 负责描述信息显示格式,JSP 负责描述处理逻辑。
2. JSP 代码运行环境:需要系统安装 JSP 引擎,最常用的如 Tmocat 和 Apache。
3. JSP 开发的典型方式:
a) 直接使用:显示简单的动态效果。
b) JSP+JavaBeans:需要与数据库连接,管理诸如账号之类的信息。
c) JSP+JavaBeans+Servlet:将事物逻辑和表现逻辑分开,JSP 负责表现逻辑的处理和输出,Servlet 专注于处理 Web 的关键业务逻辑。
d) MVC 模式:把一个应用的输入、处理、输出流程分成模型层、视图层、控制层等三个层。
二 JSP 网络应用服务框架
1. JSP 交互过程:
a) 服务器接收请求后分析请求,如果是 HTML 页面则直接返回。
b) 如果客户请求的是 JSP 页面,服务器调用 JSP 引擎翻译并处理所请求 JSP 页面,然后将处理后生成的 HTML 页面返回。
c) 如果遇到 JavaBeans 组件,则调用相应的 JavaBeans 组件,并在得到结果后返回给客户。
2. JSP 交互过程图示:

3. JSP 引擎工作原理:
a) 将 JSP 页面翻译成一个 Servlet (Java文件)
b) JSP 引擎调用 Java 编译器对这个 Servlet 进行编译,得到可执行的 class 文件。
c) JSP 引擎调用 Java 虚拟机来解释执行 class 文件,生成向客户端发送的应答,然后发送给客户。
上述步骤仅仅在 JSP 页面第一次被访问时才会执行,以后会因为类文件已经生成而提高效率。
4. JSP 引擎工作原理图示:

5. JSP 访问模型 --- JSP + JavaBean:
a) JSP页面独自响应请求并将处理结果返回客户,所有的数据库操作通过JavaBean来实现。
b) 大量地使用这种模式,会导致在JSP页面中嵌入大量的Java代码,使得JSP页面变得非常臃肿。
c) 前端的页面设计人员稍有不慎,就有可能破坏关系到商业逻辑的代码。
d) 该模式只适用于中小规模的项目。
6. JSP 访问模型 --- JSP + JavaBean 图示:

7. JSP 访问模型 --- MVC 模式
a) MVC 模式是"Model-View-Controller"的缩写,中文翻译为"模式-视图-控制器” 。
b) MVC 把一个应用的输入、处理、输出流程分成模型层、视图层、控制层等三个层。
i) Event (事件)导致 Controller 改变 Mode l或 View,或者同时改变两者
ii) 只要 Controller 改变了 Models 的数据或者属性,所有依赖的 View 都会自动更新。
iii) 类似的,只要 Controller 改变了 View,View 会从潜在的 Model 中获取数据来刷新自己。
c) MVC 处理流程:
i) 首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理。
ii) 然后模型用业务逻辑来处理用户的请求并返回数据。
iii) 最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。

d) MVC 模式的优点:
i) 数据层代码和表示层代码没有混在一起
ii) 多个视图能共享一个模型
iii) MVC 的应用程序的三个部件相互独立
e) MVC 实际处理流程:
i) Servlet 用来处理请求的事务,充当控制器的角色。
ii) JSP 页面处于表现层,即视图的角色。
iii) JavaBean则负责数据处理,即模型的角色。
f) MVC 实际处理流程图示:

三 JSP 基本语法
1. JSP 页面基本组成:
a) 脚本元素:用来嵌入Java代码,使之成为转换得到的 Servlet 的一部分。
b) 指令:为页面提供全局信息,如导入语句、错误处理页面等。
c) 声明:对网页全局变量和方法的说明。
d) 表达式:将表达式格式化包含在页面输出中的一个串。
e) 行为:引入现有组件或控制 JSP 引擎行为。
2. JSP 基本语法表达式:
a) 编译器指令 <%@ 编译器指引 %>
b) 预定义 <%! 预定义 %>
c) 运算式 <%= 运算式 %>
d) 程序代码 <% 程序代码 %>
e) 注解 <%-- 注解 - -%>
PS:具体语法细节就不做累述了。
三 JSP 技术的更多相关文章
- ASP、JSP、PHP 三种技术比较
目前,最常用的三种动态网页语言有ASP(Active Server Pages),JSP(JavaServer Pages),PHP (Hypertext Preprocessor). 简 介 : A ...
- java的JSP技术
java的JSP技术 [toc] 1.JSP简介 Jsp技术是用来开发java web的页面显示的,所有MVC模型里面的视图层,所以视图层的开发 jsp不是编程语言,三个英文是java server ...
- Servlet,jsp,JSP技术 ,JSP编程
一.Servlet 思考 1 浏览器可以直接打开JAVA/class文件吗? 不可以 2浏览器可以打开HTML.JS 文件吗? 可以 3 JAVA程序可以生成HTML文件吗?可以的,用IO流. 4 ...
- Java Web之JSP技术
JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术.JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比htm ...
- Jsp技术总结
这节我们总结一下Jsp的相关技术. 1. 什么是JSP JSP即Java Server Pages,它和servlet技术一样,都是sun公司定义的一种用于开发动态web资源的技术.该技术的最大特点在 ...
- JavaWeb之JSP技术总结
刚接触JSP技术的时候让我想起了在大学学的Asp+VBScript,记得当时我还用aspstudy做了一个小的新闻发布系统作为期末作品,也正是在那时候在卢哥卢老师的指导下走向编程的道路,对编程越来越感 ...
- JavaWeb总结(三)—JSP
一.JSP简介 1.基本认识 (1)JSP页面是由HTML语句和嵌套在其中的Java代码组成的一个普通文本文件,JSP 页面的文件扩展名必须为.jsp. (2)在JSP页面中编写的Java代码需要嵌套 ...
- Servlet组件之 jsp 技术
JSP 简称java服务器页面(java server page),jsp和servlet实现了我们的开发需求.对于jsp技术我们首先需要知道他的组成 HTML+java+jsp内置对象=jsp ...
- 分分钟搞定 JSP 技术
一.JSP的语法 1.模版元素 写在JSP中的html内容 在翻译后的Servlet中, 直接被out.write原样输出 2.JSP脚本表达式 格式: ...
随机推荐
- JavaScript基本类型值与引用类型值
前言 JS变量可以用来保存两种类型的值:基本类型值和引用类型值.基本类型的值源自一下5种基本数据类型:Underfined.Null.Boolean.Number和String. 基本类型值和引用类型 ...
- excel的变量
因需要定制游戏的公式,公式是以一个系数乘以等级,我想达到修改系数,每个等级对应的值就立即显示出来, 但把系数写在一个单元格,一拉,系数单元格也会跟着增长行数--不是我想要的: 但只要把系数单元格改成变 ...
- 一个socket发送调试信息的类
using UnityEngine; using System.Collections; using System; using System.Net.Sockets; using System.Ne ...
- js字符转换成整型 parseInt()函数规程Number()函数
今天在做一个js加法的时候,忘记将字符转换成整型,导致将加号认为是连接符, 在运算前要先对字符井行类型转换,使用parseInt()函数 使用Number()将字符转换成int型效果更好
- Sublime Text 3 插件安装
1.安装 Package Control 组件 sublime菜单栏->view->show console: 输入以下命令回车: import urllib.request,os; pf ...
- windows8.1安装
不小心下载了英文版的windows8.1的操作系统,要添加中文语言,结果遇到不少问题. 第一:安装中文语言包: 可以在控制面板-添加语言中添加,这个方法好像只能在线更新,那速度,不能忍.还可以下载离线 ...
- JVM-对象
1.对象的创建 当虚拟机遇到一条new指令时,首先去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已经被加载.解析和初始化.如果没有,那必须先执行相应的类加 ...
- SQL Server CONVERT() 函数(转)
定义和用法 CONVERT() 函数是把日期转换为新数据类型的通用函数. CONVERT() 函数可以用不同的格式显示日期/时间数据. 语法 CONVERT(data_type(length),dat ...
- MongoDB应用篇(转)
一.高级查询 1. 查询操作符 1.1 比较操作符$gt,$lt,$gte,$lte 实例: select * from things where field<value -- 等价于db.th ...
- 理解Mac和iOS中的 Event 处理
根据现在的理解,我把event处理分为5部分,第一是,Event处理的Architecture:第二是,Event的Dispatch到first responder之前: 第三是,Event从firs ...