1.jar包

  1. <!--spring配置-->
  2. <dependency>
  3. <groupId>org.springframework</groupId>
  4. <artifactId>spring-context</artifactId>
  5. <version>4.2..RELEASE</version>
  6. </dependency>
  7. <!--aop使用的jar-->
  8. <dependency>
  9. <groupId> org.aspectj</groupId >
  10. <artifactId> aspectjweaver</artifactId >
  11. <version> 1.8.</version >
  12. </dependency>
  13.  
  14. <!--SpringWeb-->
  15. <dependency>
  16. <groupId>org.springframework</groupId>
  17. <artifactId>spring-web</artifactId>
  18. <version>4.1..RELEASE</version>
  19. </dependency>
  20.  
  21. <!--JavaEE-->
  22. <dependency>
  23. <groupId>javaee</groupId>
  24. <artifactId>javaee-api</artifactId>
  25. <version></version>
  26. </dependency>
  27.  
  28. <dependency>
  29. <groupId>javax.servlet</groupId>
  30. <artifactId>jstl</artifactId>
  31. <version>1.2</version>
  32. <scope>runtime</scope>
  33. </dependency>
  34.  
  35. <dependency>
  36. <groupId>org.springframework</groupId>
  37. <artifactId>spring-tx</artifactId>
  38. <version>4.2..RELEASE</version>
  39. </dependency>
  40.  
  41. <!--c3p0-->
  42. <dependency>
  43. <groupId>com.mchange</groupId>
  44. <artifactId>c3p0</artifactId>
  45. <version>0.9.5.2</version>
  46. </dependency>
  47.  
  48. <!--hibernate jar包-->
  49. <!--jta的jar包-->
  50. <dependency>
  51. <groupId>javax.transaction</groupId>
  52. <artifactId>jta</artifactId>
  53. <version>1.1</version>
  54. </dependency>
  55.  
  56. <dependency>
  57. <groupId>org.hibernate</groupId>
  58. <artifactId>hibernate-core</artifactId>
  59. <version>5.0..Final</version>
  60. </dependency>
  61.  
  62. <!--Spring-ORM-->
  63. <dependency>
  64. <groupId>org.springframework</groupId>
  65. <artifactId>spring-orm</artifactId>
  66. <version> 4.2..RELEASE</version>
  67. </dependency>
  68.  
  69. <dependency>
  70. <groupId>org.apache.struts</groupId>
  71. <artifactId>struts2-core</artifactId>
  72. <version>2.3.4.1</version>
  73. </dependency>
  74.  
  75. <dependency>
  76. <groupId>org.apache.struts.xwork</groupId>
  77. <artifactId>xwork-core</artifactId>
  78. <version>2.3.4.1</version>
  79. </dependency>
  80.  
  81. <!--Struts整合Spring的jar包-->
  82. <dependency>
  83. <groupId>org.apache.struts</groupId>
  84. <artifactId>struts2-spring-plugin</artifactId>
  85. <version>2.3.4.1</version>
  86. </dependency>
  87.  
  88. <!--Struts2注解支持jar包-->
  89. <dependency>
  90. <groupId>org.apache.struts</groupId>
  91. <artifactId>struts2-convention-plugin</artifactId>
  92. <version>2.3.4.1</version>
  93. </dependency>
  94.  
  95. <dependency>
  96. <groupId>mysql</groupId>
  97. <artifactId>mysql-connector-java</artifactId>
  98. <version>5.1.</version>
  99. </dependency>

2.分层

2.1. DeptAction

  1. public class DeptAction extends ActionSupport {
  2. private Dept dept;
  3. private IDeptService deptService;
  4. public String add(){
  5. System.out.println(dept);
  6. deptService.addDept(dept);
  7. return SUCCESS;
  8. }
  9.  
  10. public Dept getDept() {
  11. return dept;
  12. }
  13.  
  14. public void setDept(Dept dept) {
  15. this.dept = dept;
  16. }
  17.  
  18. public IDeptService getDeptService() {
  19. return deptService;
  20. }
  21.  
  22. public void setDeptService(IDeptService deptService) {
  23. this.deptService = deptService;
  24. }
  25. }

