一 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 技术的更多相关文章

  1. ASP、JSP、PHP 三种技术比较

    目前,最常用的三种动态网页语言有ASP(Active Server Pages),JSP(JavaServer Pages),PHP (Hypertext Preprocessor). 简 介 : A ...

  2. java的JSP技术

    java的JSP技术 [toc] 1.JSP简介 Jsp技术是用来开发java web的页面显示的,所有MVC模型里面的视图层,所以视图层的开发 jsp不是编程语言,三个英文是java server ...

  3. Servlet,jsp,JSP技术 ,JSP编程

     一.Servlet 思考 1 浏览器可以直接打开JAVA/class文件吗? 不可以 2浏览器可以打开HTML.JS 文件吗? 可以 3 JAVA程序可以生成HTML文件吗?可以的,用IO流. 4 ...

  4. Java Web之JSP技术

    JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术.JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比htm ...

  5. Jsp技术总结

    这节我们总结一下Jsp的相关技术. 1. 什么是JSP JSP即Java Server Pages,它和servlet技术一样,都是sun公司定义的一种用于开发动态web资源的技术.该技术的最大特点在 ...

  6. JavaWeb之JSP技术总结

    刚接触JSP技术的时候让我想起了在大学学的Asp+VBScript,记得当时我还用aspstudy做了一个小的新闻发布系统作为期末作品,也正是在那时候在卢哥卢老师的指导下走向编程的道路,对编程越来越感 ...

  7. JavaWeb总结(三)—JSP

    一.JSP简介 1.基本认识 (1)JSP页面是由HTML语句和嵌套在其中的Java代码组成的一个普通文本文件,JSP 页面的文件扩展名必须为.jsp. (2)在JSP页面中编写的Java代码需要嵌套 ...

  8. Servlet组件之 jsp 技术

    JSP 简称java服务器页面(java server page),jsp和servlet实现了我们的开发需求.对于jsp技术我们首先需要知道他的组成    HTML+java+jsp内置对象=jsp ...

  9. 分分钟搞定 JSP 技术

    一.JSP的语法    1.模版元素        写在JSP中的html内容        在翻译后的Servlet中, 直接被out.write原样输出 2.JSP脚本表达式        格式: ...

随机推荐

  1. freemarker实例2

    下面演示一个简单的使用项目过程:1. 使用myeclipse创建一个web项目testFM2. 把下载到的jar包(freemarker-2.3.9.jar)放到/WebRoot/WEB-INF/li ...

  2. redhat enterprixe 5.0 web 服务配置与管理

    一.Web服务及工作原理 Web服务的实现采用客户/服务器模型.客户机运行Web客户程序(浏览器),作用是解释和显示Web页面,相应用户的输入请求,并且通过http协议将用户请求传递给Web服务器.W ...

  3. 学习记录014-ssh批量分发

    一.ssh服务介绍 1.ssh安全的加密协议用于远程连接服务器 2.默认端口是22,安全协议版本ssh2,它能同时支持RSA和DSA秘钥,SSH1只支持RSA 3.服务端主要包含两个服务功能ssh远程 ...

  4. Mysqldump参数大全

    Mysqldump参数大全(参数来源于mysql5.5.19源码)   参数 参数说明 --all-databases  , -A 导出全部数据库. mysqldump  -uroot -p --al ...

  5. java转义字符探究恢复

    今天工作的时候,遇到了个奇怪的问题,是关于字符串转义与替换的.最后终于解决了,特总结下. 小demo, package com.westward; public class Demo { /** * ...

  6. 二模 (2) day2

    第一题: 题目描述: 在一个长方形框子里,最多有 N(0≤N≤6)个相异的点.在其中任何-个点上放一个很小的油滴,那么这个油滴会一直扩展,直到接触到其他油滴或者框子的边界.必须等一个油滴扩展完毕才能放 ...

  7. android 之 XMLPull

    Pull解析 Pull的XML解析操作与SAX解析操作类似,也是采用事件驱动的方式.当XML文档开始解析或者遇到节点时都会有相应的事件代码触发. 主要涉及两个类: org.xmlpull.v1.Xml ...

  8. 安装eclipse for c/c++环境

    安装eclipse for c/c++环境:       1.启动eclipse,       2.选择Help->Install New Software...,在Work with的框框下复 ...

  9. APP store 上架过程中碰到的那些坑&被拒的各种奇葩原因整理&审核指南中文版

    苹果官方发布的十大常见被拒原因 1.崩溃次数和Bug数量.苹果要求开发者在将应用提交给App Store之前彻查自己的应用,以尽量避免Bug的存在. 2.链或错误的链接.应用中所有的链接必须是真实且有 ...

  10. SVN 首次用TortoiseSVN Checkout 提示Unexpected HTTP status 405

    权限错误 首次使用 因为没有 弹出 用户名密码输入框 无法输入 帐户信息. 解决办法: 点击 仓库地址输入栏 右边 的...按钮 此时弹出的输入框浏览器方式访问的.输入用户名和密码,然后在左侧出来的仓 ...