1、jsp(实质上就是一个servlet)
(1)jsp脚本:
1)<% java代码 %>--相当于写在方法里;所以不能定义方法;
2)<%= java变量或表达式%>---相当于写在out.print()里面
3)<%!java代码%>---相当于成员变量;所以能定义方法;
(2)jsp注释:
1)//java单行注释 jsp源码、翻译后的servlet、
2)/*java多行注释*/ jsp源码、翻译后的servlet、
3)<!--html注释--> jsp源码、翻译后的servlet、html源代码
4)<%--jsp注释--%> jsp源码、
(3)jsp运行原理
第一次访问index.jsp --> index_jsp.java [Tomcat下的work目录下] --> 编译运行;
(4)jsp三大指令
1)page指令:
language:jsp脚本可以嵌套的代码,但是只能是java;
pageEncoding:当前jsp脚本的编码
contentType:"text/html; charset=UTF-8"相当于响应的中文乱码问题解决;
session:"true","false";
import:导包;
errorPage:当前页面出错跳转到其他页面;
isErrorPage:当前页面是一个处理错误的页面;
2)include指令:
静态:<%@ include file="被包含的文件地址"%>;动态:<jsp:include page="被包含的页面"/>;
静态包含:被包含文件不编译,直接以Html进入文件;动态包含:被包含文件编译,指向被包含文件地址,进行编译;
3)taglib指令;
(5)九大内置对象:out、request、response、config、session、application、page、pagecontext、exception、
(6)out对象:out缓冲区的内容添加到response缓冲区、默认为buffer="8kb",设置"0kb"时直接进入response缓冲区;
(7)pageContext对象:pageContext可以向指定的其他域中存取数据;
findAttribute(String name)依次从pageContext域,request域,session域,application域中获取属性,
在某个域中获取后将不在向后寻找
pageContext.getRequest();可以获得其他8大隐式对象
(8)jsp标签(动作):
1)页面包含(动态包含):<jsp:include page="被包含的页面"/>
2)请求转发:<jsp:forward page="要转发的资源" />
(1)jsp脚本:
1)<% java代码 %>--相当于写在方法里;所以不能定义方法;
2)<%= java变量或表达式%>---相当于写在out.print()里面
3)<%!java代码%>---相当于成员变量;所以能定义方法;
(2)jsp注释:
1)//java单行注释 jsp源码、翻译后的servlet、
2)/*java多行注释*/ jsp源码、翻译后的servlet、
3)<!--html注释--> jsp源码、翻译后的servlet、html源代码
4)<%--jsp注释--%> jsp源码、
(3)jsp运行原理
第一次访问index.jsp --> index_jsp.java [Tomcat下的work目录下] --> 编译运行;
(4)jsp三大指令
1)page指令:
language:jsp脚本可以嵌套的代码,但是只能是java;
pageEncoding:当前jsp脚本的编码
contentType:"text/html; charset=UTF-8"相当于响应的中文乱码问题解决;
session:"true","false";
import:导包;
errorPage:当前页面出错跳转到其他页面;
isErrorPage:当前页面是一个处理错误的页面;
2)include指令:
静态:<%@ include file="被包含的文件地址"%>;动态:<jsp:include page="被包含的页面"/>;
静态包含:被包含文件不编译,直接以Html进入文件;动态包含:被包含文件编译,指向被包含文件地址,进行编译;
3)taglib指令;
(5)九大内置对象:out、request、response、config、session、application、page、pagecontext、exception、
(6)out对象:out缓冲区的内容添加到response缓冲区、默认为buffer="8kb",设置"0kb"时直接进入response缓冲区;
(7)pageContext对象:pageContext可以向指定的其他域中存取数据;
findAttribute(String name)依次从pageContext域,request域,session域,application域中获取属性,
在某个域中获取后将不在向后寻找
pageContext.getRequest();可以获得其他8大隐式对象
(8)jsp标签(动作):
1)页面包含(动态包含):<jsp:include page="被包含的页面"/>
2)请求转发:<jsp:forward page="要转发的资源" />
静态包含与动态包含的区别?
静态包含在翻译的时候,将多个JSP合并翻译成了一个Servlert。
动态包含在翻译的时候,每个JSP文件都翻译成了对应Servlet,在程序运行加载到JVM中的时候动态合并
动态包含可以传递参数。
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<!-- include的静态包含 -->>
<%@ include file="/Header.jsp"%>
<h1>这是内容页!!!</h1>
<%@ include file="/Footer.jsp"%>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<h1>这是include1</h1>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Insert title here</title> </head> <body>
<!--include的动态包含--> <jsp:include page ="/include1.jsp"/> <h1>这是include2</h1> </body> </html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Insert title here</title> </head> <body> 这是forward1.jsp
<!--include的动态转发--> <jsp:forward page="/forward2"></jsp:forward> </body> </html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Insert title here</title> </head> <body> 这是forward2.jsp </body> </html>