一、JSP九大内置对象
###<1>概念
不需要预先申明和定义,可以直接在jsp代码中直接使用
在JSP转换成Servlet之后,九大对象在Servlet中的service方法中对其进行定义并初始化
###<2>分类
输入输出:out ,request ,response
通信控制对象:pageContext,session,application,request
Servlet对象:page,config
错误处理:exception
###<3>out对象
类型:JspWriter
概念:输出流对象,向浏览器输出信息,对其缓冲区进行管理
特点:out具有缓冲区,默认8kb
常用方法:write(),print()
![](1.png)
###<4>request对象
类型:HttpServletRequest
概念:封装从客户端发送的请求数据,可以在一次请求*享数据
常用方法:
setAttribute()/getAttribute()
getParameter()
getRequestDispatcher().forward()
###<5>response对象
类型:HttpServletResponse
概念:封装从响应到客户端的响应数据
常用方法:
getOutputStrean()/getWriter()
sendRedirect()
###<6>application对象
类型:ServletContext
概念:当前整个web应用的上下文对象,可以在多个用户之间共享数据
常用方法:
setAttribute()/getAttribute()
###<7>session对象
类型:HttpSession
概念:用户的一次回话,在同一个用户的不同请求之间进行数据的共享
常用方法:
setAttribute()/getAttribute()
###<8>exception对象
类型:Throwable
概念:处理jsp页面发生的异常和错误
注意:使用exception对象的页面需要配置page指令中配置iserrorpage=true
常用方法:
getMessage()
printStackTrace();
###<9>pageContext对象
类型:PageContext
概念:jsp页面的上下文对象,在当前页面中进行数据共享
访问其他域对象中的数据
方法:
setAttribute(String key,Object value)/getAttribute(String key);//使用比较少
setAttribute(String key,Object value,int scope)/getAttribute(String key,int scope)
###<10>page对象
概念:当前页面对象,Servlet 对象
类型:Servlet对象
###<11>config对象
类型:ServletConfig
概念:封装了Servlet的配置信息
###<12>四大域对象
page域范围:pageContext内置对象,和page对象没有关系
request域范围:在一次请求中有效
session域范围:在一次回话中有效,包含多个请求
application域范围:在一个web应用中有效,包含多个回话
setAttribute()/getAttribute();
removeAttribute(String key);
#二、JAVAEE三层架构和MVC设计模式
###<1>模式的概念
在开发中不断优化和总结的经验(规范,模版,套路)
###<2>javaEE
模式一:纯jsp开发,随着业务的复杂,jsp和业务实现耦合性较高,互相影响
模型二:servlet+jsp
###<3>javaEE的三层架构
web层:和前端进行交互
dao层:和数据库进行交互
service层:实现复杂的业务处理
cn.xdl.web
MVC
cn.xdl.dao
cn.xdl.service
![](2.png)
###<4>MVC设计模式
M:model ,模型层
V:view ,视图层 ,jsp
C:control ,控制器层 ,servlet
#作业
1. 重构宠物管理系统
2. 添加购物车
# 三、Ajax
###<1>概念
异步的Js和XML
几种技术的综合
###<2>作用和优点
异步请求和响应处理,效率高
减少了用户操作等待的时间
增加了用户操作的连续性
页面的局部刷新
减少了交互的数据量,提高程序的性能,提高用户体验