目录

一.JSP页面的基本结构

一个JSP页面可由5种元素组合而成:
1.普通的HTML标记和JavaScript标记;
2.JSP标记,如指令标记、动作标记;
3.变量和方法的声明;
4.Java程序片;
5.Java表达式;


二、声明变量和定义方法

     在“<%!”和“%>”标记符号之间声明变量和定义方法。

1.声明变量

“<%!”和“%>”标记符号之间声明的变量在整个JSP页面内都有效

例:

<%@ page contentType="text/html" %>  
<%@ page pageEncoding = "utf-8" %>  
<HTML><body bgcolor=yellow>
<%! int i=0;
%>
<% i++;
%>
</body></HTML>

2.定义类和方法

可以在"<%! "和 "%>"标记符号之间定义方法,可以在Java程序片中调用该方法。方法内声明的变量只在该方法内有效。

例:

<%@ page contentType = "text/html" %>  
<%@ page pageEncoding = "utf-8" %>  
<HTML><body bgcolor = #ffccff>
<%! double multi(double x,double y){ //定义方法
        return x*y;
    }
    class Circle { //定义类
        double r;
        }
%>
</p></body></HTML>


三、Java程序片

Java程序片可以写在<HTML>之前,也可以写在<HTML>和</HTML>之间或</HTML>之后。

可以在"<%"和 " %>"之间插入Java程序片。

Tomcat服务器使用多线程来处理程序片,特点如下:
1)操作jsp页面的成员变量;
2)调用jsp页面的方法;
3)操作局部变量;

PS:运行在不同线程中的Java程序片的局部变量互不干扰


四、Java表达式

在“<%=”和“%>”之间插入一个可求值的表达式

:“<”和“%”之间、“<%”和“@”、“!”、“=”之间都不能有空格。


五、JSP中的注释

(1)HTML注释

在标记符号"<! --“和”–>"之间加入注释内容。

(2)JSP注释

在标记符号"<%–“和”–%>"之间加入注释内容。


六、JSP指令标记

1.page指令标记

用来定义整个JSP页面的一些属性和这些属性的值,属性值用单引号或双引号括起来。

page指令的作用对整个JSP页面有效,与其页面书写位置无关。

例:

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

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

...

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

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

page指令标记可以为contentType、pageEncoding、language、import、session、buffer、autoFlush、isThreadSafe、info等属性指定值。以下将分别讲述这些属性的设置与作用:

contentType属性

contentType属性值确定JSP页面响应的MIME类型。

我们希望用户的浏览器启用HTML解析器来解析执行所接收的信息(网页类型),则可如下设置:

<%@ page contentType=“text/html”%>

我们希望用户的浏览器启用本地的MS-Word应用程序来解析执行所接收的信息,则可如下设置:

<%@ page contentType=“application/msword”%>

:不允许两次使用page指令给contentType属性指定不同的属性值

pageEncoding属性

默认值是UTF-8,其作用是定义JSP页面使用的编码方式

<%@ page pageEncoding=“utf-8”%>

language属性

<%@ page language=“java”%>默认值是java

import属性

为JSP页面引入java运行环境提供的包中的类,以便在后续调用

<%@ page import=“包名”%>

session属性

用于设置是否需要使用内置的session对象,session属性值是true或false,默认值为true。

buffer属性

指定out设置的缓冲区的大小或不使用的缓冲区

<%@ page buffer=“24kb”%>默认值是8kb,取值可为none。

autoFlush属性

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

取值为true或false,默认值为true,当buffer的值为none时,autoFlush的值不能为false。

isThreadSafe属性

用来设置访问JSP页面是否是线程安全的。

取值为true或false,默认值为true。值为true时,JSP页面能同时响应多个用户的请求,值为false时,同一时刻只能响应一个用户的请求,其他用户需排队等待。

info属性
为JSP页面准备一个常用的但可能要经常修改的字符串。

<%@ page info=“字符串”%>

在JSP页面中使用getServletInfo();获取info属性的属性值。

2、include指令标记

在JSP页面出现该指令的位置处,静态嵌入一个文件。

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

“文件的URL”是指:文件夹名/文件名


七、JSP动作标记

1、include动作标记

<jsp: include page="文件的URL"/>

<jsp: include page="文件的URL"> param 子标记 </jsp:include>

:当include动作标记不需要param子标记时,必须使用第一种形式。

2、param动作标记

<jsp:param name="参数"value=“参数的值”/>

注:param标记以“名字-值”对的形式为其他标记提供附加信息,param标记不能独立使用,须作为jsp:include、jsp:forward标记的子标记来使用。

