8.JSP基础

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”%>

原文地址:https://www.cnblogs.com/Firesun/p/9677600.html