JSP页面本质上就是一个Servlet,在TomCat的安装目录下的conf子目录下有一个全局的web.xml文件,里面有如下代码:
<servlet>
<servlet-mapping>
一、JSP运行原理及生命周期
1、翻译,由jsp引擎(JspServlet)将JSP页面翻译成JAVA代码
2、编译,Web容器负责将该Servlet编译成class文件。
3、装载,Web容器装载该Servlet
4、实列化,将该Servlet实列化
5、初始化,容器调用jspInit()方法,允许JSP页面装载资源
6、服务,请求到达,调用_jspServlet()方法运行
7、JSP销毁阶段,JSP页面任务完成以后,调用jspDestroy()释放资源
其中1、2步只执行一次
二、JSP的基本语法
1、脚本元素
(1)声明:<%! 全局变量和方法 %>
声明里面书写的JAVA代码相当于在JspServlet类里写方法,和全局变量
(2)Scriplet:<% 代码 %>
Scriplet里面的代码在doGet或者doPost里运行
(3)脚本表达式:<%= 内容代码 %>
脚本表达式里面的代码相当于out.print(" 内容代码 ")
2、JSP指令
(1)page指令:<%@ page 。。。。。 %>
设置MIME
<%@ page contenType="text/html;charset=gbk" %>
导包import
<%@ page import="Java.util.*" %>
是否创建会话session
<%@ page session="true" %>访问该页面时创建session(默认)
<%@ page session="false" %>访问该页面时不创建session
异常errorPage,如果该页面发生异常,则执行
<%@ page errorPage="异常处理页面URL" %>以重定向的方式
(2)include指令:<%@ file="要包含进来的文件URL" %>
(3)taglib指令:<%@ taglib %>
3、jsp动作
(1)<jsp:include> 动作,可包含动态页面文件
<jsp:include page="文件相对路径" flush="true" />
(2)<jsp:forward>动作:转发到另一个JSP页面,后面的语句将不会执行
<jsp:forward page="url">
三、JSP隐式对象
1、四个作用域
(1)PageContext pageContext;作用于页面
(2)ServletContext application;作用于全局,所有Servlet
(3)Request request ;作用于同一个请求
(4)Session session;作用于同一个会话
2、两个输出
(1)Response response;响应
(2)JspWwriter out 字符输出流
3、
(1)Object page = this 当前对象
(2)ServletConfig config;配置
(3)exception 异常