struts2.2.3+spring3.1.0+mybatis3.1.0框架整合集成简单demo

下面详细讲解“struts2.2.3+spring3.1.0+mybatis3.1.0框架整合集成简单demo”的完整攻略。

一、环境配置

  1. 下载并安装Java、Tomcat和MySQL;
  2. 搭建好Java和Tomcat的环境,配置好MySQL数据库。

二、搭建Struts2框架

  1. 创建Maven项目,引入Struts2的依赖,具体如下:
<dependencies>
    <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-core</artifactId>
        <version>2.2.3</version>
    </dependency>
</dependencies>
  1. 创建struts.xml文件并配置Action映射,具体如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <constant name="struts.enable.DynamicMethodInvocation" value="false"/>
    <constant name="struts.devMode" value="true"/>
    <package name="mypackage" namespace="/" extends="struts-default">
        <action name="hello" class="com.demo.action.HelloAction" method="execute">
            <result name="success">/hello.jsp</result>
        </action>
    </package>
</struts>
  1. 创建Action处理类并编写对应逻辑,具体如下:
package com.demo.action;

public class HelloAction {
    public String execute() {
        return "success";
    }
}
  1. 创建JSP视图文件,具体如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Hello</title>
</head>
<body>
    <h1>Hello, Struts2!</h1>
</body>
</html>
  1. 部署到Tomcat服务器上并启动,访问 http://localhost:8080/hello.action 即可看到"Hello, Struts2!"的欢迎页面。

三、搭建Spring框架

  1. 引入Spring的依赖,具体如下:
<dependencies>
    <!-- Spring -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>3.1.0.RELEASE</version>
    </dependency>
</dependencies>
  1. 创建Spring配置文件applicationContext.xml并配置Bean,具体如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">
    <!-- 配置Action -->
    <bean id="helloAction" class="com.demo.action.HelloAction"/>
</beans>
  1. 在struts.xml中引入Spring相关配置,具体如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <constant name="struts.enable.DynamicMethodInvocation" value="false"/>
    <constant name="struts.devMode" value="true"/>
    <package name="mypackage" namespace="/" extends="struts-default">
        <action name="hello" class="com.demo.action.HelloAction" method="execute">
            <interceptor-ref name="defaultStack">
                <param name="exception.logEnabled">true</param>
                <param name="exception.logLevel">ERROR</param>
            </interceptor-ref>
            <result name="success">/hello.jsp</result>
        </action>
    </package>
    <!-- 引入Spring相关配置 -->
    <bean class="org.springframework.web.struts.StrutsSpringObjectFactory"/>
    <constant name="struts.objectFactory" value="spring"/>
    <include file="applicationContext.xml"/>
</struts>
  1. 部署到Tomcat服务器上并启动,访问 http://localhost:8080/hello.action 即可看到"Hello, Struts2!"的欢迎页面。

四、搭建MyBatis框架

  1. 引入MyBatis的依赖,具体如下:
<dependencies>
    <!-- MyBatis -->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.1.0</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.25</version>
    </dependency>
</dependencies>
  1. 编写MyBatis的配置文件mybatis-config.xml,具体如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <properties resource="jdbc.properties"/>
    <typeAliases>
        <package name="com.demo.entity"/>
    </typeAliases>
    <mappers>
        <mapper resource="com/demo/dao/HelloMapper.xml"/>
    </mappers>
</configuration>
  1. 配置数据源,随便一家dataSource的配置即可,比如c3p0。这里就不述了。

  2. 创建DAO接口HelloMapper.java,具体如下:

package com.demo.dao;

import com.demo.entity.Hello;

public interface HelloMapper {
    public Hello selectById(int id);
}
  1. 创建DAO实现类HelloMapper.xml,具体如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.demo.dao.HelloMapper">
    <resultMap id="helloResultMap" type="com.demo.entity.Hello">
        <id property="id" column="id"/>
        <result property="name" column="name"/>
        <result property="message" column="message"/>
    </resultMap>
    <select id="selectById" resultMap="helloResultMap" parameterType="int">
        select * from hello where id = #{id}
    </select>
</mapper>
  1. 创建实体类Hello.java,具体如下:
package com.demo.entity;

public class Hello {
    private int id;
    private String name;
    private String message;

    // 省略getter和setter
}
  1. 在Spring的配置文件applicationContext.xml中配置MyBatis相关组件,具体如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:mybatis="http://mybatis.org/schema/mybatis-spring"
       xsi:schemaLocation="
          http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
          http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
          http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
          http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
          http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring.xsd">

    <!-- 数据源配置 -->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <!-- 省略数据源配置 -->
    </bean>

    <!-- MyBatis配置 -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="configLocation" value="classpath:mybatis-config.xml"/>
    </bean>

    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.demo.dao"/>
    </bean>

    <!-- HelloMapper对应的DAO -->
    <bean id="helloMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="com.demo.dao.HelloMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactory"/>
    </bean>

    <!-- 配置Action -->
    <bean id="helloAction" class="com.demo.action.HelloAction">
        <property name="helloMapper" ref="helloMapper"/>
    </bean>

</beans>
  1. 在HelloAction中注入DAO,具体如下:
package com.demo.action;

import com.demo.dao.HelloMapper;
import com.demo.entity.Hello;

