• spring+struts2+spring_jdbc框架的集成


    ==========spring+struts2+spring_jdbc=======================

    <!-- 所有的应用型jar包都要添加一份到lib目录下 -->

    1) 创建web工程
    Struts2在Eclipse中工作环境的搭建和创建web工程:

    ①:如果是重新创建的工作环境,则在本地硬盘创建一个工作文件夹;
    ②:启动Eclipse选择你创建的工作文件夹(当然可以直接转工作环境File-->switch Workspace-->选择需要的工作
    环境)点击确定;
    ③:进入Eclipse后创建工程,一般为动态Web工程;
    ④:设置字符编码(在菜单栏点击Window-->preferences-->General-->Content Type
    -->点击右边的Text查看其下面的每个的字符编码类型,如果不是UTF-8类型的则改
    成UTF-8--->点击右下角的Update);
    ⑤:添加Tomcate服务器,和第④步一样点击preferences-->Server-->Runtime Environments
    -->点击右上角的Add-->选择所需的服务器-->Finish-->点击OK即可;
    ⑥:添加jar包,鼠标选中工程,单击右键,点击Build Path-->Add Library-->Server Runtime
    -->Next-->选中左边服务器-->Next;
    仍然点击Add Library-->User Library-->Next-->User Library...-->New...-->输入要创建
    的jar包名-->ok-->Add External JARs...-->选择需要加入的jar包;
    ⑦:将加入jar包的jar文件同时复制到工程的lib目录下面;这样基本配置就完成;


    2)搭建好struts2的环境
    1)加入相关的jar包:struts2的 min包
    struts2jar

    2)web.xml中加入struts2的filter
    ⑨:配置工程目录下的lib下面的web.xml文件内容:
    如果是3.1版本的,在</web-app></web-app>中添加如下代码:
    <!-- struts2的过滤器 -->
    <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>

    /*表示所有的以/结尾的文件路径都会响应;
    整个环境搭建搞定!!

    3)空的struts.xml文件
    ⑧:在配置Struts2时,还需要加入struts.xml文件,文件添加成功后,双击打开如果里面没有配置,
    需要配置;
    struts.xml的内容配置,1.打开已有的(官网下载的struts-2.3.29-all或者其他版本都行)struts-2.3.29-all
    支持包,找到apps文件夹里面的文件是war格式,打开的话可以转换成zip等普通压缩文件,打开文件在WEB-INF
    目录下找到src文件夹打开java文件,复制struts.xml文件到工程的src目录下,根据需要更改里面的内容,更改
    内容如下:
    <struts>
    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="false" />
    <constant name="struts.action.extension" value = "action" />
    <package name="default" namespace="/" extends="struts-default">
    <action name="login" class="loginAction">
    <result>/success.jsp</result>
    <result name="error">/login.jsp</result>
    </action>
    </package>
    </struts>


    3)加入spring环境
    1)加入spring相关的jar包及依赖包:
    spring_jar+apache

    2)在web.xml文件中配置
    1)配置spring的Listener
    <!-- 配置spring侦听器 -->
    <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    2) 配置Spring的配置文件在什么地方?名字是什么?
    <!--说明配置spring的配置文件的地方和名字 -->
    <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext*.xml;classpath*:applicationContext*.xml</param-value>
    </context-param>

    3)spring的配置文件(applicationContext.xml):
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- xmlns定义了一个默认的命名空间(package) -->
    <!-- 加一个命名空间context -->
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    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
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd">

    <!-- 配置数据库联接池 -->
    <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="${driver}"/>
    <property name="url" value="${url}"/>
    <property name="username" value="root"/>
    <property name="password" value="${password}"/>
    </bean>
    <context:property-placeholder location="classpath:db.properties"/>

    与上面对应的配置的属性文件(db.properties):
    driver=com.mysql.jdbc.Driver
    url=jdbc:mysql://localhost:3306/mybatis
    username=root
    password=123


    <bean id="loginAction" class="com.zr.web.LoginAction">
    <property name="userService" ref="userService"></property>
    </bean>

    <bean id="userService" class="com.zr.service.UserService">
    <property name="userDaoImpl" ref="userDaoImpl"></property>
    </bean>

    <bean id="userDaoImpl" class="com.zr.dao.UserDaoImpl"></bean>

    </beans>

    4)测试:获得WebApplicationContext对象
    public String execute(){

    //进行CURD时要获得对应类(bean)的对象<----获得Spring(IOC)容器[WebApplicationContext]对象,让其帮助创建bean的对象<----获得ServletContext对象(以获得容器对象)

    //获得ServletContext对象有两种方法:1,通过ServletActionContext.getServletContext()获得;2,实现指定接口,由Struts框架运行时注入
    ServletContext sc = ServletActionContext.getServletContext();

    //获得Spring容器中的WebApplicationContext的对象
    WebApplicationContext wac = WebApplicationContextUtils.getWebApplicationContext(sc);
    System.err.println(wac);

    //测试代码
    //获得bean对象(LoginAction)
    LoginAction action = wac.getBean(LoginAction.class);
    System.out.println("如获得LoginAction对象:"+action);

    4)集成spring+struts2
    1)加jar包(在struts-2.3.29-all中的lib目录下):
    struts2-spring-plugin-2.3.29.jar

    2)集成:struts.xml
    <action name="XXX" class="bean的id"/>
    如:
    <action name="login" class="loginAction">
    <result>/success.jsp</result>
    <result name="error">/login.jsp</result>
    </action>

    5) spring jdbc实现DAO
    使用DBCP ==> DataSource ==> Connection
    Spring中配置联接数据库的DataSource
    1) JDBC驱动程序
    mysql:mysql-connector-java-5.1.7(连接的位MySQL数据库)

    2)配置DataSource,测试代码
    获得DataSource对象
    //测试
    //获得DataSource对象从而获得Connection(数据库连接方法)对象
    ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
    DataSource ds = (DataSource) ac.getBean("dataSource");
    System.out.println(ds);

    基于JDBC的UserDao代码的实现
    UserDao ====> JdbcTemplate

    两个方法:


    6)spring+struts2+mybatis

    集成:spring+mybatis
    1)spring环境: jar包+相关的jar包
    spring_jar+apachejar
    配置文件
    数据库:mysql JDBC驱动
    mysql:mysql-connector-java-5.1.7(连接的位MySQL数据库)

    2)mybatis环境
    加相关的jar包,加与spring集成的jar包
    mybatis_jar包
    mybatis-springjar包

    1)SqlSessionFactory:
    <!-- 配置SqlSessionFactory -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <!-- 注入:数据源 -->
    <property name="dataSource" ref="dataSource"/>
    <!-- mybatis配置文件 -->
    <property name="configLocation" value="classpath:conf.xml"/>
    </bean>

    2)配置获得DAO接口对象
    <!-- 做接口映射 -->
    <bean id="iUserDao" class="org.mybatis.spring.mapper.MapperFactoryBean">
    <property name="mapperInterface" value="com.zr.dao.IUserDao"></property>
    <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
    </bean>

    Dao接口,+ Mapper文件

    测试方法

  • 相关阅读:
    java集合归纳
    判断回文数
    29:四则运算计算表达式的值
    getOutString 输出弹出字符串
    两个字符串中不同元素的个数
    字符串各个字符ASCII值加5
    23:一个整数的二进制表示中有多少个1
    Java进程间通信
    转 双重检查锁定与延迟初始化
    Key-Value键值存储原理初识(NOSQL)
  • 原文地址:https://www.cnblogs.com/xiaweicn/p/8847911.html
Copyright © 2020-2023  润新知