struts2总结

一、SSH的功能概括

这几天学完struts之后,感觉它只是一个工具,与sping、hibernate大同小异,struts是控制层的核心(C),负责请求与响应,输入数据到输出数据的处理;hibernate则是模型层(M),负责持久化的操作,以及数据库各实体之间的关联;sping则是软件开发要遵循软件设计模式而诞生的一种工具,它使得各组件之间的耦合度降低,通过IOC、AOP的思想,使用DI技术,实现解耦。

话说回来,本次小结主要是针对struts2的学习概括。从思想方面来说,也有一点IOC、AOP的感觉,本人在此下一个结论:所有框架都是用来简化开发流程的一种工具,并且使得软件设计规范化,提高程序开发的效率及性能。

二、struts2的工作流程

对于struts,在客户端,只需提交数据,到达服务器端后,struts2的过滤器将会对其进行拦截,解析请求资源路径,然后在struts.xml配置文件中寻找对应的action,匹配成功后,将数据的处理转交给action对应的Action类,此时,struts2会自动的创建一个Action对象,并调用其属性相应的set()方法,为其属性赋值,通过get()方法,将其属性名与属性值存入到值栈中去,或者将用户的输入数据持久化到数据库中,这个过程就是对输入数据的处理过程,然后有需要获取相关数据的相应的jsp页面可以通过OGNL表达式对值栈中的数据进行取值,此后,数据处理完毕,返回处理结果,通过result进行查找,

将相应的jsp页面(即视图V)返回给用户。

三、通过一个小项目的开发了解struts的各个功能

1.程序的开发流程

a) 首先配置好struts.xml文件,确定访问路径、数据输入的jsp页面、输入数据的处理Action类、需要获取输入数据的jsp页面,这是确定一套请求与响应所涉及到的所有组件,流程确定后,就可以安心于业务逻辑的实现,不至于没有方向性,提升开发效率。

b) 建立数据库

c) 建立model类

d) 创建service类

e) 着手开发

2.程序的开发规范性

a) 面向接口编程

i. 对数据库数据的操作,增删改查等方法,抽象出方法 b) 使用工厂方法,对两个模块的DAOImpl层创建对象,便于以 后的修改,不用改动Action类中的逻辑代码。

3.结果集的应用

a) 对于数据修改、删除、添加操作时,都是在遍历所有数据的页面上做的操作,完成操作之后,得刷新数据,所以得跳转到find_all.jsp页面上,而显示所有数据必须通过action类处理数

据后才能获得,在这里我们使用type=“redirectAction”类型的结果集即可完成。

4.拦截器的应用

a) 我们以往练习的小项目中,虽然设定了用户登录程序,但那只是按照我们的逻辑访问路径去访问的,可是,我们只要给定相应的action请求路径,不要密码的验证,一样的可以访问到我们需要的信息,这样就没有安全性可言了。

此时,我们可以使用拦截器,对需要登录的用户的私有访问信息进行真正的加密。我们先定义一个package,然后声明自定义的拦截器,让需要验证才能访问的模块继承这个package,但是这样一来,自定义拦截器会使struts默认的拦截器失效,所以我们需要将默认拦截器与自定义拦截器放在一个拦截器栈中,然后设置此包的默认拦截器为此栈,那么其他包继承本包之后,都将执行此包的自定义拦截器了。

此时,我们在包中再定义一个全局结果集login。

我们在拦截器类中检测用户是否登录,只需要对session中的用户信息进行检测,判断其是否为空,为空则返回login,那么匹配全局结果集下的login,执行login中的rediretAction所跳转到的action,最终结果就是重返登录界面;不为空,则调用ai.invoke();程序接着执行action

5.UI标签的特别使用

a) 在对数据库进行修改操作时,重点在于数据的回显,这样便于

用户对数据的修改。但是,此时面临着一个问题,当显示find_all.jsp页面时,值栈中有值,但是从此页面点击修改按钮后,这是第二次请求,此时,值栈又是一个新的值栈,无法直接响应一个页面并回显指定用户的数据,所以,这个时候,请求可以是对toupdate.action的请求href=”toupdate?id=<s:property value=”id”/>”,我们需要创建一个Action类toupdate,用于获取指定用户的数据(通过Id查询),然后返回update.jsp页面,在此时的此页面中就能成功回显数据了,注意:使用<s:textfiled name=”cost.name”>,即可以从值栈中获取值(与<s:property value=””>一样),也可以充当表单文本框的参数名,提交给updateAction进行存储。。。修改完成后提交到一个Action类update用于存储数据到数据库并同3-a一样,跳转到find_all.jsp页面中,显示更改后的数据信息。

 

第二篇:sure的个人总结

宿管部总结

一. 宿管部

部长:刘依俤 副部长:邱雪玲 成员:郑素娥、杨宇杰等

宿管部是学生会成员最多的一个部门,占有着重要地位。宿管部顾名思义这是一个与宿舍有着密切联系的部门,她的宗旨是为同学们营造一个良好而又舒适的学习环境,每周一到周五从早上8:00到晚上8:00避开午休时间不定时的对我系非毕业班宿舍进行宿舍抽查,前期时还进行例查,现将本学期我系宿舍例查、抽查大体情况公布如下: 优达到三次以上的宿舍名单为:6#:111、412、609、708本学期自动转为免检宿舍,

不合格两次的宿舍名单为:205、208、311以上三间宿舍系通报批评一次,希望其他宿舍引以为鉴

这一学期来,我们宿管部在学生会这个大家庭中成长着、发展着、探索着,不断地进步。现在此将本学期工作中的收获与不足总结如下: 开学初期,部门纳新:1、深入开展宿管部宣传工作,让新生充分了解宿管部,吸引更多的人才加入宿管部;2、进行面试、新干事培训,全面提高部门成员的水平;3、为使我们的工作得以顺利的开展,又增加了六名新成员。开学初,针对新生宿管部举办了“交换空间”活动。获奖名单如下:

一等奖 6# 708

二等奖 6#101、106

三等奖 6#102、713、714

本学期宿管部虽然只举办过一个节目,但是在同学们的积极支持下,我们的工作取得圆满的成功,在此感谢同学们对我们工作的大力配合。在抽查宿舍成绩上看,可仍有部分宿舍在上学期表现不大好,特别是大三的一些宿舍,以及部分大二男生宿舍表现不太好。希望上学期表现出色的宿舍继续保持,不好的宿舍加把劲。但从每周三下午的例查改为抽查上,由于时间上从以前的固定时间调整为不定时这也导致在抽查宿舍时可能有部分宿舍连续几次都未被抽到,这就达不到抽查的目的。宿管部将在上学期的基础上不断总结经验教训,继续保持不断进取的精神,努力实现部门在各个方面的提升。

总结宿管部这一学期来的工作,我们的工作大体上进行的挺顺利的,但是也存在有些不足的地方,比如:缺乏和同学们的沟通,没有及时的深入同学当中,并且有些信息不能及时传达到位。在以后的工作中我们会加强与同学的沟通,多深入到宿舍和同学们多交流,从而不仅能将宿管部的形象得到很好的改善,还可以将信息及时传达到位,做好师生交流的桥梁这样一个职务。

以上是我们部门上学期来的工作总结,这学期我们部门将会总结上学期的不足,努力完善,继续努力工作,积极配合校、系安排的工作。为同学们创造一个学习、生活的良好环境,从而也为我系添上一道亮丽的风景线。

相关推荐