JSP学习笔记-JSP语法

Posted 少陵野老

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSP学习笔记-JSP语法相关的知识,希望对你有一定的参考价值。

1.JSP页面的基本结构

(1)html标记符
(2)JSP标记
(3)变量和方法的声明
(4)Java程序片
(5)Java表达式

2.变量和方法的声明

成员变量和方法

语法:<%! 变量、方法%>
成员变量占用的内存知道JSP引擎关闭才释放;

局部变量和方法

语法:<% 变量、方法%>
当一个线程将Java程序片执行完毕,运行该线程的Java程序片的局部变量释放所占的内存;

比较

当客户请求时,JSP引擎为客户分配一个线程,JSP页面中的成员变量共享,如果对成员变量进行操作,必然会影响到其他线程;
声明操作局部变量时,使用单线程方式分配cpu的使用权限,多个客户请求不会彼此影响;
解决成员变量相互影响问题:使用synchronized关键字修饰要操作的成员变量或方法,直到当前线程使用完毕,其他线程才能对成员变量或方法操作。

Java表达式

语法:<%=值或表达式%>

3.JSP注释

HTML注释
<!--注释-->用户可见
JSP注释
<%--注释--%>用户不可见

4.JSP指令标记

(1)page指令标记

page指令标记用来定义整个页面的一些属性和这些属性的值,属性值用双引号或者单引号括起来。一个page指令可以指定多个属性。
格式:<%@ page 属性="属性值"%>
page指令标记属性

1.ContentType属性

作用:确定JSP页面响应的MIME类型(http://www.w3school.com.cn/media/media_mimeref.asp)和JSP页面字符编码。
格式:<%@ page contentType="MIME类型"%>或<%@ page ContentType="MIME类型;字符编码"%>
注意:只能指定一个值,只允许指定一次

2.language属性

作用:定义JSP页面使用的脚本语言,目前取值只能是“Java”
格式:<%@ page language="java"%>

3.import属性

作用:为JSP页面引入要使用的Java类
格式:<%@ page import="包或类"%>
该属性值可以是多个,JSP页面默认import属性值有:java.lang.*;javax.servlet.*;javax.servlet.jsp.*;javax.servlet.http.*;

4.session属性

作用:用来设置是否需要使用内置的session对象
格式:<%@ page session="true(默认)或flase"%>

5.buffer属性

作用:用来指定out设置的缓冲区大小或者不使用缓冲区
格式:<%@ page buffer="8kb(默认)或none"%>

6.autoFlush属性

作用:用来指定out缓冲区填满时是否自动刷新
格式:<%@ page autoFlush="true(默认)或flase"%>
注意:当buffer属性值为none时,此属性值不能设置为flase

7.isThreadSafe属性

作用:用来设置JSP页面是否允许多线程访问
格式:<%@ page isThreadSafe="true(默认)或 flase"%>

8.info属性

作用:为JSP页面准备一个常用但可能经常修改的字符串
格式:<%@ page info="字符串"%>
获取:getServletInfo();

(2)include指令标记

作用:在JSP页面出现该指令的位置,静态插入一个文件
格式:<%@ include file="文件url"%>
注意:插入文件如果是JSP页面,其contentType应该与当前JSP页面一致

5.JSP动作标记

影响JSP运行时的功能

(1)include动作标记

作用:
格式:<jsp:include page="文件url"/>或者
     <jsp:include page="文件url">
      param子标记
     </jsp:include>
注意:当include动作标记不需要param子标记时,必须使用第一种形式;

  include指令标记和include动作标记比较

  include指令标记是在编译阶段就处理所需的文件,被处理的文件逻辑和语法上依赖当前的JSP页面,其优点是运行速度快;
  include动作标记是在JSP页面运行时才处理文件,被处理的文件逻辑和语法上独立于当前JSP页面,其优点是可以使用param子标记更灵活的处理所需文件,缺点是运行速度慢一些。

(2)param动作标记

作用:以"名字-值"对的形式为其他标记提供附加信息
格式:<jsp:param name="名字" value="指定给param的值">

(3)forward动作标记

作用:从该指令处停止当前页面的执行,而转向执行page属性指定的JSP页面
格式:<jsp:forward page="要转向的页面"/>或
     <jsp:forward page="要转向的页面">
      param子标记
     </jsp:forward>
注意:使用该标记转向指定页面之后,显示的是转向后的页面,实际地址依然是转向前JSP页面的url,刷新后显示转向前页面。

(4)useBean动作标记

作用:用来创建并使用一个Javabean
格式:<jsp:useBean id="bean的名字" class="创建bean的字节码" scope="bean的有效范围"/>或
     <jsp:useBean id="bean的名字" class="创建bean的类" scope="bean的有效范围"></jsp:useBean>

 

以上是关于JSP学习笔记-JSP语法的主要内容,如果未能解决你的问题,请参考以下文章

JSP学习笔记:JSP语法和指令

JSP学习笔记-JSP原理,基本语法和指令

[原创]java WEB学习笔记14:JSP的9 个隐含对象 及 JSP 的基本语法

JSP/Servlet Web 学习笔记 DayTwo

jsp/servlet学习笔记(核心编程)jsp部分

JSP&Servlet学习笔记(下)