JSP基础教程

本文是一篇全面介绍JSP的基础教程,涵盖了JSP的介绍、特点、页面组成、开发环境搭建、语法、指令、动作、内置对象、作用域、表单提交以及EL表达式等内容。详细讲解了JSP的执行原理、如何创建JSP项目,以及如何使用各种指令和动作,旨在帮助读者掌握JSP开发的核心技能。
摘要由CSDN通过智能技术生成

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=
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值