JSP的基本语法
⽂章⽬录
⼀. JSP(Java Server Page)概述
1. 定义
JSP(Java Server Page)将动态代码嵌⼊到静态的HTML中,从⽽产⽣动态的输出。
JSP运⾏于服务器端,能够对客户端展现内容、变化⽹页⽂档以及处理⽤户提交的表单数据
宏观来说:JSP就是在HTML中嵌套java代码
2. JSP是⼀个动态⽹页
静态和动态的区别:
1. 不⽤和是否有动感混为⼀谈
2. 是否随着时间、地点、⽤户操作的改变⽽改变
动态⽹页需要使⽤到 服务端脚本语⾔(JSP)
3. 注意事项
jsp页⾯是由JSP容器执⾏该页⾯的Java代码部分,然后实时⽣成的HTML页⾯,因此说他是服务器端的动态页⾯,在客户端源代码中是看不到Java代码的
⼀般⽽⾔,修改了l、配置⽂件、java需要重启tomcat服务
但是如果修改了jsp\html\css\js,不需要重启
⼆. JSP页⾯元素
1. 注释
(1). HTML注释
1. 定义
能够发送给客户端,可以在源代码⽂件中显⽰其内容
2. 语法
<!--注释内容-->
(2). JSP注释
1. 定义
不会再客户端的源代码⽂件中显⽰其内容,仅提供给程序员阅读
注释内容不会被编译,不会被执⾏,这些内容不会发到客户端
2. 语法
<%--注释内容--%>
(3). Java注释
//注释内容
/* 注释内容 */
2. 指令
(1). 定义
JSP指令告诉JSP引擎对JSP页⾯如何编译,不包括控制逻辑,不会产⽣任何可见的输出
(2). 语法
<%@ 指令类型属性1="属性值1"...属性n="属性值n"%>
(3). 分类
指令内容
<%@ page … %>定义⽹页依赖属性,⽐如脚本语⾔、error页⾯、缓存需求等
<%@ include … %>包含其他⽂件
<%@ taglib … %>引⼊标签库的定义
(4). page指令
⽤来设定页⾯的属性和相关功能,⽤户可以利⽤其进⾏导⼊需要的类,指明JSP输出的内容的类型,指定处理异常的错误页⾯等操作与Page指令相关的属性:
属性描述
buffer指定out对象使⽤缓冲区的⼤⼩
autoFlush控制out对象的 缓存区
contentType指定当前JSP页⾯的MIME类型和字符编码
errorPage指定当JSP页⾯发⽣异常时需要转向的错误处理页⾯
isErrorPage指定当前页⾯是否可以作为另⼀个JSP页⾯的错误处理页⾯
extends指定servlet从哪⼀个类继承
import导⼊要使⽤的Java类
info定义JSP页⾯的描述信息
isThreadSafe指定对JSP页⾯的访问是否为线程安全
language定义JSP页⾯所⽤的脚本语⾔,默认是Java
session指定JSP页⾯是否使⽤session
isELIgnored指定是否执⾏EL表达式
isScriptingEnabled确定脚本元素能否被使⽤
java和jsp<%@ page contentType="text/html;charset=UTF-8" language="java"%>
作⽤:设置当前页⾯的参数,指导tomcat编译当前⽂件的类型。通常page指令的参数不需要我们⼿动设置。
page指令常⽤参数:
language="java"⽀持的语⾔
contentType="text/html; charset=UTF-8"内容类型
pageEncoding="UTF-8"页⾯的编码格式
import="java.util.List,java.util.ArrayList"导⼊对象:导⼊某个类对象
autoFlush="true"⾃动刷新
errorPage="03-error.jsp"如果当前页⾯抛异常跳转指定页⾯
session="true"当前页⾯中可以直接使⽤该对象
isELIgnored="false"是否忽略EL表达式
1. 导⼊包
编程⽤到JDK的其他类,需要导⼊
语法:
<%@page import="包名.类名|包名.*|包名.类名1,包名.类名2"%>
2. 设定字符集
pageEncoding:jsp⽂件⾃⾝编码 jsp——>java
3. 设定错误页⾯
errorPage属性的作⽤:指定⼀个页⾯,当JSP程序出现未被捕获的异常时跳转到这个指定的页⾯跳转到的页⾯需要使⽤isErrorPage属性指明处理其他页⾯的错误信息
4. 设定MIME类型和字符编码
contentType:浏览器解析jsp的编码
(5). include指令
include指令:将其他页⾯的内容包含到当前页⾯来⼀起执⾏编译。
使⽤场景:通常使⽤⼀些公共代码的时候可以使⽤。⽐如:⽹页头部、底部代码、重复性的代码。
语法: <%@ include file="time.jsp"%>
参数说明:file表⽰当前页⾯包含的页⾯路径名称。
代码⽰例:
<%@page contentType="text/html;charset=UTF-8" language="java"%>
<html>
<head>
<title>Title</title>
</head>
<body>
<p>
<a href="#">百度⼀下</a>
<a href="#">淘宝⾸页</a>
</p>
<%--页⾯包含指令:file表⽰包含的页⾯--%>
<%@include file="time.jsp"%>
</body>
</html>
1. 定义
使⽤include指令可以在jsp程序中插⼊多个外部⽂件,这些⽂件可以是JSP、HTML或者Java程序,甚⾄是⽂本
在编译时,include指令把相应的⽂件包含进主⽂件
2. 语法
<% @ include file="⽂件名"%>
3. 注意
由于include指令在编译的时候就将相应的⽂件包含进来,等价于代码的复制,所以在调⽤⽂件和包含⽂件出现相同变量,会报错(6). taglib指令
<%@taglib prefix="" uri="" %>
这个指令主要是⽤来引⼊JSTL标签库的指令的。
3. HTML
HTML界⾯元素
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"content="width=device-width, initial-scale=1.0">
<title>HTML</title>
</head>
<body>
</body>
</html>
4. Java [脚本(Scriptlet)]
(1). JSP程序段
1. 定义
JSP程序段就是插⼊到JSP程序的Java代码段,在⽹页的任何地⽅都可以插⼊JSP程序,在程序段中可以插⼊任何数量的Java代码2. 语法
<%
局部变量、java语句
%>
3. 举例
<%
String name ="张三";
out.print("Hello"+name);
%>
注:JSP程序段中不能定义函数
(2). JSP声明
1. 定义
JSP声明可以定义⽹页中的全局变量,这些变量在JSP页⾯中的任何地⽅都能使⽤,
在实际应⽤中,⽅法、页⾯全局变量甚⾄类的声明都可以放在JSP声明部分
2. 语法
<%!
全局变量、定义⽅法
%>
3. 举例
<%!
public String bookName;//全局变量
public void init()
{
bookName ="javabook";
}
%>
注:在JSP声明中只能做定义,不能实现控制逻辑
(3). JSP表达式
1. 定义
JSP表达式⽤于定义JSP的⼀些输出
将⾥⾯的内容所运算的结果输出到客户端
2. 语法
<%=输出表达式(变量/返回值/表达式)%>
等价于
<%out.print(变量/返回值/表达式);%>
3. 举例
<%!
public String bookName;//全局变量
public void init()
{
bookName ="javabook";
}
%>
<%
String name ="张三";
out.print("Hello"+name);
init();
%>
<%="hello"+bookName %>
4. 注意
JSP表达式中不能⽤;结束
JSP表达式中不能出现多条语句
JSP表达式中的内容⼀定是字符串类型,或者通过toString()函数转换成字符串的形式
三. URL传值
1. 定义
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论