• Spring切面表达式,hibernate,struts


    execution(* com.service.*.*(..))

    1.第一个*代表方法的返回值    *代表任意返回值

    2. com.service.*.*(**)  代表com.service下面的任意一个类和任意一个方法

    例如   

    com.service.a.Class,  

    com.service.b.Class

    这些包下面的类都能匹配到

    3. 最后的(..)代表方法的任意参数

    满足切面表达式:1,接口,2,代理对象,3,必须实现接口

    hibernate是一个轻量级的持久性框架,缺点:不适合批量操作,效果比jdbc差

    struts的优缺点

    优点:

            (1)  实现了MVC模式,层次结构清晰,使程序员只需关注业务逻辑的实现。

            (2)  丰富的标签库,大大提高了开发的效率。

            (3) Struts2提供丰富的拦截器实现。

            (4) 通过配置文件,就可以掌握整个系统各个部分之间的关系。

            (5) 异常处理机制,只需在配置文件中配置异常的映射,即可对异常做相应的处理。


            (6) Struts2的可扩展性高。Struts2的核心jar包中由一个struts-default.xml文件,在该文件中设置了一些默认的bean,resultType类型,默认拦截器栈等,所有这些默认设置,用户都可以利用配置文件更改,可以更改为自己开发的bean,resulttype等。因此用户开发了插件的话只要很简单的配置就可以很容易的和Struts2框架融合,这实现了框架对插件的可插拔的特性。

            (7) 面向切面编程的思想在Strut2中也有了很好的体现。最重要的体现就是拦截器的使用,拦截器就是一个一个的小功能单位,用户可以将这些拦截器合并成一个大的拦截器,这个合成的拦截器就像单独的拦截器一样,只要将它配置到一个、Action中就可以。

     

    缺点:

            (1) Struts2中Action中取得从jsp中传过来的参数时还是有点麻烦。可以为Struts2的Action中的属性配置上Getter和Setter方法,通过默认拦截器,就可以将请求参数设置到这些属性中。如果用这种方式,当请求参数很多时,Action类就会被这些表单属性弄的很臃肿,让人感觉会很乱。还有Action中的属性不但可以用来获得请求参数还可以输出到Jsp中,这样就会更乱。假设从JSP1中获得了参数money=100000,但是这个Action还要输出到JSP2中,但是输出的格式却不同,money=100,000,这样这个Action中的money中的值就变了。

           (2) 校验还是感觉比较繁琐,感觉太烦乱,也太细化了,如果校验出错的只能给用户提示一些信息。如果有多个字段,每个字段出错时返回到不同的画面,这个功能在Strut2框架下借助框架提供的校验逻辑就不容易实现。
           (3) 安全性有待提高。Struts2曝出2个高危安全漏洞,一个是使用缩写的导航参数前缀时的远程代码执行漏洞,另一个是使用缩写的重定向参数前缀时的开放式重定向漏洞。这些漏洞可使黑客取得网站服务器的“最高权限”,从而使企业服务器变成黑客手中的“肉鸡”。

  • 相关阅读:
    【学习总结】SQL的连接:join -- 内连接外连接左连接右连接
    【学习总结】测试工具jmeter-从入门到精通-汇总
    【刷题】面筋-数据库-关系型数据库与非关系型数据库Nosql区别汇总
    【刷题】面筋-数据结构-排序算法的复杂度、稳定性、内部外部排序
    【刷题】面筋-测开-测试应该什么时候介入
    【问题解决方案】GitHub图片不显示的问题通过修改hosts解决
    【刷题】面筋-网络-HTTP和HTTPS
    【刷题】面筋-网络-数据传输方式
    【刷题】面筋-网络-TCP三次握手和四次挥手的全过程
    【刷题】面筋-网络-常见网络模型与各层网络协议
  • 原文地址:https://www.cnblogs.com/zhiguci/p/7068477.html
Copyright © 2020-2023  润新知