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