概念:
java servlet page:java服务器端页面
可以理解为一个特殊的页面,既可以定义html,又可以定义Java代码。
用于简化servlet的开发。
1.服务器解析请求消息,找到index.jsp资源。
2.如果找到了,会将index.jsp转换为_index.java文件
3.编译成.class文件
4.由字节码文件提供访问。
原理
JSP本质上就是一个servlet。
jsp的脚本:jsp声明Java代码的方式。
1.<% Java代码 %>:定义的Java代码在service方法中。service方法中可以定义什么,它内就可以定义什么。
2.<%!Java代码%>:定义的Java代码是成员变量或成员方法。在Java类的成员位置。
3.<%= Java代码%>:输出语句,将Java代码输出到页面上。输出语句中可以定义什么,该脚本中可以输出什么。
jsp的内置对象:
在jsp页面中不需要获取和创建,可以直接使用的对象。
jsp一共有9个内置对象。
今天学习3个:
1.request:
2.response:
3.out:字符输出流对象,可以将数据输出到页面上,和response.getWriter()类似
response.getWriter().write("response");数据输出永远在out.write()之前。
1.JSP:
1.指令
2.注释
3.内置对象
2.MVC开发模式
3.EL表达式
4.JSTL标签
5.三层架构
1.指令
作用:用于配置JSP页面,导入资源文件
格式:
<%@ 指令名称 属性名称=“属性值” 属性名称=“属性值” .........%>
分类:
1.page:配置JSP页面的
contentType:等同于response.setContentType()
1.设置响应体mime类型及字符集
2.设置当前jsp页面的编码(只能是高级IDE才能生效,否则树妖设置pageEncoding属性)
language="java"
buffer="16kb"
import="" 导包
errorPage=""当前页面发生异常后,会自动跳转到指定的错误页面。
isErrorPage="" 标识当前页面是否错误页面。true,可使用内置exception对象。false是默认值不可使用exception对象。
2.include:页面包含的,导入页面的资源
<%@ include file="top.jsp"%>
3:tagli:导入资源
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
prefix:前缀,自定义的。
2.注释
1.html注释:
<!-- -->只能注释html代码片段
2.jsp注释:推荐使用。
<%-- --%>可以注释所有
3.内置对象
在jsp页面中不需要创建,直接使用的对象。
一共有9个:
变量名 类型 作用(共享数据)
1.pageContext PageContex 当前页面(可获取其他8个对象)
2.request HttpServletRequest 一次请求访问的资源
3.session HttpSession 一次会话的多个请求间
4.application ServletContext 多个用户间共享数据
5.response HttpServletResponse 响应对象
6.page Object 当前页面Servlet对象
7.out JspWriter 输出对象,数据输出到页面上
8.config ServletConfig Servlet的配置对象
9.exception Throwable 异常对象