粗浅看Struts2和Hibernate框架
Posted 朱培
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了粗浅看Struts2和Hibernate框架相关的知识,希望对你有一定的参考价值。
----------------------------------------------------------------------------------------------[ 版权申明:本文系作者原创,转载请注明出处]
文章出处: http://blog.csdn.net/sdksdk0/article/details/52424578
作者:朱培 ID:sdksdk0 邮箱: zhupei@tianfang1314.cn
--------------------------------------------------------------------------------------------
struts2和hibernate分别都是框架是JavaEE中的三大框架之一,同时也是非常“老”的两个框架,现在很多已经转换为springMVC和mybatis来开发javaee应用了,既然sturts2和hibernate可以成为经典,那肯定还是有其存在的必要的,对于一些老的项目来说,如果我们要对其进行维护什么的,我们还是需要了解struts2和hibernate的用法什么的。从使用角度上面来说的话hibernate对于数据库的查询什么的还是有一定的不足之处的,虽然说写HQL语句更为简洁一点,但是其依然有瓶颈的。虽然慢慢的在一些新的项目中struts2和hibernate可能会用的很少或者被替换为其他的,但是其框架的思想还是对我们很有借鉴意义的!使用框架比以前直接用MVC模式的话,解耦合了很多,让程序更为健壮,从这个角度来说还是非常好的。一个设计良好的框架一般分为三层:(1)接口层,这一层要尽量使用interface,在这一层中你要考虑到你现在的、将来的可能支持的功能,但不需要去实现它,只定义到接口层次就可以了。如Struts中的插件接口PlugIn。(2)抽象层,这一层要针对你当前的需求做定制,对你的需求中的通用逻辑做实现。这一层应该出现大量的抽象类。如Struts中的ActionServlet、Action和ActionForm等类。(3)实现层,不用说了,把前面两层没有做掉的事情在这一层都做了吧。如Struts中后台实现的各种功能。
以下内容是struts2和hibernate的精华知识点,如果有哪个地方的知识还很模糊的话建议再去复习一下吧!
struts2篇
简介
Struts 是 Apache 软件基金会(Apache Software Foundation)资助的一个为开发基于MVC模式应用架构的开源框架,是利用Java Servlet和JSP、XML等方面的技术来实现构建Web应用的一项非常有用的技术,它也是基于MVC模式的Web应用最经典框架。
struts和struts2只是名字相似,没有其他关系。
给予spring AOP思想的拦截器机制,更易扩展。
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
执行过程
动作类就是一个POJO,
实现Action接口,可以使用接口中定义的常量:
SUCCESS:一切ok,不返回任何的结果视图。
ERROR:出错了,服务器忙等。
INPUT:数据回显。
LOGIN:要求登陆。
动作类一般选择继承com.opensymphony.xwork2.ActionSupport。
可以使用Action接口中的常量,提供用户输入验证功能,消息国际化。
Action:定义一个动作, name:动作名称,对应用户的请求名称 class:框架要实例化的动作名称,全名称。 method:执行的动作类的方法,默认是execute。
动作类的动作方法调用。
DMI动态方法调用。 国际化、用户输入数据的校验。
常用常量 default.properties属性。
在动作类中使用servlrt。
ServletActionContext
通配符:适合有规律的。 多个struts.xml中用 包含进来。 在动作类中访问servlet的API: ServletActionContext的静态方法、动作类实现ServletRequestAware接口,注入的方式传递进来的,由一个叫servletConfig的拦截器完成的。
结果视图: /success.jsp
dispatcher:转发到一个页面。默认
redirect:重定向到一个页面
chain:转发到另外一个动作
redirectAction:重定向到另外一个动作