第二章   初识JSP

一.JSP简述

1、是JSP

JSP是指在HTML中嵌入Java脚本语言。全称(Java Server Pages)

当用户通过浏览器访问Web应用时,使用JSP容器对请求的JSP进行处理和运行,然后将生成的页面返回客户端浏览器进行显示。

Tomcat服务器属于JSP容器的一种。

2、JSP的由来

JSP是由Sun公司倡导、许多公司共同参与,一起建立起来的一种动态网页技术标准。

并具有跨平台、易维护性、易管理性等优点。

3、JSP的组成部分

JSP页面由:静态内容、指令、表达式、小脚本、声明、标准动作、注释等元素组成。

二.JSP元素

1.静态内容

静态内容是JSP页面中的静态文本,其基本是HTML文本,与Java和JSP语法无关。

2.JSP指令元素

JSP指令元素的作用是通过设置指令中的属性,在JSP运行时,控制JSP页面的某些特性。

语法:<%@ 属性1=”属性值”….. 属性n=”属性值” %>

Page指令的常用属性

属性

描述

Language

指定JSP页面使用的脚本语言,默认为“java”

Import

通过属性引用脚本语言中使用到的类文件

contentType

用于指定MIME类型和JSP页面回应时所采用的字符编码格式,默认为“text/html;charset=ISO-8859-1”

 

3.JSP表达式

表达式是对数据的表示,系统将其作为一个值进行计算和显示。

语法:<% =java变量或表达式 %>

例:

<%= Math.max(grade[0],grade[1]) %>

<% out.print(Math.min(grade[0],grade[1])); %>

4.JSP小脚本

小脚本可以包含任何的java片段,形式比较灵活,通过在JSP页面中编写小脚本可以进行复杂的操作和业务处理。

编写的方法是将java程序片段插入<%%>标记中。

语法:<% java片段代码…..%>

例:

<%

Int[] grade={70,80,90};//学员成绩的数组

%>

5.JSP的声明

在编写JSP页面程序时,有时需要为Java脚本定义成员变量和方法,这时需要JSP声明来实现。

语法:<%! 声明内容….%>

例:格式化显示时间的方法

<%!

String formatDate(Date d){

java.text.SimpleDateFormat formater=

new java.text.SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");

return formater.format(d);

}

%>

6.JSP中的注释

单行注释:<%  //单行注释 %>

多行注释:<%  /*多行注释*/ %>

在JSP页面中,将小脚本(scriptlet)、表达式(expression)、声明(declaration)统称为JSP脚本元素。

三.JSP原理

1.    翻译阶段

当WEB容器接收到JSP请求时,首先对JSP文件进行翻译,将编好的JSP文件通过JSP容器转换成可识别的Java源代码。

2.    编译阶段

将Java源文件编译成可执行的字节码 文件。

3.    执行阶段

执行二进制字节码文件,将生成的结果页面返回客户端浏览器显示。

Web容器会把编译好的字节码文件保存在内存中,当客户再次请求相同的JSP时,就可以重用这个编译好的字节码文件,而不会重新编译同一个JSP文件。

         所以JSP第一次请求时较慢,后续的速度就会很快。

