jsp
jsp简介:
JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,在jsp中既可以写html 代码 ,又可以写java代码
作用:将页面显示与业务逻辑相分离;
通常分为三部分:
java 代码
html代码
jsp指令
jsp本质:
当你发起请求时,服务器会根据匹配的规则,匹配给jspServlet,jspServlet会根据路径去查找你访问的那个jsp文件是否存在,如果该jsp文件存在,会将jsp文件进行翻译,翻译成一个java的类(继承了一个HttpJspServlet),会将内容写到硬盘上,保存在work目录下,调用jdk的api ,会将java文件编译成class文件,调用他的service方法,完成请求
jsp脚本:
- <% java 代码 %> 编写Java代码 原封不动翻译到java文件中的service方法
- <%= java输出表达式%> 原封不动翻译到java文件中的service方法的uot.print(java表达式) 不能加分号
- <%! %> 用来声明java 的成员属性与成员方法
jsp的注释:
单纯的html 与java 使用自己语言的注释 java与html 混合时使用<%-- 内容 --%>
jsp指令:
指令语法格式
<%@ 指令名 属性名="属性值" 属性名="属性值" 属性名="属性值" 属性名="属性值"......%>
没有个数限制 没有位置限制
1. page 指令
用来指明当前页面的属性和行为
属性:
import属性:导入包
contentType:指明指明编码和数据类型的
pageEncoding:指明当前页面本身的编码
在页面可以只声明其中编码 那么另外一个也使用这个编码
在页面可以两个都声明了 各用各的
如果都没写 默认 iso-8859-1
autoFlush:自动刷新
buffer:缓存区大小
errorPage:当发生错误的时候 请求转发到一个好看错误页面
isErrorPage:如果你声明这个属性 改为true 可以使用exception内置对象
session:默认值为true可以session内置
isELIgnored:是否忽略el表达式 false
2. include 静态包含指令
<%@include file="要包含文件的路径"%>
3. taglib 标签库的指令
jsp内置九大域对象:
- application serlvetContext 上下文对象
- request request请求对象
- session seesion对象
- response 响应对象
- pageContext page 页面上下文对象
- page this对象
- out 输出对象
- config SerlvetConfig 对象
- exception 异常对象 isErrorPage:如果你声明这个属性 改为true 可以使用exception内置对象
pageContext对象:
api : setAttribute(“key”“value”)向域中存储数据
getAttribute(“key”)通过取出值
removeAttribute(“key”)通过key移除属性
作用:
- 操作其他三大域对象
- 可以获取其他8大内置对象
- 便捷查找: findAttribute("key") 通过key值 查找对应的值 四大域依次查找, 从小到大 , 找到为止