jsp基础语法一:

一 什么是jsp?

 

  jsp与asp的技术非常相似,asp的编程语言是VBScript和JavaScript,而jsp使用的是Java。

 

二jsp页面:

 

   在传统的HTMl页面中加入java程序片段(<% java程序片段 %>)和JSP标签就构成了

   一个jsp页面可由五种元素组合而成:

    1 普通的HTML标记符

    2 JSP标签:如指令标签,动作标签

    3 变量和方法的声明

    4  java程序片段

    5  java表达式

 

JSP的运行原理:

  当服务器上的一个jsp页面被第一次请求执行时,服务器上的jsp引擎首先将JSP页面文件转译成一个java文件,在将这个java文件编译生成字节码文件,然后执行字节码文件相应客户的请求,这也是JSP比ASP快的一个原因。

   这个字节码文件的主要工作:

    1 把jsp页面中普通的HTML标记符号(页面的静态部分)交给客户的浏览器显示

    2 执行<%%>之间的代码,java程序片段,即动态部分,并把执行结果交给浏览器显示。

    3 当多个用户请求一个JSP页面时,JSP引擎为每个客户启动一个线程而不是进程。

 

三 变量和方法的声明:

   在“<%!”和“%>”标记符之间声明变量,即在“<%!”和“%>”之间放置Java

的变量声明语句,变量的类型可以是Java 语言允许的任何数据类型,我们将这些变量称

为JSP 页面的成员变量。如,

<%! int a, b=10 , c;

String tom=null,jerry= ”love JSP”;

Date date;

%>

也可以在在“<%!”和“%>”中声明方法,方法要写全,也可以声明类

 

四 Java 程序片

 

可以在“<%”和“%>”之间插入Java 程序片。一个JSP 页面可以有许多程序片,

这些程序片将被JSP 引擎按顺序执行。在一个程序片中声明的变量称做JSP页面的局部

变量,它们在JSP 页面内的所有程序片部分以及表达式部分内都有效。这是因为JSP 引

擎将JSP 页面转译成Java 文件时,将各个程序片的这些变量作为类中某个方法的变量,

即局部变量。一个客户对JSP 页面局部变量操作的结果,不会影响到其它客户的这个局部变量。

 

五 JSP 中的注释

 

注释可以增强JSP 文件的可读性,并易于JSP 文件的维护。JSP 中的注释可分为两种

(1) HTML 注释:在标记符号“<!--”和“-->”之间加入注释内容:

<!-- 注释内容 -->

JSP 引擎把HTML 注释交给客户,因此客户通过浏览器查看JSP 的源文件时,能够

看到HTML 注释。

(2) JSP 注释:在标记符号“<%--”和“--%>”之间加入注释内容:

<%-- 注释内容 --%>

JSP 引擎忽略JSP 注释,即在编译JSP 页面时忽略JSP 注释。

 

六 jsp指令标签

  page 指令

  page 指令用来定义整个JSP 页面的一些属性和这些属性的值

<%@ page 属性1= “属性1 的值” 属性2= “属性2 的值”……%>

如果为一个属性指定几个值话,这些值用逗号分割。page 指令只能给import 属性指

定多个值;其它属性只能指定一个值。

例如:

<%@ page import="java.util.*" ,"java.io.*" ,"java.awt.*" %>

需要注意的是:

可以使用多个page 指令给属性import 几个值,但其它属性只能使用一次page 指令指定

该属性一个值

注:page 指令的作用对整个页面有效,与其书写的位置无关,但习惯把page 指令写

在JSP 页面的最前面。

language属性

定义JSP 页面使用的脚本语言,该属性的值目前只能取"java"。language 属性的默认值是"java",

为language 属性指定值的格式:

<%@ page language="java" %>

Import属性:

用来引用java的包。

<%@ page import="java.io.*", "java.util.Date"%>

JSP 页面默认import 属性已经有如下的值:

" java.lang.*"、 "javax.servlet.*" 、"javax.servlet.jsp.*"、"javax.servlet.http.*"。

contentType 属性:

定义JSP 页面响应的MIME(MultipurposeInternet Mail Extention) 类型和JSP 页面

字符的编码。属性值的一般形式是:“MIME 类型”或“MIME 类型;charset=编码”

contentType 属性的默认值是"text/html; charset=ISO-8859-1"

session 属性:

用于设置是否需要使用内置的session 对象。

session 的属性值可以是true或false,session 属性默认的属性值是true。

 buffer 属性:

内置输出流对象out 负责将服务器的某些信息或运行结果发送到客户端显示,buffer

属性用来指定out设置的缓冲区的大小或不使用缓冲区。

buffer 属性可以取值“none”,设置out 不使用缓冲区。Buffer 属性的默认值是8kb。

例如:

<%@ page buffer= “24kb”%>

lauotFlush 属性

指定out的缓冲区被填满时,缓冲区是否自动刷新。

auotFlush 可以取值true 或false。auotFlush 属性的默认值是true。当auotFlush 属性

取值false时,如果out的缓冲区填满时,就会出现缓存溢出异常。当buffer 的值是“none”

时,auotFlush的值就不能设置成false。

 isThreadSafe 属性

用来设置JSP 页面是否可多线程访问。

isThreadSafe 的属性值取true 或false。当isThreadSafe 属性值设置为true 时,JSP

 

页面能同时响应多个客户的请求;当isThreadSafe 属性值设置成false 时,JSP 页面同一

时刻只能处理响应一个客户的请求,其他客户需排队等待。isThreadSafe 属性的默认值

是true。

 info 属性:

该属性为JSP 页面准备一个字符串,属性值是某个字符串。例如,

<%@ page info= “we are students”%>

可以在JSP 页面中使用方法:

getServletInfo();

获取info 属性的属性值。

注:当JSP 页面被转译成Java 文件时,转译成的类是Servlet 的一个子类,所以在

JSP 页面中可以使用Servlet 类的方法:getServletInfo() 。

下面的例子13 使用getServletInfo() 方法获取info 的属性值。

 

include 指令标签

如果需要在JSP 页面内某处整体嵌入一个文件,就可以考虑使用这个指令标签。该指

令标签语法如下:

<%@ include file= “文件的名字” %>

该指令标签的作用是在JSP 页面出现该指令的位置处,静态插入一个文件。

所谓静态插入,就是当前JSP 页面和插入的部分合并成一个新的JSP 页面,然后JSP 引

擎再将这个新的JSP 页面转译成Java 类文件

 

JSP 动作标签

动作标签是一种特殊的标签,它影响JSP 运行时的功能。

<jsp:include page= “文件的名字”/>

<jsp:include page= “文件的名字”>

</jsp:include>

静态插入文件的include 指令标签不同,当JSP 引擎把JSP 页面转译成Java 文件时,不

把JSP 页面中动作指令include 所包含的文件与原JSP 页面合并一个新的JSP 页面,而

是告诉Java 解释器,这个文件在JSP 运行时(Java 文件的字节码文件被加载执行)才

包含进来。如果包含的文件是普通的文本文件,就将文件的内容发送到客户端,由客户

60

端负责显示;如果包含的文件是jsp 文件,JSP 引擎就执行这个文件,然后将执行的结果

发送到客户端,并由客户端负责显示这些结果

书写include 动作标签:<jsp:includepage …../>时要注意:“jsp”、“:”、

“include”三者之间不要有空格。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值