public class HelloAction {
    private HelloMapper helloMapper;

    public String execute() {
        Hello hello = helloMapper.selectById(1);
        return "success";
    }

    public void setHelloMapper(HelloMapper helloMapper) {
        this.helloMapper = helloMapper;
    }
}
  1. 在struts.xml中注入Spring相关组件,具体如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <constant name="struts.enable.DynamicMethodInvocation" value="false"/>
    <constant name="struts.devMode" value="true"/>
    <package name="mypackage" namespace="/" extends="struts-default">
        <action name="hello" class="com.demo.action.HelloAction" method="execute">
            <interceptor-ref name="defaultStack">
                <param name="exception.logEnabled">true</param>
                <param name="exception.logLevel">ERROR</param>
            </interceptor-ref>
            <result name="success">/demo/hello.jsp</result>
        </action>
    </package>
    <!-- 引入Spring相关配置 -->
    <bean class="org.springframework.web.struts.StrutsSpringObjectFactory"/>
    <constant name="struts.objectFactory" value="spring"/>
    <include file="classpath*:/spring/applicationContext.xml"/>
</struts>
  1. 部署到Tomcat服务器上并启动,访问 http://localhost:8080/hello.action 即可看到"Hello, Struts2!"的欢迎页面。

五、示例场景

  1. 实现一个用户管理功能,包含用户列表展示、用户详情查看、用户新增和编辑等功能。
  2. 基于文件上传实现一个图片上传功能。

本示例仅涉及Struts2、Spring和MyBatis框架的整合集成,具体的业务逻辑实现需要读者根据实际需求进行开发。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:struts2.2.3+spring3.1.0+mybatis3.1.0框架整合集成简单demo - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • 可能是全网最详细的springboot整合minio教程

    可能是全网最详细的 Spring Boot 整合 MinIO 教程 介绍 本教程将带领读者了解 Spring Boot 如何与 MinIO 对象存储进行整合。我们将使用 Spring Boot 的官方框架 spring-boot-starter-web、spring-boot-starter-test,以及本文作者写的 minio-spring-boot-s…

    Java 2023年5月19日
    00
  • JDK8环境中使用struts2的步骤详解

    首先需要确认使用的操作系统已经安装了JDK8。接下来进入正式操作步骤: 下载Struts2 从官网(https://struts.apache.org/download.cgi)下载Struts2的压缩包,并解压到一个目录中。 环境变量配置 在环境变量中添加Struts2的路径,将struts2的lib目录下所有的jar包添加到CLASSPATH中。 创建项…

    Java 2023年5月19日
    00
  • java实现简单日期计算功能

    下面我就给您讲解一下Java实现简单日期计算功能的完整攻略。 步骤一:引入相关类库 在Java中,要实现日期计算功能首先需要用到java.util包中的Date类和Calendar类。因此,我们需要在代码中引入这两个类: import java.util.Calendar; import java.util.Date; 步骤二:获取当前日期 获取当前日期可以…

    Java 2023年5月20日
    00
  • Java中匿名类的两种实现方式

    Java中匿名类的两种实现方式: 1. 作为实参传递 在Java语言中,我们可以通过将一个匿名类作为实参传递给某个方法或构造方法来实现匿名类的创建和使用。 示例1: public class AnonymousClass { public static void main(String[] args) { Thread thread = new Thread…

    Java 2023年5月18日
    00
  • Java+MySql图片数据保存与读取的具体实例

    下面我将详细讲解“Java+MySql图片数据保存与读取的具体实例”的完整攻略,并提供两个示例。 1、前置条件 在进行Java+MySql图片数据的保存与读取前,需要保证以下条件已经满足: 已经安装好 Java 开发环境 已经安装好 MySql 数据库,并且能够在 Java 中连接到该数据库 需要使用 JDBC 驱动程序连接 MySql 数据库,可以手动下载…

    Java 2023年5月20日
    00
  • SpringMVC—配置与使用的示例

    以下是关于“SpringMVC—配置与使用的示例”的完整攻略,其中包含两个示例。 SpringMVC—配置与使用的示例 SpringMVC是Spring框架的一个模块,它是一个基于MVC(Model-View-Controller)架构的Web框架,用于构建Web应用程序。本攻略将介绍SpringMVC的配置与使用的示例。 示例1:SpringMVC…

    Java 2023年5月16日
    00
  • 什么是Java Security Manager?

    Java SecurityManager是Java安全管理器,它是Java安全体系结构中的一部分,依靠安全策略来保护Java应用程序中的代码和资源。SecurityManager为你的代码提供了非常细粒度的安全控制,可以保证应用程序中的代码和资源的安全性,以防止恶意攻击、非法访问和其它的安全威胁。 使用Java SecurityManager的步骤如下: 启…

    Java 2023年5月11日
    00
  • 用JAVA实现杨辉三角实例

    首先我们来详细讲解用JAVA实现杨辉三角的完整攻略,步骤如下: 1. 确定问题及解题思路 杨辉三角是一个数字三角形,它的每一行都是由前一行相邻两个元素相加而成。第一行只有一个数字1,接下来的每一行数字都是通过计算上一行相邻两个数字之和得到的。比如,第三行的数字是1 2 1,其中2=1+1。 我们可以通过二维数组来存储杨辉三角,并使用循环迭代计算每一行的数据。…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部