2.2.Dept

  1. public class Dept {
  2. private Integer deptno;
  3. private String deptname;
  4.  
  5. public Integer getDeptno() {
  6. return deptno;
  7. }
  8.  
  9. public void setDeptno(Integer deptno) {
  10. this.deptno = deptno;
  11. }
  12.  
  13. public String getDeptname() {
  14. return deptname;
  15. }
  16.  
  17. public void setDeptname(String deptname) {
  18. this.deptname = deptname;
  19. }
  20. }

2.3.Dept.hbm.xml

  1. <?xml version="1.0"?>
  2. <!DOCTYPE hibernate-mapping PUBLIC
  3. "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  4. "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
  5. <hibernate-mapping package="cn.bdqn.bean">
  6. <class name="Dept" table="Dept">
  7. <id name="deptno" column="deptno">
  8. <generator class="native"></generator>
  9. </id>
  10. <property name="deptname" />
  11. </class>
  12. </hibernate-mapping>

2.4. IDeptDAO

  1. public interface IDeptDAO {
  2. //添加部门的方法
  3. public int addDept(Dept dept);
  4.  
  5. }

2.5.DeptDAOImpl

  1. public class DeptDAOImpl implements IDeptDAO{
  2. private SessionFactory sessionFactory;
  3.  
  4. public int addDept(Dept dept) {
  5. Serializable count = sessionFactory.getCurrentSession().save(dept);
  6. return (Integer) count;
  7. }
  8.  
  9. public SessionFactory getSessionFactory() {
  10. return sessionFactory;
  11. }
  12.  
  13. public void setSessionFactory(SessionFactory sessionFactory) {
  14. this.sessionFactory = sessionFactory;
  15. }
  16.  
  17. public List<Dept> findAll() {
  18. return sessionFactory.getCurrentSession().createQuery("from Dept").list();
  19. }
  20.  
  21. }

2.6.IDeptService

  1. public interface IDeptService {
  2. public void addDept(Dept dept);
  3. }

2.7 DeptServiceImpl

  1. public class DeptServiceImpl implements IDeptService{
  2. private IDeptDAO deptDAO;
  3. @Transactional
  4. public void addDept(Dept dept) {
  5. deptDAO.addDept(dept);
  6. }
  7.  
  8. public IDeptDAO getDeptDAO() {
  9. return deptDAO;
  10. }
  11.  
  12. public void setDeptDAO(IDeptDAO deptDAO) {
  13. this.deptDAO = deptDAO;
  14. }
  15. }

3.映射文件

3.1 applicationContext.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:context="http://www.springframework.org/schema/context"
  4. xmlns:aop="http://www.springframework.org/schema/aop"
  5. xmlns:tx="http://www.springframework.org/schema/tx"
  6. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  7. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
  8. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
  9. http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
  10. http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
  11. ">
  12. <!--.Datasource-->
  13. <!--.配置数据源-->
  14. <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
  15. <property name="driverClass" value="${jdbc.driver}"></property>
  16. <property name="jdbcUrl" value="${jdbc.url}"></property>
  17. <property name="user" value="${jdbc.username}"></property>
  18. <property name="password" value="${jdbc.password}"></property>
  19. </bean>
  20.  
  21. <!--jdbc.properties-->
  22. <context:property-placeholder location="classpath:jdbc.properties"></context:property-placeholder>
  23.  
  24. <!--.SessionFactory 类:Local-->
  25. <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
  26. <property name="dataSource" ref="dataSource"></property>
  27. <property name="hibernateProperties">
  28. <props>
  29. <!--hibernate.xxxxxx必须以hibernate-->
  30. <prop key="hibernate.show_sql">true</prop>
  31. <prop key="hibernate.format_sql">true</prop>
  32. <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
  33. <!--with current thread bind session-->
  34. <prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate5.SpringSessionContext</prop>
  35. </props>
  36. </property>
  37. <property name="mappingDirectoryLocations" value="classpath:cn/bdqn/bean"></property>
  38. </bean>
  39.  
  40. <!--.dao-->
  41. <bean id="deptDAO" class="cn.bdqn.dao.DeptDAOImpl">
  42. <property name="sessionFactory" ref="sessionFactory"></property>
  43. </bean>
  44.  
  45. <!--.service-->
  46. <bean id="deptService" class="cn.bdqn.service.DeptServiceImpl">
  47. <property name="deptDAO" ref="deptDAO"></property>
  48. </bean>
  49.  
  50. <!--要用Spring去创建Action对象 Struts2的Action是多例的-->
  51. <bean id="deptAction" class="cn.bdqn.action.DeptAction" scope="prototype">
  52. <property name="deptService" ref="deptService"></property>
  53. </bean>
  54.  
  55. <!-- .事务管理器-->
  56. <bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
  57. <property name="sessionFactory" ref="sessionFactory"></property>
  58. </bean>
  59.  
  60. <!--.事务-->
  61. <tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven>
  62.  
  63. </beans>

