JSP语法

文章目录

  • 前言
  • 一、JSP页面的基本结构
  • 二、声明变量和定义方法
  • 三、Java程序片
  • 四、Java表达式
  • 五、JSP指令标记
  • 六、JSP动作标记
  • 七、小结第二章


前言

在传统的HTML页面文件中嵌入脚本语言JSP标签就构成了一个JSP页面文件。一个JSP页面可有5中元素组合而成。


一、JSP页面的基本结构

1.一个JSP页面由五个元素组成:

①普通HTML标记

②SP标记

③变量和方法的声明

④Java程序片

⑤Java表达式

当服务器上的 JSP 页面被第一次请求执行时,服务器上的 JSP 引擎首先将 JSP 页面文件转译成 Java 文件,再将 Java 文件编译,生成字节码文件,然后通过执行字节码文件响应客户的请求,这个字节码文件的任务如下。

把 JSP 页面中普通的 HTML 标记符号交给客户的浏览器执行并显示。
JSP 标签、数据和方法声明、Java 程序段由服务器负责执行,将需要显示的结果发送给客户的浏览器。
Java 表达式由服务器负责计算,并将结果转化为字符串,然后交给客户的浏览器负责显示。
 

二、声明变量和定义方法

在“<%!"和"%>"标记符号之间声明变量和定义方法,在“<%!"和"%>"标记符号的内容习惯放在JSP页面指令之后,<HTML>之前,也可以写在<HTML>与</HTML>之间。

1、声明变量

这里,“<%!”和“%>”之间声明的变量在整个 JSP 页面内都有效,因为 JSP 引擎将 JSP 页面转译成 Java 文件时,将这些变量作为类的成员变量,这些变量的内存空间直到服务器关闭才被释放。

当多个客户请求一个 JSP 页面时,JSP 引擎为每个客户启动一个线程,这些线程由 JSP 引擎服务器来管理。这些线程共享 JSP 页面的成员变量,因此任何一个用户对 JSP 页面成员变量操作的结果,都会影响到其他用户。
 

2、定义方法和类

可以在“<%!"和"%>"标记符号之间定义方法,可以在Java程序片中调用该方法。方法内声明变量只在该方法内有效。,当该方法被调用时,方法内声明的变量被分配内存,方法被调用完毕即可释放这些变量占用的内存。

可以“<%!"和"%>"标记符号之间定义类,可以在Java程序片中使用该类创建对象。

三、Java程序片

可以在“<%!"和"%>"标记符号之间插入Java程序片。一个JSP页面可以有许多Java程序片,这些程序片将被tomcat服务器按顺序执行。在程序片中声明的变量称作JSP页面的局部变量。局部变量的有效范围与其声明变量的位置有关,即局部变量在JSP也页面后继的所有程序片以及表达式部分内部有效。tomcat服务器将JSP页面编译成Java文件时,将各个程序片的这些变量作为某个方法的变量,即局部变量。

Java程序片可以写在<HTML>之前,也可以写在<HTML>和</HTML>之间或,/HTML>之后。当多个用户请求一个JSP页面时,tomcat服务器为每一个用户启动一个线程,该线程负责执行字节码文件响应用户的请求。

用法:

  • 操作jsp页面的成员变量
  • 调用jsp页面的方法
  • 操作局部变量
<%@ page contentType = "text/html" %>  
<%@ page pageEncoding = "utf-8" %>  
<HTML><body>
<p>
<%! int count=0;                    //被用户共享的count。
     synchronized void setCount() {  //synchronized修饰的方法。
       count++;
     }
%>
<%  setCount();
    out.println("您是第"+count+"个访问本站的客户");   
%>
</p></body></HTML>

注意:一个jsp页面的Java程序片会按期在页面中的顺序被执行,而且某个Java程序中的局部变量在其后继的所有Java程序片以及表达式都有效

四、Java表达式

      可以在“<%="和"%>"标记符号之间插入一个可求值的表达式(注意:不可插入语句,“<%="是一个完整的符号,"<%"和”=“之间不要有空格。)表达式的值由服务器负责运算,并将计算结果用字符串形式发送到用户端显示。                                                                                                               Java表达式可以写在<HTML>之前,也可以卸载<HTML>和</HTML>之间或</HTML>之后。    需要注意的是,在jsp页面中,表达式的值被表示为一个字符串的形式,即tomcat服务器将表达式的结果转换为字符串,然后发送给用户浏览器。因此,在编写jsp页面时,需要把java表达式按普通文本来使用。

<%@ page contentType = "text/html" %>  
<%@ page pageEncoding = "utf-8" %>  
<HTML><body  bgcolor=pink>
<%  int x=12,y=9;
%>
<p style="font-family:宋体;font-size:36">
  计算表达式x+y+x%y,即<%= x %>+<%= y %>+<%= x %>%<%= y %>的值: 
  <%= x+y+x%y %>
<br>计算表达式x>y即<%= x %> > <%= y %>的值:
  <%= x>y %>
</p></body></HTML>

   五、JSP指令标记

1、page指令标记

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

①contentType属性,设置响应的MIME类型

<%@ page contentType="text/html"%>

②pageEncoding属性设置编码格式

<%@ page pageEncoding="utf-8"%>

③language属性

<%@ page language="java"%>

④import属性,为jsp页面引入Java运行环境提供的包中的类

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

⑤session属性,设置是否需要使用内置的session对象

2、include指令标记

在jsp页面整体嵌入一个文件

<%@ include file="文件的URL"%>

六、JSP动作标记

1、include动作标记

include动作标记语法格式为:

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

需要注意的是,当include动作标记不需要param子标记时,必须运用第一种形式。

2、param动作标记

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

param动作标记格式为:

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

3、forward动作标记

forward动作标记格式为:

<jsp:forward page="要转向的页面"/>
或
<jsp:forward page="要转向的页面"/>
     param标记
<jsp:forward>

4、useBean动作标记

第五章详细解释(写不下去啦\(`Δ’)/)

七、小结

以上就是我要说的内容,以上简单介绍了JSP页面的结构、Java程序片以及表达式,其中重点是后面的指令标记和动作标记。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值