您的位置:首页 > 编程语言 > Java开发

webwork2+spring+hibernate终于成功啦

2008-08-26 14:41 176 查看
webwork2+spring+hibernate终于成功配置出来啦,兴奋一下!

总结一下:

1. web.xml中<servlet>标签要位于<listener>标签之后,否则会报错

2. 关于<listener>的配置如下(关于webwork与spring融合)

<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
 <listener>
<listener-class>com.atlassian.xwork.ext.ResolverSetupServletContextListener</listener-class>
</listener>

org.springframework.web.context.ContextLoaderListener是spring必需的

com.atlassian.xwork.ext.ResolverSetupServletContextListener是外部解析器所需要的,作用是通过ServletContext来取出spring的ApplicationContext,作为WebWork与spring的“桥梁”。

然后,在xwork.xml中的<package>标签中加externalReferenceResolver="com.atlassian.xwork.ext.SpringServletContextReferenceResolver",这个的作用是从applicationContext.xml(是spring的配置文件)中解析外部引用的bean,同时添加一个拦截器com.opensymphony.xwork.interceptor.ExternalReferencesInterceptor

具体代码中如下:

<interceptors>
<interceptor name="reference-resolver" class="com.opensymphony.xwork.interceptor.ExternalReferencesInterceptor" />
<interceptor-stack name="modelParamsStack">
<interceptor-ref name="params" />
<interceptor-ref name="model-driven" />
<interceptor-ref name="reference-resolver" />
</interceptor-stack>
</interceptors>

最后,在需要使用spring bean的action中添加bean的外部应用功能,具体代码如下: 

<action name="login" class="action.LoginAction">
<external-ref name="userDAO">userDAOProxy</external-ref> //此处,<external-ref>标签内容在同一行,否则出错
<result name="success" type="dispatcher">
<param name="location">/main.jsp</param>
</result>
<result name="loginfail" type="dispatcher">
<param name="location">/error.jsp</param>
</result>
<interceptor-ref name="modelParamsStack" />
</action>

3. applicationContext.xml的配置(spring与hibernate融合)

此出注意jar问题

4. hibernate数据库映射

user是SQL Server2000的关键字,不能作为表名,这可是惨痛的教训阿!

还有表一定要设计好主键
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: