粗浅看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:重定向到另外一个动作