1.Servlet与JSP关系
JSP工作原理:
一个JSP文件第一次被请求时,JSP引擎把该JSP文件转换成为一个servlet
JSP引擎使用javac把转换成的servlet的源文件编译成相应的class文件
对每一个请求,JSP引擎创建一个新的线程来处理请求。

JSP的Servlet本质:

2.JSP页面生命周期
阶段
|
描述
|
转译
|
将JSP源文件转译成对应的Servlet源文件
|
编译
|
编译Java源文件为类文件
|
加载
|
将类加载至内存
|
实例化
|
创建一个Servlet类实例对象
|
初始化
|
调用_jspInit()方法,最终调用Servlet类的init()方法初始化
|
服务
|
调用_jspService()方法,最终调用Servlet类的service()方法,将请求和响应传递进对应的doXXX()方法
|
销毁
|
调用_jspDestroy()方法,最终调用destroy()方法,销毁Servlet
|
3.JSP与Servlet的内部转换:
JSP转译Servlet(Java生命周期第一阶段) : 解析 校检 转译



4.page伪指令属性
import属性(相当于java中的import)
用于描述JSP页面中使用类的全包名,可选属性
<%@page import=“java.io.*,java.sql.*”%>
默认导入包:java.lang、javax.servlet、javax.servlet.jsp、javax.servlet.http
session属性
session属性指定页面是否需要一个http会话
<%@page session=“true/false”%>
errorPage和isErrorPage属性(JSP异常处理)
JSP产生一个不能捕获的溢出时跳转到一个错误页面
<%@page errorPage=“error.jsp”%>
在error.jsp页面中必须加入<%@page isErrorPage=“true”%>才能进行错误处理
language和extends属性
language属性指定JSP页面中声明、脚本、和表达式中使用语言,默认是Java
<%@page language=“java” %>
extends属性用于指定JSP页面对应Servlet类的基类,极少使用
<%@page extends=“mypackage.BaseServlet”%>
language和extends属性
language属性指定JSP页面中声明、脚本、和表达式中使用语言,默认是Java
<%@page language=“java” %>
extends属性用于指定JSP页面对应Servlet类的基类,极少使用
<%@page extends=“mypackage.BaseServlet”%>
contentType和pageEncoding属性
contentType属性指定页面响应的MIME类型和字符编码
<%@page
contentType =“text/html;charset=UTF-8” %>
pageEncoding属性用于指定JSP页面字符编码格式,默认值为ISO-8859-1
<%@page pageEncoding =“UTF-8”%>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。