Struts总结

          对于struts的简单学习告一段落,要开始学习Hibernate.很久没有写总结了,在公司这段时间,觉得总结很有必要,因为总是有很多问题,你不懂,你这次不懂,好不容易解决了,下次再遇到,忘了上次怎么解决的,很麻烦.所以还是想写一下struts的总结,不一定能总结出什么东西,但是还是要总结的.

         首先对于Struts的整体理解,Struts是什么东西.Struts是一个MVC框架,主要实现了C,控制层.但是不是说SSH也是一个框架,Struts对应的是表示层,Spring对应的是业务逻辑层,Hibernate对应的是数据持久层和域模块层.所以我以为struts应该是最主要实现的是V.

         查看资料发现我根本没懂,SSH是一个框架,但最好说是一个框架的集合,里面的Struts,Spring,Hibernate都是一个框架.其中Struts,确实是一个MVC的框架,所以M,V,Cstruts都是有的,只是他的功能主要体现是在C,至于怎么体现的,我现在还不知道.而他的优点,做为MVC框架,那么他具有解耦和的优点.

          按照整个的实现思路来说就是,JSP页面,进行跳转,需要在form标签的action上赋值,user.do;而跳转到哪个Action,需要在struts-config.xml文件中的<action-mappings><action>中进行配置,<action>标签中的path对应jsp上的action的值,/user.然后在typename中写下Action的完整路径和配置好的ActionForm的名字.就能跳转到相应Action,然后就是利用ActionForm收集数据,进行操作,最后用ActionForward进行跳转.跳转也需要在struts-config<action>标签中进行配置,namepath赋上任意的值和需要跳转页面的相对路径,跳转到action上也是可以的.

        或者用他提供的图来讲,就是web客户端提出请求到ActionServlet,ActionServlet根据struts-config.xml中的配置,决定调用哪个Action,ActionModel进行数据交互,完成之后,跳转到jsp页面,jsp再响应Web客户端的请求,渲染页面.         


         学习完之后,印象最深的就是ActionForm,Action,Struts-config.xml,ActionForward,国际化和异常.那么对于Action,ActionForm等等该如何理解.

         和以前的知识联系起来,Action对应Servlet,ActionForm对应实体Entity或者Model.就像是以前做的项目,我们都是先根据数据库建立出实体,然后在D层写下一堆的对应的增删改查方法,Action也是在做一堆的增删改查方法.好像有点清晰明了了,然后jsp对应的就是U,那么B层呢,B层本来是用来处理业务逻辑的,但是我们通常把他架空成一个传递层,Struts的处理页面业务逻辑,ActionServlet好像是在干这个事.

          还有为什么要使用struts-config.xml文件进行配置,把那些操作直接写死在代码中不好吗?答案肯定是不好,要不然为什么那么费劲的用配置文件.想想他的好处,比如从这个jsp页面进行的跳转操作有误了,是进去改写Action,这样就违背了OCP原则了.那么重新写一个Action,xml,将对应的Action换掉,可就没有违背开放封闭原则.还有就是对于跳转,本来是跳转到各自的页面的,后来打算统一,如果写死,一个一个去改是不现实的,xml一次性配置不是方便多了.

          ActionForward就是一个跳转对象,可以跳转到指定的页面去.

          国际化的话,主要就是BasenameLocale.建立国际化的文件,名字要么直接是basename,要么是basename+locale.然后在里面写上一堆的keyvalue.然后在Action中根据根据各自系统的版本控制语言.中文必须要用native2ascii来转换成unicode.然后在jsp页面要显示的话,可以用<bean:message>读取.还有可以设置参数,提示信息也都可以设置国际化.

          异常是可以根据自己的需要定制异常,try-catch的时候接exception是不好的,try-catch应该是你能预测的异常,对于你能预测到的异常进行有效的控制,这样你的系统才不至于有什么大问题.所以可以根据自己的需要,自定义异常,然后让该抛这个异常的都抛这个异常,那么出问题就是可控的.struts中的声明式异常,向上抛struts会处理;而编程式异常则快捷而又灵活.可以自定义编程式异常,继承ExceptionHandler,覆盖execute方法.jsp的显示可以直接用<html:errors/>显示.

         以上就是我的struts的一点总结,因为长期不总结,现在总结很费劲,自我感觉总结的不怎么样,都不像总结.,业精于勤而毁于随.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值