1. jsp的概念特点和第一个jsp页面

(1) jsp的概念

Jsp名称为java服务器页面,其根本是简化的servlet,是一种动态网页技术标准

2. jsp的访问原理图

(1) Jsp的访问原理流程

浏览器发送请求,请求jsp,请求被Tomcat服务器接收,执行jspServlet(其实就是jsp驱动)将jsp文件转译为java文件(也是servlet),然后执行转译好的java文件。




java jsp项目改造成springboot项目 jsp转java_jsp 将页面中的值导入java中


jsp的访问原理图

3. jsp的访问原理总结

(1) 需要注意的地方

Jsp中可以书写java代码,但是java代码会按照原样进行转译执行,而如HTML、css、js、data数据等前端代码会被响应到浏览器,经过浏览器解析后呈现给用户。

4. jsp的page指令

(1)page指令的属性及作用

<%@page langusge=”java”%>,声明编码语言

<%@page pageEncoding=”utf-8”%>,设置jsp的数据保存的编码格式

%@page import=”java.util.*”%,声明转译时导入的Java包文件

<%@page contentType="text/html; charset=utf-8"%>,设置数据的相应编码格式

<%@page session="false"%><%-- 设置session的状态,默认为true,也就转译的servlet文件中默认session是开启的,使用false关闭--%>

<%@page isErrorPage="true"%><%-- 默认为false ture表示开启exception异常对象的使用--%>

<%@page errorPage="error.jsp"%><%-- 设置当jsp运行出现异常错误时跳转指定的页面--%>

5. jsp的局部代码块和全局代码块和脚本段语句

(1) 局部代码块和全局代码和脚本段语句的声明

局部代码块:

<%

Int a=10;

System.out.println(a);

Test();

%>

全局代码块:

<%

Int b=20;

Public void test(){

System.out.print(“全局声明”);

}

%>

脚本段语句:

声明方式:<%=变量名或者方法名()%>

(2) 局部代码块声明和全局代码块声明的区别

使用局部代码块生命的java代码会被转译为_jspServlet方法中。也就是局部代码。

使用全局代码块声明的java代码会被转译成jsp对应的java文件的全局代码。

6. jsp的注释

(1) jsp的注释

HTML注释:会被转译也会被响应给浏览器,但是浏览器不会执行。

CSS注释:会被转译也会被响应给浏览器,但是浏览器不会执行。

js注释:会被转译也会被响应给浏览器,但是浏览器不会执行。

java注释:会被转译,但不会执行

jsp注释:注释内容不会被转译,也不会被执行

7. jsp的静态引入和动态引入

(1) 静态引入和动态引入的标签

静态引入:<%@include file=”要引入的资源的相对路径”%>

动态引入:<jsp:include page=”static.jsp”></jsp:include>

(2) 静态引入和动态引入的区别

静态引入:被引入的jsp文件和原来的jsp文件会被转译为一个java文件使用。静态引入的jsp文件中不允许声明同名变量。

动态引入:被引入的jsp文件会被单独转译,原有的jsp文件会调用引入的jsp文件。动态引入的jsp文件中可以声明同名变量。

8. jsp的forward标签学习

(1) forward标签的作用及使用注意事项

可以解决不同的jsp请求在处理请求时,将当前请求转发给另外的jsp进行处理

<jsp:forward page="要转发的jsp的相对路径"></jsp:forward>

在forward标签中除了<jsp:param value=“” name=“”/>字标签意外不能出现其它内容,否则会报错。

9. jsp的内置对象学习

(1) jsp的九大内置对象

Request:封存了请求相关数据,由服务器创建

Response:响应对象,设置编码格式

Application:ServletContext对象,解决了不同用户之间的数据共享问题

Session:解决了同一用户个不同请求之间的数据共享问题

Out:响应数据的对象,交于response对象,out对象底层使用了缓冲区。out对象的效率高于response

Page:代表当前被执行的jsp转译的java文件的对象

Config:ServletConfig对象,使用此对象完成资源的初始化。

Exception:jsp页面的异常对象,封存了异常信息。

PageContext:页面上下文对象,此对象封存了另外8个对象。

注意:一个jsp页面一个pageContext对象。pageContext对象每次请求都会重新创建。

作用域:当前jsp页面

10. jsp和Servlet的职责讲解

(1) jsp与servlet的职责

Jsp负责页面展现,servlet负责业务逻辑处理

11. Servlet中请求转发和重定向的绝对路径

(1) 请求转发和重定向的路径最好写成绝对路径

如果当前文件的路径发生变更,从当前路径查找资源的相对路径都要重新进行书写。

(2) 请求转发和重定向路径中第一个斜杠的含义

在重定向中表示服务器根目录,在请求转发中表示项目根目录

12. jsp中的绝对路径和basePath方式

(1)jsp中的路径的第一个斜杠的含义

Jsp中的路径的第一个斜杠表示服务器根目录

(2) jsp中的basePath设置的作用

BasePath的值为当前根目录,并且在head标签中使用了<base href=”<%=basePath%>”>相当于将当前页面的资源全部默认定位为从项目根目录开始查找,这样就不需要写第一个 / 了。