视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
ssi整合步骤
2025-09-29 22:35:07 责编:小OO
文档
1.Ssi整合首先需要导入相关的jar包

2.首先配置struts2的内容:

2.1在web.xml中配置struts2 的

struts2

          org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

struts2

/*

2.2在src目录下创建struts的配置文件struts.xml

文件配置内容如下。

"http://struts.apache.org/dtds/struts-2.3.dtd">

/index.jsp

3.下面是我的项目的文档结构src下的文件可以测试

3.1

创建测试文件进行测试TestStruts2Action

package com.hzl.ssi.testStruts2Action;

/**

 * @author hanzl

 * 作用:测试struts2的作用

 */

importjava.util.ArrayList;

importjava.util.List;

importjava.util.Map;

import org.apache.struts2.ServletActionContext;

importorg.springframework.beans.factory.annotation.Autowired;

importorg.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

importcom.hzl.ssi.model.UserModel;

importcom.hzl.test.service.TestService;

import com.opensymphony.xwork2.Action;

import com.opensymphony.xwork2.ActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class TestStruts2Action  extends ActionSupport implements Action {

    private String acStr="我的ssi整合中Struts2的Action";

            public String getAcStr() {

        returnacStr;

    }

    public void setAcStr(String acStr) {

        this.acStr = acStr;

    }

    public String execute()  {

        String id="001";

        System.out.println("正在执行 execute()方法");

        return SUCCESS;

    }

}

3.2在浏览器里输入localhost/ssi/test.action测试能否跳转到index页面

Index.jsp

<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%>

<%@taglibprefix="s"uri="/struts-tags"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

">

My JSP 'index.jsp' starting page

    

    

    

    

    

    

    This is my JSP page. 

     ${acStr}

3.3 Struts2配置成功运行结果:

4.接着要整合struts2和Spring

4.1在web.xml创建Spring 的以及管理Spring的配置文件applicationContext.xml,我的Spring的文件是放在默认路径下的。当然也可放在别处。

配置如下:

org.springframework.web.context.ContextLoaderListener

contextConfigLocation

/WEB-INF/applicationContext*.xml

4.2接着就是配置applicationContext.xml了,目的是吧Struts2的Action交给Spring去管理

这事需要在struts.xml中加上一句话

4.3接下来就是在application.xml中的具体配置了

由于我的项目已经配置完毕,测试struts2和Spring整合时只需要删除其他的jdbc等,还有service等,多动手才会更明白。

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xmlns:context="http://www.springframework.org/schema/context"

    xmlns:aop="http://www.springframework.org/schema/aop"

    xmlns:tx="http://www.springframework.org/schema/tx"

    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

    http://www.springframework.org/schema/aop

    http://www.springframework.org/schema/aop/spring-aop.xsd

    http://www.springframework.org/schema/tx 

    http://www.springframework.org/schema/tx/spring-tx.xsd">

class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

classpath:jdbc.properties

class="org.apache.commons.dbcp.BasicDataSource">

${jdbc.driver}

${jdbc.url}

${jdbc.user}

${jdbc.password}

classpath:ibitas.xml

    

    

到这里基本Struts2和Spring整合基本完毕了。

5.接着要把ibitas整合上去这里主要是在applicationContext中配置

5.1首先要把连接数据库的属性文件放入到src目录下jdbc.properties

文件内容:

注意:这里用的Oracle数据库

jdbc.driver = oracle.jdbc.driver.OracleDriver

jdbc.url = jdbc:oracle:thin:@127.0.0.1:1521:orcl

jdbc.user = hanzl

jdbc.password =password

5.2创建ibitas核心文件 ibatis.xml内容如下

lazyLoadingEnabled="true"errorTracingEnabled="false"maxRequests="32"

maxSessions="10"maxTransactions="5"useStatementNamespaces="true"/>

5.3在applicationContext.xml中配置数据源等信息全部applicationContext.xml

内容如下:

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xmlns:context="http://www.springframework.org/schema/context"

    xmlns:aop="http://www.springframework.org/schema/aop"

    xmlns:tx="http://www.springframework.org/schema/tx"

    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

    http://www.springframework.org/schema/aop

    http://www.springframework.org/schema/aop/spring-aop.xsd

    http://www.springframework.org/schema/tx 

    http://www.springframework.org/schema/tx/spring-tx.xsd">

class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

classpath:jdbc.properties

class="org.apache.commons.dbcp.BasicDataSource">

${jdbc.driver}

${jdbc.url}

${jdbc.user}

${jdbc.password}