3.2 jdbc.properties

  1. jdbc.driver=com.mysql.jdbc.Driver
  2. jdbc.url=jdbc:mysql:///y2165
  3. jdbc.username=root
  4. jdbc.password=

3.3   log4j.properties

  1. ### direct log messages to stdout ###
  2. log4j.appender.stdout=org.apache.log4j.ConsoleAppender
  3. log4j.appender.stdout.Target=System.out
  4. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
  5. log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{}:%L - %m%n
  6.  
  7. ### direct messages to file mylog.log ###
  8. log4j.appender.file=org.apache.log4j.FileAppender
  9. log4j.appender.file.File=f:\mylog.log
  10. log4j.appender.file.layout=org.apache.log4j.PatternLayout
  11. log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{}:%L - %m%n
  12.  
  13. ### set log levels - for more verbose logging change 'info' to 'debug' ###
  14.  
  15. ### log4j.rootCategory=debug, stdout,file###
  16. log4j.logger.cn.bdqn.dao=debug, stdout,file

3.4 struts.xml

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE struts PUBLIC
  3. "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
  4. "http://struts.apache.org/dtds/struts-2.3.dtd">
  5. <struts>
  6. <constant name="struts.devMode" value="false"></constant>
  7. <!--将对象工厂的生成权设置成spring-->
  8. <!-- <constant name="struts.objectFactory" value="spring"></constant>-->
  9. <package name="default" namespace="/" extends="struts-default">
  10. <action name="add" class="deptAction" method="add">
  11. <result>/jsp/index.jsp</result>
  12. </action>
  13. </package>
  14. </struts>

