JSP
1 - 什么是JSP
从本质上讲,JSP也是servlet,但servlet注重逻辑(java代码的实现),而JSP注重页面的输出,JSP从外观上看很像是html,但其实不是html,实质是servlet,当第一次访问到JSP的时候,JSP会被编译成servlet,所以当第一次访问JSP的时候会比第一次之后访问慢一些
2 - 创建JSP
-
不能在src/main/java下创,必须webapp目录下创建
-
JSP既然实质是servlet,则也必须有地址,JSP的地址不用配,默认以webapp为根目录,文件所在的路径
-
jsp想写java代码,如何写?
-
导包
<!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api --> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>javax.servlet.jsp-api</artifactId> <version>2.3.1</version> <scope>provided</scope> </dependency>
-
写Java代码
这里写的java代码不会在页面中显示
<% 此处写java代码 %>
-
将值在页面中显示
该变量的值会显示在页面上
<%=变量 %>
-
在项目中绝对禁止<%%>等方式嵌入java代码
-
3 - JSP中的9大内置对象、四大作用域
四大作用域,就是9大内置对象中的4个
内置对象:不用创建,JSP自带的对象
-
request 等同于servlet中的request
-
response 等同于servlet中的response
-
out 输出对象 相当于 <%=变量 %>
-
page 当前jsp中的对象 类似于 类中的this
-
pageContext page作用域
-
session session对象
-
application servletContext作用域
-
config 配置对象 servletConfig
-
exception 异常对象 throwable
必须将<%@ page contentType="text/html;charset=UTF-8" language="java" %>
配置成<%@ page contentType="text/html;charset=UTF-8" language="java" isErrorPage="true" %>
才能使用exception