02-JSP 9大内置对象
1. 9大内置对象
能够在jsp页面上直接使用这些对象,一共有9个。
9大对象就是jsp页面翻译成java文件中创建的对象,所以可以可以在jsp页面中直接使用。
page
:页面对象,java.lang.Object类型的page对象request
:HttpServletRequest,javax.servlet.http.HttpServletRequest类型的request对象response
:HttpServletResponse,javax.servlet.http.HttpServletResponse类型的response对象session
:HttpSession,javax.servlet.http.HttpSession类型的session对象application
:ServletContext,javax.servlet.ServletContext类型的application对象out
:JspWriter,javax.servlet.jsp.JspWriter类型的out对象config
:ServletConfig,javax.servlet.ServletConfig类型的config对象exception
:Throwable,java.lang.Throwable类型的exception对象pageContext
:pageContext,javax.servlet.jsp.PageContext类型的pageContext对象
2. 4大域对象
- pageContext:
作用在当前页面
代表 page 域,但是 jsp 中 page 它的类型是 Object,所以操作 page 域我们使用的是 pageContext 对象,page 域就是指当前页面
- request:
作用在一次请求
,对应 Servlet 域对象:HttpServletRequest - session:
作用在一次会话
,对应 Servlet 域对象:HttpSession - application:
作用在整个项目
,对应 Servlet 域对象:ServletContext
3. pageContext 域对象
作用:获取/操作其他的内置对象、操作域
- 获取其他的内置对象
- 没有获取 out 内置对象
1 |
|
- 操作域
- 操作page域:作用范围只在当前页面
1 |
|
- 操作其他域
- request域
1 |
|
- session域
1 |
|
- application域
1 |
|
4. jsp优化登录案例
现在方案:
- login.jsp 登录页面、显示错误信息
- LoginServlet 处理登录请求、业务处理、调用dao,操作数据
- index.jsp 显示用户名
代码实现:
login.jsp
1 |
|
index.jsp
1 |
|
在 jsp 优化后目前存在的问题:
- jsp页面还存在java代码(后台代码)和html代码(前端代码)融合在一起的问题!
- 一定程度解决,可能需要jstl标签库。
- 彻底解决,得使用vue + html
02-JSP 9大内置对象
https://janycode.github.io/2017/05/29/04_网页技术/05_JSP/02-JSP 9大内置对象/