spring和struts2的整合

1:配置Web.xml文件

  1. <filter>
  2. <filter-name>struts2</filter-name>
  3. <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
  4. </filter>
  5. <filter-mapping>
  6. <filter-name>struts2</filter-name>
  7. <url-pattern>/*</url-pattern>
  8. </filter-mapping>

2:配置struts.xml文件。

在源码根目录下新建一个struts.xml文件。

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE struts PUBLIC
  3. "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
  4. "http://struts.apache.org/dtds/struts-2.0.dtd">
  5.  
  6. <struts>
  7.  
  8. <!-- 指定Web应用的默认编码集,相当于调用HttpServletRequest的setCharacterEncoding方法 -->
  9. <!-- <constant name="struts.i18n.encoding" value="UTF-8"/>-->
  10. <!-- -->
  11. <!-- -->
  12. <!-- 该属性指定需要Struts 2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts2处理。-->
  13. <!-- 如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开。 -->
  14. <!-- <constant name="struts.action.extension" value="do"/>-->
  15. <!-- 设置浏览器是否缓存静态内容,默认值为true(生产环境下使用),开发阶段最好关闭 -->
  16. <!-- <constant name="struts.serve.static.browserCache" value="false"/>-->
  17. <!-- 当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false(生产环境下使用),开发阶段最好打开 -->
  18. <!-- <constant name="struts.configuration.xml.reload" value="true"/>-->
  19. <!-- 开发模式下使用,这样可以打印出更详细的错误信息 -->
  20. <!-- <constant name="struts.devMode" value="false" />-->
  21. <!-- 默认的视图主题 -->
  22. <!-- <constant name="struts.ui.theme" value="simple" />-->
  23.  
  24. <constant name="struts.objectFactory" value="spring" />
  25.  
  26. <package name="user" namespace="/user" extends="struts-default">
  27. <action name="userlist" class="userAction" method="userList">
  28. <result name="list">/WEB-INF/user/userList.jsp</result>
  29. </action>
  30. </package>
  31. </struts>

需要说明的是上述文件中的class中的userAction是需要在bean.xml中配置的,正式由于我之前没有配,导致了一个让我纠结了几天的问题。

3:配置bean.xml文件

我的理解是这样的,如果你想把某个东西交给spring管理,就必须要在bean.xml中配置。这样spring才能够识别。

  1. <!-- 注册Action -->
  2. <bean id="userAction" class="com.test.action.UserAction" scope="prototype"/>
  3.  
  4. <!-- 注册 Interface-->
  5. <bean id="userService" class="com.test.implement.userServiceBean"/>

4:编写action

  1. @Controller
  2. public class UserAction {
  3.  
  4. @Resource private userService userservice;
  5.  
  6. public String userList()
  7. {
  8. ActionContext.getContext().put("users", userservice.getAll());
  9. return "list";
  10. }
  11. //
  12. public String execute()
  13. {
  14. return "list";
  15. }
  16. }

因为这里,我将UserAction 和userService 交给spring 管理了,所以在上面的bean.xml中我需要配置。

到这里,spring和struts的整合基本完成。

spring+hibernate+struts整合(2)的更多相关文章

  1. spring+hibernate+struts整合(1)

    spring+hibernate:整合 步骤1:引入类包 如下图:这里是所有的类包,为后面的struts整合考虑

  2. jbpm与spring hibernate struts整合

    applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans xm ...

  3. Spring+Hibernate+Struts(SSH)框架整合

    SSH框架整合 前言:有人说,现在还是流行主流框架,SSM都出来很久了,更不要说SSH.我不以为然.现在许多公司所用的老项目还是ssh,如果改成流行框架,需要成本.比如金融IT这一块,数据库dao层还 ...

  4. Struts+Spring+Hibernate项目整合AJAX+JSON

    1.什么是AJAX AJAX是 "Asynchronous JavaScript and XML" 的简称,即异步的JavaScript和XML. 所谓异步,就是提交一个请求不必等 ...

  5. Spring与Struts整合

    Spring框架是一个非常优秀的轻量级Java EE容器,Spring框架是整个轻量级Java EE框架的核心.大部分的Java EE应用,都会考虑使用Spring容器管理应用中的组件,从而保证各组件 ...

  6. spring 和 struts 整合遇到的问题(学习中)

    一大早就报错 org.hibernate.TransactionException: Transaction not successfully started at org.hibernate.eng ...

  7. spring和struts整合

    整合准备:导入jar包 如果只是访问action,没有做数据库方面的操作的话 只需要导入下面的jar spring相关jar 以及struts相关jar包 整合过程: 用到了struts所以需要在we ...

  8. Spring,hibernate,struts的面试笔试题(含答案)

    Hibernate工作原理及为什么要用? 原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory 3.打开Sesssion 4.创建事务Transation 5.持久 ...

  9. Struts2 Spring Hibernate 框架整合 Annotation MavenProject

    项目结构目录 pom.xml       添加和管理jar包 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns ...

随机推荐

  1. DedeCMS Error:Tag disabled:"php"的解决办法

  2. Django settings — Django 1.6 documentation

    Django settings - Django 1.6 documentation export DJANGO_SETTINGS_MODULE=mysite.settings django-admi ...

  3. Apache Spark GraphX

    GraphX基于BSP模型,在Spark之上封装类似Pregel的接口,进行大规模同步全局的图计算,尤其是当用户进行多轮迭代时,基于Spark内存计算的优势尤为明显.

  4. HDU 5763 Another Meaning (kmp + dp)

    Another Meaning 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5763 Description As is known to all, ...

  5. [C语言 - 10] C语言保留字

    一  数据类型关键字 12 个:    1 . char     2 . short    3 . int     4 . long     5. enum    6. float    7. dou ...

  6. Linux命令之env:显示当前用户的环境变量

    Linux系统里的env命令可以显示当前用户的环境变量,还可以用来在指定环境变量下执行其他命令.下面来比较一下set,env和export命令的异同:set命令显示当前shell的变量,包括当前用户的 ...

  7. jQuery基础学习8——层次选择器next()和prev()方法

    $('.one + div').css("background","#bbffaa"); //和next()方法是等价的,前后关系,和prev()方法是对立的 ...

  8. Simple guide to Java Message Service (JMS) using ActiveMQ

    JMS let’s you send messages containing for example a String, array of bytes or a serializable Java o ...

  9. Objective-C的singleton模式

    最近因为在ios应用开发中,考虑到一些公共方法的封装使用,就决定使用单例模式的写法了..不知道,Object-c中的单例模式的写法是否和java中的写法是否有所区别?于是阿堂从网上一搜,发现“ Obj ...

  10. heidsoft logo