第二章 初识JSP的更多相关文章

  1. Spring 3.x 实践 第一个例子(Spring 3.x 企业应用开发实战读书笔记第二章)

    前言:工作之后一直在搞android,现在需要更多和后台的人员交涉,技术栈不一样,难免鸡同鸭讲,所以稍稍学习下. 这个例子取自于<Spring 3.x 企业应用开发实战>一书中的第二章,I ...

  2. [HeadFirst-JSPServlet学习笔记][第二章:高层概述]

    第二章:高层体系结构 容器 1 什么是容器? servelet没有main()方法.它们受控于另一个Java应用,这个Java应用称为容器(Container) Tomcat就是这样一个容器.Web服 ...

  3. redis实战笔记(1)-第1章 初识Redis

    第1章 初识Redis 注:本书在redis3.0版本的,比如redis3.0以后支持服务端集群.3.0之前只能客户端分片.    本章主要内容 1.Redis与其他软件的相同之处和不同之处 2.Re ...

  4. springMVC第二章

    springMVC第二章 一.URL 映射 可以同时设置多个URL来访问某个控制器或方法.设置value属性: @RequestMapping(value= {"/grade",& ...

  5. C语言编程入门之--第一章初识程序

    第一章 初识程序 导读:计算机程序无时不刻的影响着人类的生活,现代社会已经离不开程序,程序的作用如此巨大,那么程序到底是什么呢?本章主要讨论程序的概念,唤起读者对程序的兴趣,同时对C语言程序与其它语言 ...

  6. 《精通Spring4.x企业应用开发实战》第二章

    昨天联系了一下学长,学长说这个项目因为种种原因代码比较混乱,感觉最坏的打算是从头开始写. 大概询问了一下学长和xianhua学姐的建议,又看了看网上的资料,这个项目开发的技术栈基本就是SpringBo ...

  7. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库

    在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类 ...

  8. 《Django By Example》第二章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:翻译完第一章后,发现翻译第二章的速 ...

  9. Jenkins入门系列之——02第二章 Jenkins安装与配置

    2014-12-08:已不再担任SCM和CI的职位,Jenkins的文章如无必要不会再维护. 写的我想吐血,累死了. 网页看着不爽的,自己去下载PDF.有问题请留言! Jenkins入门系列之——03 ...

随机推荐

  1. 读取MySQL存储二进制的语音、图片(Blob类型)

    /**   * 下载语音   * Remarks:   * @throws Exception   */ public void downloadYuyin() throws Exception { ...

  2. gradle build docker image

    前言:其实gradle-docker插件干的事和我们手动制作镜像是一样的,只不过它封装了一些步骤而已. eg:如果我们要将项目打包成镜像,首先我们要写Dockerfile,这是制作镜像的不可或缺的第一 ...

  3. 网站转变风格的css变化

    网站换肤,是一个比较老的话题了,理论很清晰,就是要根据js 来变换文件加载的css文件,根据需求来加载不同的css文件,有了这个基础就很明确要怎么做了,但是实际上还要记录当前用户的cookie  保证 ...

  4. python全栈开发-Day5 集合

    python全栈开发-Day5 集合 一.首先按照以下几个点展开对集合的学习 #一:基本使用 1 .用途 2 .定义方式 3 .常用操作+内置的方法 #二:该类型总结 1. 存一个值or存多个值 只能 ...

  5. ASP.NET MVC编程——控制器

    每一个请求都会经过控制器处理,控制器中的每个方法被称为控制器操作,它处理具体的请求. 1操作输入参数 控制器的操作的输入参数可以是内置类型也可以是自定义类型. 2操作返回结果 结果类型 调用方法 备注 ...

  6. angularJS使用rootscope创建父域和子模态框通用的属性与函数

    1. 在声明创建controller指明引用$rootscope reviewInterfaceDo.controller('reviewInterfaceDo', function($scope, ...

  7. python列表操作符

    list1=[123,456] list2=[234,234] list1>list2 >>>False#返回False 第一项比较之后直接返回false,第二项不看 #+实现 ...

  8. mysql5.6 绿色免安装版 安装详解

    一.安装版本简介 MySQL是一个小巧玲珑但功能强大的数据库,目前十分流行.但是官网给出的安装包有两种格式,一个是msi格式,一个是zip格式的.很多人下了zip格式的解压发现没有setup.exe, ...

  9. 什么是DOM,DOM level 1\2\3 的区别是什么

    DOM 文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口.Document Object Model的历史可以追溯至1990年 ...

  10. Know your weapons Ⅱ

    本次内容主要讲述使用UWP相关技术可以实现的软件上的一些功能,这里以Netease-Cloud Music(下称Cloud Music)为例讲述,这款音乐软件我个人一直在用,毕竟人们生活离不开音乐,说 ...