classpath:ibitas.xml

    

    

5.4编写测试文件测试

5.4.1需要的文件TestStruts2Action.java

package com.hzl.ssi.testStruts2Action;

/**

 * @author hanzl

 * 作用:测试struts2的作用

 */

importjava.util.ArrayList;

importjava.util.List;

importjava.util.Map;

import org.apache.struts2.ServletActionContext;

importorg.springframework.beans.factory.annotation.Autowired;

importorg.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

importcom.hzl.ssi.model.UserModel;

importcom.hzl.test.service.TestService;

import com.opensymphony.xwork2.Action;

import com.opensymphony.xwork2.ActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class TestStruts2Action  extends ActionSupport implements Action {

    private String acStr="我的ssi整合中Struts2的Action";

    //private ApplicationContext act = new ClassPathXmlApplicationContext("applicationContext.xml");

    //TestServicetestService=(TestService) act.getBean("testService");

    TestServicetestService;

private List list=new ArrayList();

public ListgetList() {

        return list;

    }

public void setList(List list) {

        this.list = list;

    }

    privateUserModel u=new UserModel();

    

    publicUserModelgetU() {

        return u;

    }

    public void setU(UserModel u) {

        this.u = u;

    }

    publicTestServicegetTestService() {

        returntestService;

    }

    public void setTestService(TestServicetestService) {

        this.testService = testService;

    }

    public String getAcStr() {

        returnacStr;

    }

    public void setAcStr(String acStr) {

        this.acStr = acStr;

    }

    public String execute()  {

        System.out.println("正在执行 execute()方法");

        try {

            list=testService.Queryforlist();

            for(UserModel u:list){

                //u.setSex(list.get())

                System.out.println(u.getUserid()+" "+u.getUsername()+" "+u.getSex());

            }

            System.out.println("成功查到.................");

            

                } catch (Exception e) {

            e.printStackTrace();

        } 

        ServletActionContext.getRequest().setAttribute("list", list);

        return SUCCESS;

    }

}

5.4.2需要的文件TestService.java

packagecom.hzl.test.service;

importjava.util.List;

importcom.hzl.ssi.model.UserModel;

public interface TestService {

    public void service() throws Exception;

    

    //根据ID查询

    publicUserModelselectByid(String id);

    //查询list

public ListQueryforlist();

}

5.4.3需要的文件TestServiceImpl.java

packagecom.hzl.test.service;

importjava.util.List;

importcom.hzl.ssi.model.UserDao;

importcom.hzl.ssi.model.UserModel;

public class TestServiceImpl implements TestService {

    privateUserDaouserDao=null;

        publicUserDaogetUserDao() {

        returnuserDao;

    }

    public void setUserDao(UserDaouserDao) {

        this.userDao = userDao;

    }

        public void service() throws Exception{

            UserModelpersonInsert = new UserModel();

        personInsert.setUserid("001");

        personInsert.setUsername("小韩");

        personInsert.setSex("男");

        userDao.insertObject(personInsert);

            

        System.out.println("this is service function");

    }

        

        publicUserModelselectByid(String id) {

            

            returnuserDao.selectbyid(id);

        }

        

     public ListQueryforlist(){

            returnuserDao.Queryforlist();

        }

}

5.4.4 需要的文件UserDao.java

packagecom.hzl.ssi.model;

importjava.sql.SQLException;

importjava.util.List;

importorg.springframework.orm.ibatis.support.SqlMapClientDaoSupport;

public class UserDao extends SqlMapClientDaoSupport {

    public Object insertObject (UserModeluserModel) throws SQLException {

    returngetSqlMapClientTemplate().insert("userModel.insertPerson", userModel);

        }

    publicUserModelselectbyid(String id){

        return(UserModel) getSqlMapClientTemplate().queryForObject("userModel.selectByid",id);

        

     }

public ListQueryforlist(){

        return  getSqlMapClientTemplate().queryForList("userModel.listUserModel");

        

     }

}

5.4.5需要的文件ibitas_userinfo.xml

PUBLIC"-//ibatis.apache.org//DTD SQL Map 2.0//EN"

"http://ibatis.apache.org/dtd/sql-map-2.dtd">

insert into userinfo

        (userid, username, sex )

values

        (#userid#, #username#, #sex# )

selectuserid,username,sex from userinfo where userid=#userid#

select * from userinfo

注意:将该文件引入到ibatis核心文件ibatis.xml中

我这创建的数据库的表是userinfo

6.进行整合完后测试

测试结果:

成功完整工程下载本文

显示全文
专题