4.web.xml

  1. <context-param>
  2. <param-name>contextConfigLocation</param-name>
  3. <param-value>classpath:applicationContext.xml</param-value>
  4. </context-param>
  5.  
  6. <filter>
  7. <filter-name>struts</filter-name>
  8. <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  9. </filter>
  10. <filter-mapping>
  11. <filter-name>struts</filter-name>
  12. <url-pattern>/*</url-pattern>
  13. </filter-mapping>
  14.  
  15. <!--1.监听器-->
  16. <listener>
  17. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  18. </listener>

5 .页面 add.jsp

  1. <form method="post" action="/add">
  2. 部门名称: <input name="dept.deptname"/>
  3. <input type="submit" value="添加"/>
  4. </form>

页面 index.jsp

  1. <%@page language="java" pageEncoding="utf-8" isELIgnored="false" %>
  2. <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  3. <html>
  4. <body>
  5. <h2>Add ok!</h2>
  6. </body>
  7. </html>

Spring整合Struts2 XML版的更多相关文章

  1. spring 整合 struts2 xml配置

    整合之前要搞清楚struts2是什么; struts2:表现层框架  增删改查  作用域  页面跳转   异常处理  ajax 上传下载  excel   调用service spring :IOC/ ...

  2. Spring整合Struts2 注解版

    1.jar包 <!--spring配置--> <dependency> <groupId>org.springframework</groupId> & ...

  3. 一 SSH整合:Spring整合Struts2的两种方式,struts.xml管理Action&Bean管理Action

    SSH回顾 1 引入jar包 Struts2的jar包 D:\Struts2\struts-2.3.35\apps\struts2-blank\WEB-INF\lib  开发基本包 Struts2有一 ...

  4. Struts2的使用以及Spring整合Struts2

    一.如何单独使用Struts2 (1)引入struts2的jar包 commons-fileupload-1.2.1.jar freemarker-2.3.15.jar ognl-2.7.3.jar ...

  5. Spring整合Struts2框架的第二种方式(Action由Spring框架来创建)(推荐大家来使用的)

    1. spring整合struts的基本操作见我的博文:https://www.cnblogs.com/wyhluckdog/p/10140588.html,这里面将spring与struts2框架整 ...

  6. Spring整合Struts2框架的第一种方式(Action由Struts2框架来创建)。在我的上一篇博文中介绍的通过web工厂的方式获取servcie的方法因为太麻烦,所以开发的时候不会使用。

    1. spring整合struts的基本操作见我的上一篇博文:https://www.cnblogs.com/wyhluckdog/p/10140588.html,这里面将spring与struts2 ...

  7. Spring框架学习(5)spring整合struts2

    内容源自:spring整合struts2 一.spring框架对struts等表现层框架的整合原理 : 使用spring的ioc容器管理struts中用于处理请求的Action 将Action配置成i ...

  8. Spring整合Struts2的方法

    一.基本支持 通常我们整合Spring和struts2的目的是让Spring来管理struts2的控制器.也就是说把Action交由Spring来管理,利用IOC的特性把Action注入到业务逻辑中. ...

  9. Spring整合Struts2,Hibernate的xml方式

    作为一个学习中的码农,一直学习才是我们的常态,所以最近学习了SSH(Spring,Struts2,Hibernate)整合,数据库用的MySQL. 写了一个简单的例子,用的工具是IntelliJ Id ...

随机推荐

  1. Django框架之第三篇模板语法

    一.什么是模板? 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板. 二.模板语法分类 一.模板语法之变量:语法为 {{ }}: 在 Django 模板中遍历复杂数据结构的关键 ...

  2. centos6 搭建IPSEC

    http://www.maxwhale.com/how-to-install-l2tp-vpn-on-centos/ http://blog.earth-works.com/2013/02/22/ho ...

  3. /*去hover动画效果*/

    <!DOCTYPE html> /*去hover动画效果*/ <html lang="en"> <head> <meta charset= ...

  4. 荧光分子的dynamic quenching 和 通常说的quenching的区别?

    quenching有两种,学术上分为dynamic quenching 和static quenching,我们通常说的quenching就是 static quenching. static que ...

  5. 《鸟哥的Linux私房菜》读书笔记4

    1. grep查找 grep 'string' filename; last | grep 'root'; 以行为单位. 利用参数-i(忽略大小写),-v(反相)等进行正则表达式: ‘’中可以为正则表 ...

  6. 利用css实现鼠标经过元素,下划线由中间向两边展开

    代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  7. C#面向对象三大特性之一:封装

    面向对象的三大特性:封装.继承.多态. 1.封装概念 封装:每个对象都包含有它能进行操作的所有信息,这个特性称为封装.这样的方法包含在类中,通过类的实例来实现. 2.封装的优点 A.良好的封装能够减少 ...

  8. Ocelot - .Net Core开源网关

    Ocelot - .Net Core开源网关 作者:markjiang7m2 原文地址:https://www.cnblogs.com/markjiang7m2/p/10857688.html 源码地 ...

  9. Docker 启动配置和远程访问

    1. 添加Docker 启动时的配置:   vi /etc/default/docker 添加:   DOCKER_OPTS=" --label name=dockerServer1 -H ...

  10. Spark内核概述

    提交Spark程序的机器一般一定和Spark集群在同样的网络环境中(Driver频繁和Executors通信),且其配置和普通的Worker一致 1. Driver: 具有main方法的,初始化 Sp ...