我今天学习了工厂模式和El表达式,我做了简单的笔记;
1. 工厂模式:简单工厂模式:工厂方法模式;抽象工厂模式
2. 简单工厂模式:(itcastsimpleFactroy)
a) 开闭原则:
i. 一个软件产品:对内修改关闭,对外扩展开发;
ii. 简单工厂模式:
1. 增加新的功能时。产品达到开闭原则要求
2. 工厂必须修改 ,者并没有达到开闭原则要求;
3. 工厂方法模式:(itcastFactroymethod)
4. 工厂模式的应用:
1. EL表达式:(itcast1130 EL)
2. 使用方式:${ }
3. 会一次从page、request、session、application中查找username属性,取得靠前的返回值
4. 有值则输出,若没有、返回的空字符串
5. 等价于pageconText.find()
6. ${pagescope.username}
7. 使用EL访问javabean
a) 调用Person的getName();
8. EL隐藏对象:
a) PageContext表示当前的jsp页面,具有管理其他对象的功能,
b) PageContext在El表达式中的方法仍然是PageContext,所以在使用EL中的隐含对象时,
c) 用EL取得上下文路径:${pageContext.request.contextPath( )}
d) 用request方式:request.getContextPath();
e)
i)
pageContext表示当前的jsp页面
pageContext jsp中一个内置对象,具有管理其他对象的功能
pageContext 在el表达式的中的表示方法仍然是pageContext --EL中的隐含对象
所以在使用EL中的pageContext这个隐含对象的时候
* 使用pageContext时候,例如pageContext.request.contextPath
request ---pageContext.getRequest()
contextPath ----request.getContextPath();
j) 调用的是getXxxxxx()方法,并且方法没有参数
param是el中隐含对象,封装客户端请求参数的名称和值的map类
param.bookId 等价于 request.getParameter("bookId")
paramValues 是el中隐含对象,封装客户端请求参数的名称和值的map类
param.bookId 等价于 String value[]=request.getParameterValues("love");