3、forward动作标记

<jsp:forward page="要转向的页面"/>

<jsp:forward page="文件的URL"/>

4、useBean动作标记

用来创建并使用一个JavaBean

JSP实用教程-JSP语法相关推荐

  1. JSP实用教程-第三章Tag文件与Tag标记

    目录 3.1 Tag文件 3.1.1Tag文件的结构 3.1.2Tag文件的保存 3.2 Tag标记 3.2.1 Tag文件和Tag标记 3.2.2 Tag标记的使用 3.2.3 Tag标记的运行原理 ...

  2. JSP实用教程——第二章JSP语法

    目录 2.1 JSP页面的基本结构 2.2 声明变量和定义方法 2.2.1 声明变量 2.2.2 定义方法和类 2.3 Java程序片 2.4 Java表达式 2.5 JSP指令标记 2.5.1 pa ...

  3. JSP实用教程——第二章:JSP语法

    JSP基本语法 在传统的HTML页面文件中嵌入脚本语言和JSP标签就构成了一个JSP页面文件.一个JSP页面可有5中元素组合而成. HTML页面内容 JSP注释 JSP指令 JSP脚本元素 JSP动作 ...

  4. JSP实用教程第二章-JSP语法

    目录 前言 2.1 JSP页面的基本结构 2.2声明变量和定义方法 2.2.1 声明变量 2.22 定义方法和类 2.3Java程序片 2.4Java表达式 2.5 JSP中的注释 2.6 JSP指令 ...

  5. java web JSP实用教程第二章

    JSP页面的基本结 普通的HTML标记和JavaScript标记<!-JSP指令标记--> JSP标记,如动作.指令标记<% @  %> 变量的方法和声明<%!  %&g ...

  6. 《JSP实用教程(第4版)》第2章学习笔记

    1.jsp组成结构 java由下面五种结构组成: html标记和js标记 变量及方法的声明 JAVA程序片 JAVA表达式 2.变量及方法的声明 声明变量 格式:<%!(声明变量)%> 位 ...

  7. 《JSP实用教程(第2版)/耿祥义》错误之“发呆”时间

    关于会话失效的问题,该书用了一个形象的"发呆"时间,但这个词虽然形象,但是存在理解错误.根据几段例子代码来看,书中描述的"发呆"时间是用户无动作失效时间.但是& ...

  8. java做jsp问题_java/jsp中 中文问题详解

    java/jsp中 中文问题详解 更新时间:2006年10月13日 00:00:00   作者: 预备知识: 1.字节和unicode Java内核是unicode的,就连class文件也是,但是很多 ...

  9. JSP大学实用教程(第2版)代码一

    由于书本上的代码直接运行会有些小问题,所以贴一些改过的代码. 十九页[例2-9] Input.jsp <%@pagelanguage="java"import="j ...

最新文章

  1. ansible自动化运维(一)——基本架构简介
  2. 2021年,深度学习还有哪些未饱和、有潜力且处于上升期的研究方向?
  3. matlab演示系统,基于Matlab的通信原理演示系统的设计与应用
  4. Huffman Coding
  5. android interview 2
  6. 跨域调用WebService
  7. QT5开发及实例学习之十五Qt5位置相关函数
  8. CUDA学习笔记(三)
  9. 作业MathExam
  10. 所有自然数相加的和是-1/12,你信吗?
  11. 微信小程序2:网易云音乐(完整版)
  12. android swf 播放器 源码,Android 9.0 flash播放器播放swf源码讲解
  13. 微信分享图片URL不显示问题
  14. 微信公众号运营助手,可以在手机上回复粉丝留言
  15. python画代码雨
  16. CGAL例程:地理信息系统----点云数据生成DSM、DTM、等高线和数据分类
  17. Android 10.0 当安装多个播放器时,设置默认播放器播放歌曲
  18. 礼多人不怪:跟美国教授通邮件的18种礼仪
  19. STM32定时器延时函数
  20. Windows Server域控制器更改IP步骤

热门文章

  1. 大数据-大数据学习过程
  2. NLP聊天机器人的搭建(chatbot)(一)
  3. 地平线机器人上海待遇_目前室内机器人、SLAM现状如何?行业内顶尖技术在哪些高校或企业 ?...
  4. 字符串和时间转换sql
  5. Facebook技术探究:Delos中的虚拟共识机制
  6. C++函数的递归调用
  7. java实现多元线性回归
  8. java中的Cookie 和 sessions
  9. 周浩正:写给编辑人的信:繁盛的秘诀之二
  10. java创建动态二维数组