JSP入门学习
概念:
Java Server Pages: java服务器端页面
可以理解为:一个特殊的页面,其中既可以指定定义
html
标签,又可以定义java
代码
用于简化书写!!!
原理
JSP本质上就是一个Servlet
JSP的脚本:
JSP定义Java代码的方式
1. `<% 代码 %>`:定义的`java`代码,在`service方法`中。service方法中可以定义什么,该脚本中就可以定义什么。
2. `<%! 代码 %>`:定义的`java`代码,在jsp转换后的java类的成员位
3. `<%= 代码 %>`:定义的`java`代码,会输出到页面上。输出语句中可以定义什么,该脚本中就可以定义什么。
JSP的内置对象:
在jsp页面中不需要获取和创建,可以直接使用的对象
jsp一共有9个内置对象。
今天学习3个:
request
response
out
:字符输出流对象。可以将数据输出到页面上。和response.getWriter()
类似response.getWriter()和out.write()的区别:
- 在tomcat服务器真正给客户端做出响应之前,会先找response缓冲区数据,再找out缓冲区数据。
- response.getWriter()数据输出永远在out.write()之前
案例:改造Cookie案例
1 | <%@ page import="java.net.URLDecoder" %> |
指令
作用:
用于配置JSP页面,导入资源文件
格式:
1 | <%@ 指令名称 属性名1=属性值1 属性名2=属性值2 ... %> |
分类
page
配置JSP页面的
contentType
:等同于response.setContentType()
- 设置响应体的
mime
类型以及字符集 - 设置当前
jsp
页面的编码(只能是高级的IDE才能生效,如果使用低级工具,则需要设置pageEncoding
属性设置当前页面的字符集)
- 设置响应体的
import
:导包errorPage
:当前页面发生异常后,会自动跳转到指定的错误页面isErrorPage
:标识当前也是是否是错误页面。true
:是,可以使用内置对象exceptionfalse
:否。默认值。不可以使用内置对象exception
1
<%@ page contentType="text/html;charset=UTF-8" language="java" errorPage="500.jsp" %>
include
页面包含的。导入页面的资源文件
1 | <%"top.jsp"%> file= |
taglib
导入资源
1 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> |
注释
html
注释:1
<!--只能注释html代码片段 -->
jsp
注释:推荐使用1
<%--可以注释所有 --%>
内置对象
在jsp页面中不需要创建,直接使用的对象
一共有9个:
变量名 真实类型 作用
pageContext
PageContext 当前页面共享数据,还可以获取其他八个内置对象request
HttpServletRequest 一次请求访问的多个资源(转发)session
HttpSession 一次会话的多个请求间application
ServletContext 所有用户间共享数据response
HttpServletResponse 响应对象page
Object 当前页面(Servlet)的对象 thisout
JspWriter 输出对象,数据输出到页面上config
ServletConfig Servlet的配置对象exception
Throwable 异常对象