JSP(Java Server Pages) 是Sun Microsystems 公司倡导和许多公司参加与共同创建的一种使软件开发者可以响应客户端请求,而动态生成HTML、XML或其它格式文档的Web网页技术标准。
JSP 技术是以Java语言作为脚本语言,JSP网页为整个服务器端的Java库单元提供了一个接口来服务于HTTP的应用程序。JSP开发的WEB应用可以跨平台使用,既可以运行在Linux上也能运行在Windows上。
即任意的java语句和变量、方法或者表达式
语法格式如下:
<%代码块%>
方法二:
代码片段
注意:任何一个文本和HTML标签、JSP必须写在脚本程序的外面
例:
<%--Created by IntelliJ IDEA.User: 24688Date: 2023/3/12Time: 16:13To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
Title
Hello Wold!
<%out.print("number="+(45+89));%>
设置中文编码“utf-8”,为了避免出现中文出现乱码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
JSP声明
一个声明语句可以声明一个或者多个变量、方法,供后面的Java代码使用。在JSP文件中,必须先声明这些变量和方法,然后才能使用他们。
JSP声明的语法格式:
<%! int m=0;%>
<%! int m1,b,c;%>
<%! Circle abc=new Circle(4);%>
一个JSP表达式中包含的脚本表达式,先被转化成String,然后插入到表达式出现的地方。
由于表达式的值会被转换为String,所以可以在一个文件中使用表达式而不用去管它是否是HTML标签。
表达式元素中可以包含任何符合Java语言规范的表达式,但是不能使用分号来结束表达式。
语法格式:
<%= 表达式%>
例如:
the day date:<%= (new java.util.Date()).toString()%>
相比较html和xml的注释,jsp的注释符号也很特殊
语法格式:
<%-- 注释--%>
JSP指令用来设置与整个JSP页面相关的属性。
语法格式:
<%@ directive attribute="value" %>
三种常用指令标签:
指令 | 描述 |
---|---|
<%@page… %> | 定义页面的依赖属性,比如脚本语言,error页面,缓存页面等 |
<%@include… %> | 包含其它文件 |
<%@ taglib … %> | 引入标签库的定义,可以是自定义标签 |
jsp行为标签使用XML语法结构来控制servlet引擎。它能够动态插入一个文件,重用JavaBean组件,引导用户去另一个页面,为Java插件产生相关的HTML等等。
语法格式:
常见可用标签:
语法 | 描述 |
---|---|
jsp:include | 用于在当前页面中包含静态或动态资源 |
jsp:useBean | 寻找和初始化一个JavaBean组件 |
jsp:setProperty | 设置JavaBean组件的值 |
jsp:getProperty | 将JavaBean组件的值插入到output中 |
jsp:forward | 从一个jsp文件向另一个文件传递一个包含用户请求的request对象 |
jsp:plugin | 用于在生成的HTML页面中包含Applet和JavaBean对象 |
jsp:element | 动态创建一个XML元素 |
jsp:attribute | 定义动态创建XML元素的属性 |
jsp:body | 定义动态创建的XML元素的主体 |
jsp:text | 用于封装模板数据 |
常见的隐含对象:
对象 | 描述 |
---|---|
request | HttpServletRequest类的实例 |
response | HttpServletResponse类的实例 |
out | PrintWriter类的实例,用于把结果输出到页面上 |
session | HttpSesstion类的实例 |
application | ServletContext类的实例,与应用上下文有关 |
config | ServletConfig类的实例 |
pageContext | PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问 |
page | 类似Java类中的this关键字 |
exception | exception类的对象,代表发生错误的JSP页面中对应的异常对象 |
和java中的书写方式大同小异,只是在jsp中是使用<% 将java语句给括起来 %>
语法:
<% if(){ %>标签1...<% }else if() { %>标签m....<% } %>
switch.....case;<% switch() { case n: break;..........} %>
<% for(){ %>循环体内标签<% } %>
<% while () { %> 循环体内的标签<% bn++; %><% } % >
JSP支持所有Java逻辑和算术运算符。
JSP中常见运算符,优先级高到低:
类别 | 操作符 | 结合性 |
---|---|---|
后缀 | ()[].(点运算符) | 左到右 |
一元 | ++ – !~ | 右到左 |
可乘性 | */ % | 左到右 |
可加性 | + - | 左到右 |
移位 | >> >>> << | 左到右 |
关系 | > >= < <= | 左到右 |
相等/不相等 | == != | 左到右 |
位与 | & | 左到右 |
位异或 | ^ | 左到右 |
位或 | | | 左到右 |
逻辑与 | && | 左到右 |
逻辑或 | || | 左到右 |
条件判断 | ?: | 右到左 |
赋值 | = += -= *= /= %= >>= <<= &= ^= |= | 右到左 |
逗号 | , | 左到右 |
常见的字面量:
布尔值(boolean):true 和 false;
整型(int)
浮点型(float)
字符串(String):以单引号或者双引号开始或者结束;
Null:null