8.22
- 四大域对象
域对象 | 生命周期 | 作用范围 | 作用 |
---|---|---|---|
ServletContext | 当WEB应用被加载进容器创建代表整个WEB应用的ServletContext对象,当服务器关闭或WEB应用被移除时,当前ServletContext对象被移除 | 整个WEB应用 | 在不同Servlet之间转发、读取资源文件 |
Request | 在Service方法调用前由服务器创建,传入service方法。整个请求结束,request对象消失 | 整个请求链(请求转发也存在) | 在整个请求链中共享数据,经常用到:在servlet中处理好的数据交给结束jsp进行显示,此时的参数就可以放在reque域 |
Session | 在第一次调用request.getSession()方法时,服务器会检查是否已经有对应的session,有就用,没有就创建 | 一次会话 | |
PageContext | 当对jsp的请求开始,当相应结束时销毁。 | 整个jsp页面 | 获取其他八大隐式对象,可以认为是一个入口对象,获取所有域中的数据,跳转到其他资源 |
- 运算
关系运算:< lt > gt ==eq <= le >= ge ! not && and || or
empty 变量名:判断对象是否为空(null)、判断字符串是否为“”、判断集合是否没有元素、判断域对象是否没有任何属性
el中常用对象:
- 11个常用对象
- 4个具体的域(相当于map对象):pageScope、requestScope、sessionScope、applicationScope
- param:url后携带的数据的封装(相当于map单对象)
- parmValues:url之后的数组对象
- 请求头:header/headerValues
jstl:(java servlet pages standard tag library)通用的jsp标签库;底层是java库
- out 原样输出、转义、输出默认值
- set 向指定域中添加属性、修改属性
- 向域中的javabean对象添加、修改属性
注:scope不能随便写 - 向域中的map对象添加或修改属性
- remove
- catch:捕捉标签包围的所有异常
java代码 ${e.message} - if:test中的值为boolean值
- choose
- forEach循环遍历数组、集合:items用于
- 案例:10开始,++2,到150,当输出到第三个数字时变红
- forTokens切分字符串
- import静态包含
- out 原样输出、转义、输出默认值
分层思想的出现
- servlet适合处理逻辑,但不适合写页面
- jsp适合处理逻辑和写界面,但封装数据比较麻烦
- jsp+javaBean(模式一):解决数据传输问题
- jsp+servlet+javaBean(模式二)M(javaBean)V(jsp)C(servlet)
- 分层:业务分层()、架构分层()
业务分层:
com.peng.login
com.peng.login.web
com.peng.login.service
com.peng.login.dao
com.peng.login.domain
com.peng.buy
com.peng.buy.web
com.peng.buy.service
com.peng.buy.dao
com.peng.buy.domain
架构分层:
com.peng.web
com.peng.service
com.peng.dao
com.peng.domain