1、jsp简介
2、jsp一些特点
3、jsp页面组成
4、搭建jsp环境
5、第一个jsp页面
6、jsp语法
7、jsp三大指令
8、jsp七大动作
9、jsp九大内置对象
10、jsp四大作用域
11、jsp表单提交
12、jspE表达式L
1、JSP简介
JSP(全称JavaServer Pages),sun公司主导的一种动态网页技术,JSP在服务端运行,可以响应客户端的请求,根据请求内容动态的生成HTML、XML或其他格式文档的Web网页然后返回请求者。在JSP页面可以嵌入Java代码,JSP文件在运行时会被其编译器转换成更原始的Servlet代码,然后再由Java编译器来编译成能快速执行的二进制机器码。
2、JSP的一些特点
①能以模板化的方式简单、高效地添加动态网页内容。
②可利用JavaBean和标签库技术复用常用的功能代码。
③有良好的工具支持。
④继承了Java语言的相对易用性。
⑤继承了Java的跨平台优势,实现“一次编写,处处运行”。
⑥页面中的动(控制变动内容的部分)/静(内容不需变动的部分)区域以分散但又有序的形式组合在一起,方便开发维护。
⑦可与其它企业级Java技术相互配合。JSP可以只专门负责页面中的数据呈现,实现分层开发。
3、JSP页面的组成
在 HTML 页面文件中加入 Java 程序段和 JSP 标签,即可构成一个 JSP 页文件,JSP 页面由 5 种元素组合而成。
普通的 HTML 标记符。
①JSP 标签,如指令标签、动作标签。
②变量和方法的声明。
③Java 程序段。
④Java 表达式。
JSP执行原理
当服务器上的 JSP 页面被第一次请求执行时,服务器上的 JSP 引擎首先将 JSP 页面文件转译成 Java 文件,再将 Java 文件编译,生成字节码文件,然后通过执行字节码文件响应客户的请求。
字节码文件需要做的事情
把 JSP 页面中普通的 HTML 标记符号交给客户的浏览器执行并显示。
JSP 标签、数据和方法声明、Java 程序段由服务器负责执行,将需要显示的结果发送给客户的浏览器。
Java 表达式由服务器负责计算,并将结果转化为字符串,然后交给客户的浏览器负责显示。
4、搭建jsp开发环境
①安装jdk
②下载tomcat
tomcat最新版下载地址
下载好一直下一步就好,然后再浏览器输入localhost:8080出现
即可
③使用开发工具eclipse在创建jsp项目。
输入项目名字
在webContent下创建jsp文件
在控制台右键点击找到new选择Server,输入server,选择想要的tomcat版本
输入tomcat名字我这里是默认,选择想要的服务器版本,
Tomcat installation diectory 选择tomcat的安装目录
选择将你想要的项目绑定到tomcat,然后finsh
报错是因为没添加tomcat服务器
选中项目找到build path 选择 configure build path
点击add libarary
选择Server Time
选择你的tomcat版本finsh即可
点击apply and close 应用并退出 ,就不会报错了。
5、第一个JSP页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
第一个jsp界面
</body>
</html>
运行结果
6、JSP语法
6.1、代码片段
<%代码片段%>
可以在代码片段写java变量、方法、表达式、
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
int i = 10;
if(i>9){
out.print("true");
}
%>
</body>
</html>
6.2、声明
一个声明语句可以声明一个或多个变量、方法,供后面的Java代码使用。
语法<!% java代码 %>
6.3、表达式
一个JSP表达式中包含的脚本语言表达式,先被转化成String,然后插入到表达式出现的地方。
语法:<%=表达式%>
6.4、jsp注释
6.5、jsp当中的if、switch、while、for
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- if -->
<%if(1==1){
%>
<p>if表达式为true</p>
<%}else{
%>
<p>if表达式为false</p>
<%}%>
<!-- switch -->
<%! int day=6; %>
<%
switch(day) {
case 0:
out.println("星期天");
break;
case 1:
out.println("星期一");
break;
case 2:
out.println("星期二");
break;
case 3:
out.println("星期三");
break;
case 4:
out.println("星期四");
break;
case 5:
out.println("星期五");
break;
default:
out.println("星期六");
}
%>
<!-- for -->
<br><br>
<%
for(int i=1;i<5;i++){
out.print("for循环了"+i+"次");
}
%>
<!-- while -->
<%! int j=1; %>
<%while ( j <= 3){
%>
<font color="green" size="<%= j %>">
font
</font><br />
<%j++;%>
<%}%>
</body>
</html>
运行结果
7、JSP三大指令
7.1、page指令
page是对整个页面配置信息的指令。
语法:<% @ page 属性…%
属性名称 | 用法 |
---|---|
autoFlush | 是否清除缓存,默认True,不用修改 |
ContentType | 设置页面编码类型 |
pageEncoding | 设置当前页面的字符编码集 |
import | 导包、导类 |
session | 页面是否能使用session(true/false) |
isElIgnored | 是否开启EL表达式(true/false) |
language | 页面的语言(默认为java) |
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" autoFlush="true" %>
<%@ page import="java.util.*" session="true" isELIgnored="true" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
</body>
</html>
7.2、include指令
include指令怎么把另外一个界面导入当前界面。
可以看到上面画红圈的地方使用include指令把第二个界面导入进来了运行的结果把第二个界面显示出来了
7.3、taglib指令
taglib 用于导入第三方标签库(JSP 标准标签库、第三方标签库、自定义标签库)。
<%@ taglib prefix='c' uri="http://java.sun.com/jsp/jstl/core"%>
8、JSP七大动作
8.1、include动作
include动作把另外一个页面的动态(jsp文件)、静态内容(文本文件)插入到当前页面进行输出。
输出结果
8.2、param动作
当使用 jsp:include 动作标记引入的是一个能动态执行的程序时,如 Servlet 或 JSP 页面,可以通过使用 jsp:param 动作标记向这个程序传递参数信息。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- name 参数名字 value 参数值-->
<jsp:include page="index.jsp">
<jsp:param name=