ssh框架的一些体会
2014-11-23 17:31
183 查看
33-抽取添加与修改JSP页面中的公共代码:1,把公共的代码抽出来2,添加修改使用同一个页面
将他们放到public文件夹
32:使用递归展现添加与修改页面中的树状上级部门列表:
1.无序问题(set集合无序)方法:在类的映射类中的xml中加入order-by属性
2.数据库的问题(不直接修改session缓存,copy 一份修改)递归:不在页面中写 action中遍历出
29.使用OpenSessionInViewFilter方案解决Hibernate懒加载异常的问题
1,在web.xml中的struts过滤器之前
20_阶段2__补充:Struts2的整体回顾(Action、拦截器、值栈、OGNL表达式、ModelDriven方案等)
a:拦截器处理公共的部分 action 专注响应
valuestacks--map stack--炒作put(key,value) value〈- get(key) actionContext.getcontent().getvalueStack()(action中获取valuestacks的值) result中获取ognl
21_阶段2__改进:CRUD改进1__使用ModelDriven方案:
a:modeldriver封装参数 private role model = new role();public role getModel(){ return model;}
22_传智播客汤阳光OA项目视频__阶段2__改进:CRUD改进2__套用美工写好的页面效果
a:1.修改为webroot的路径:${pageContext.request.contextPath} 2.加上struts的标签 3.加上样式
23.CRUD改进3__添加功能和修改功能使用同一个JSP页面
合并添加,修改 {id==null ?'add' : 'edit'}
24_传智播客汤阳光OA项目视频__阶段2__系统管理模块__部门管理1__实现基本的增删改查功能
a:上级部门(以后解决)1.设计实体,创建Javabean 2.写映射文件 3.加入hibernate的xml 4.分析有几个功能,对应几个请求(增删改查)
5.写action (crud的模板)
public String list() throws Exception{ return "list";}
public String delete() throws Exception{ return "toList";}
public String addUI() throws Exception{ return "saveUI";}
public String add() throws Exception { return "toList";}
public String editUI() throws Exception { return "saveUI";}
public String edit() throws Exception { return "toList";}
6.配置struts的xml
7.action里面填充代码 实现功能 list<department> department = departmentService。findAll(找Service获取); actionContext.getContext.put("departmentList",departmentList);(放在map中便于获取,放在值栈不好,map中用#获取)
8.创建service类 action中@Resource注入 9.使用modeldriver 实体和表单不太对应 (可以创建新的对象)editUI回显(actionContext.getContext().getValueStack().push(department);
10.实现service
修改页面:修改路径;删除演示js;数据列表循环显示()
25:pass
26:
27:3.删除上级部门 级联下级部门 4.一次显示一层 (1.toplist childlist 2.点击相应的名称 传id) 5.面向对象的查询,写的对象名和属性名
29
34_阶段3__系统管理模块__改进2:在显示层抽取BaseAction
a:1.baseaction继承公共的actionsupport和实现modeldriver的封装 2.使用泛型让子类选择所需要的对象类型 2.1在类中,通过反射获取model的类型 2.2abstract不需要生成实类,子类生成 2.3本子类专注于请求
35.合并service和dao dao层@Deprecated 数据库操作拿session在service里面操作
36.写用户类 一。baseaction<?> 封装表单参数(1.实体(domain)2.新建对象,写到action中)二。增删改查
一、做Action相关的准备:
Action、JSP、配置
二、做Service相关的准备:
接口、实现类、配置
三、填空:
Action方法、Service方法、JSP页面
userAction:hashset初始化的时候就有另外一个集合中的参数 edit:1,是否要准备数据 2.是否要回显
实现一组功能:1,( Action中)添加功能的步骤:
// 1,新建对象并设置属性(在model使用的是实体的情况下,也可以使用model,但需要设置未封装的属性)
// 2,保存到数据库
2,( Action中))修改功能的步骤:
// 1,从数据库中取出原对象
// 2,设置要修改的属性
// 3,更新到数据库
37_阶段3__系统管理模块__用户管理2__测试功能、解决事务的问题、对密码进行MD5摘要
1.删除 // @Transactional注解可以被继承
// @Transactional注解对父类中声明的方法无效
=========================
权限的使用:
实现方案:权限(表,实体) 基于角色的权限模型 1.一个功能对应一个或两个url; 2.
初始化数据 分配权限 使用权限
39:设计实体 (主键,关联关系,一般属性(URL),特殊属性name(用户观看),parent,childrenL:set<privilege>)自关联,一对多的实体设计
40:实体:javabean,
41_阶段4__权限模块__实现初始化权限数据的功能:默认只需要一边关联即可
43:带表单页面的两个请求 不带的一个请求 action类 方法 页面 配置
44:注释1:@Controller注解标明该类需要Spring容器自动加载
注释2:@RequestMapping注解标识该Controller处理来自/menu_creator.do的请求
spring注解:
@Service用于标注业务层组件
@Controller用于标注控制层组件(如struts中的action)
@Repository用于标注数据访问组件,即DAO组件
@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
@Autowired 按 byType 自动注入,面 @Resource 默认按 byName 自动注入罢了
默认情况下通过 @Component 定义的 Bean 都是 singleton 的,如果需要使用其它作用范围的 Bean,可以通过 @Scope 注释来达到目标
从 Spring 容器中获取 boss Bean 时,每次返回的都是新的实例了
45.target is null for method hasPrivilegeByName(这个异常) #session.user.hasPrivilegeByName(name) 写方法:在user对象中增加对象#el表达式到valuestack中寻找
48:树状结构 1.用合适的标签 ul 列表 2.合适的图片 3.效果 (自关联)
55:实现序列化的接口 使tomcat关闭重启后还是登陆状态
将他们放到public文件夹
32:使用递归展现添加与修改页面中的树状上级部门列表:
1.无序问题(set集合无序)方法:在类的映射类中的xml中加入order-by属性
2.数据库的问题(不直接修改session缓存,copy 一份修改)递归:不在页面中写 action中遍历出
29.使用OpenSessionInViewFilter方案解决Hibernate懒加载异常的问题
1,在web.xml中的struts过滤器之前
20_阶段2__补充:Struts2的整体回顾(Action、拦截器、值栈、OGNL表达式、ModelDriven方案等)
a:拦截器处理公共的部分 action 专注响应
valuestacks--map stack--炒作put(key,value) value〈- get(key) actionContext.getcontent().getvalueStack()(action中获取valuestacks的值) result中获取ognl
21_阶段2__改进:CRUD改进1__使用ModelDriven方案:
a:modeldriver封装参数 private role model = new role();public role getModel(){ return model;}
22_传智播客汤阳光OA项目视频__阶段2__改进:CRUD改进2__套用美工写好的页面效果
a:1.修改为webroot的路径:${pageContext.request.contextPath} 2.加上struts的标签 3.加上样式
23.CRUD改进3__添加功能和修改功能使用同一个JSP页面
合并添加,修改 {id==null ?'add' : 'edit'}
24_传智播客汤阳光OA项目视频__阶段2__系统管理模块__部门管理1__实现基本的增删改查功能
a:上级部门(以后解决)1.设计实体,创建Javabean 2.写映射文件 3.加入hibernate的xml 4.分析有几个功能,对应几个请求(增删改查)
5.写action (crud的模板)
public String list() throws Exception{ return "list";}
public String delete() throws Exception{ return "toList";}
public String addUI() throws Exception{ return "saveUI";}
public String add() throws Exception { return "toList";}
public String editUI() throws Exception { return "saveUI";}
public String edit() throws Exception { return "toList";}
6.配置struts的xml
7.action里面填充代码 实现功能 list<department> department = departmentService。findAll(找Service获取); actionContext.getContext.put("departmentList",departmentList);(放在map中便于获取,放在值栈不好,map中用#获取)
8.创建service类 action中@Resource注入 9.使用modeldriver 实体和表单不太对应 (可以创建新的对象)editUI回显(actionContext.getContext().getValueStack().push(department);
10.实现service
修改页面:修改路径;删除演示js;数据列表循环显示()
25:pass
26:
27:3.删除上级部门 级联下级部门 4.一次显示一层 (1.toplist childlist 2.点击相应的名称 传id) 5.面向对象的查询,写的对象名和属性名
29
34_阶段3__系统管理模块__改进2:在显示层抽取BaseAction
a:1.baseaction继承公共的actionsupport和实现modeldriver的封装 2.使用泛型让子类选择所需要的对象类型 2.1在类中,通过反射获取model的类型 2.2abstract不需要生成实类,子类生成 2.3本子类专注于请求
35.合并service和dao dao层@Deprecated 数据库操作拿session在service里面操作
36.写用户类 一。baseaction<?> 封装表单参数(1.实体(domain)2.新建对象,写到action中)二。增删改查
一、做Action相关的准备:
Action、JSP、配置
二、做Service相关的准备:
接口、实现类、配置
三、填空:
Action方法、Service方法、JSP页面
userAction:hashset初始化的时候就有另外一个集合中的参数 edit:1,是否要准备数据 2.是否要回显
实现一组功能:1,( Action中)添加功能的步骤:
// 1,新建对象并设置属性(在model使用的是实体的情况下,也可以使用model,但需要设置未封装的属性)
// 2,保存到数据库
2,( Action中))修改功能的步骤:
// 1,从数据库中取出原对象
// 2,设置要修改的属性
// 3,更新到数据库
37_阶段3__系统管理模块__用户管理2__测试功能、解决事务的问题、对密码进行MD5摘要
1.删除 // @Transactional注解可以被继承
// @Transactional注解对父类中声明的方法无效
=========================
权限的使用:
实现方案:权限(表,实体) 基于角色的权限模型 1.一个功能对应一个或两个url; 2.
初始化数据 分配权限 使用权限
39:设计实体 (主键,关联关系,一般属性(URL),特殊属性name(用户观看),parent,childrenL:set<privilege>)自关联,一对多的实体设计
40:实体:javabean,
41_阶段4__权限模块__实现初始化权限数据的功能:默认只需要一边关联即可
43:带表单页面的两个请求 不带的一个请求 action类 方法 页面 配置
44:注释1:@Controller注解标明该类需要Spring容器自动加载
注释2:@RequestMapping注解标识该Controller处理来自/menu_creator.do的请求
spring注解:
@Service用于标注业务层组件
@Controller用于标注控制层组件(如struts中的action)
@Repository用于标注数据访问组件,即DAO组件
@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
@Autowired 按 byType 自动注入,面 @Resource 默认按 byName 自动注入罢了
默认情况下通过 @Component 定义的 Bean 都是 singleton 的,如果需要使用其它作用范围的 Bean,可以通过 @Scope 注释来达到目标
从 Spring 容器中获取 boss Bean 时,每次返回的都是新的实例了
45.target is null for method hasPrivilegeByName(这个异常) #session.user.hasPrivilegeByName(name) 写方法:在user对象中增加对象#el表达式到valuestack中寻找
48:树状结构 1.用合适的标签 ul 列表 2.合适的图片 3.效果 (自关联)
55:实现序列化的接口 使tomcat关闭重启后还是登陆状态
相关文章推荐
- 关于技术和产品的一些体会
- 项目管理一些体会
- WWF的一些技术细节与应用体会
- 对Fedora9的一些心得体会(另附一些开端设置)
- 參加项目管理培训的一些体会
- WWF的一些技术细节与应用体会(一)
- tomcat5.5.9+sql2000数据库连接池配置的一些心得体会...
- 项目管理之需求管理的一些体会
- VHDL编程的一些心得体会
- 点石互动--robin之操作一个英文SEO案例的一些体会
- 游戏测试的一些自我体会
- 对.Net 垃圾回收的C#编程相关方面(Finalize 和Dispose(bool disposing)和 Dispose())的一些理解体会
- 关于冒泡排序的一些体会
- Scrum在互联网开发中的一些体会
- 受益匪浅的一些话,需要用心去体会~
- ssh框架整合时出现的一些问题
- 学习jacorb过程中的一些体会
- 一些工作的体会
- 关于前端的一些体会
- 移动网页横竖屏兼容适应的一些体会