SSH 整合- 6 - service_serviceImp…

0. 主要jar包

antlr-2.7.6.jar
aspectjrt.jar
aspectjweaver.jar
cglib-nodep-2.1_3.jar
common-annotations.jar
commons-collections-3.1.jar
commons-dbcp.jar
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
commons-logging-1.1.jar
commons-logging.jar
commons-pool.jar
dom4j-1.6.1.jar
ejb3-persistence.jar
freemarker-2.3.13.jar
hibernate-annotations.jar
hibernate-commons-annotations.jar
hibernate3.jar
javassist-3.9.0.GA.jar
jta-1.1.jar
log4j-1.2.15.jar
mysql-connector-java-3.1.13-bin.jar
ognl-2.6.11.jar
slf4j-api-1.5.8.jar
slf4j-log4j12-1.5.8.jar
spring.jar
struts2-core-2.1.6.jar
struts2-spring-plugin-2.1.6.jar
xwork-2.1.2.jar

1. Web.xml

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"

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

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<!-- 添加struts2和spring整合的监听器 -->

<listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

<!-- default: /WEB-INF/applicationContext.xml -->

</listener>

<!--

配置struts2 读取spring配置文件的位置,默认是去WEB-INF目录下找名为applicationContext.xml的文件

可以通过下面的标签“context-param”设置位置,classpath:beans.xml 标识类路径下的beans.xml文件

-->

<context-param>

<param-name>contextConfigLocation</param-name>

<!-- <param-value>/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml</param-value>  -->

<param-value>classpath:beans.xml</param-value>

</context-param>

 

<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>

private static final long serialVersionUID = 1L;

 

private int id;

private String username;

private String password;

private String password2;

 

 

private UserManager userManager;

 

 

public UserManager getUserManager() {

return userManager;

}

 

 

@Resource(name="userManagerImpl")

public void setUserManager(UserManager userManager) {

this.userManager = userManager;

}

 

 

@Override

public String execute() throws Exception {

User user = new User();

user.setUsername(username);

user.setPassword(password);

if (userManager.exists(user))

return "fail";

 

userManager.insertOneUser(user);

return "success";

}

 

 

public int getId() {

return id;

}

 

 

public String getPassword2() {

return password2;

}

 

 

public void setPassword2(String password2) {

this.password2 = password2;

}

 

 

public void setId(int id) {

this.id = id;

}

 

 

public String getUsername() {

return username;

}

 

 

public void setUsername(String username) {

this.username = username;

}

 

 

public String getPassword() {

return password;

}

 

 

public void setPassword(String password) {

this.password = password;

}

}

 

4. UserManagerImpl.java

package com.edu.ssh.service.impl;

 

import javax.annotation.Resource;

 

import org.springframework.stereotype.Component;

 

import com.edu.ssh.dao.UserDAO;

import com.edu.ssh.model.User;

import com.edu.ssh.service.UserManager;

 

// 用Component注解,使得本类交给spring容器管理,

// 并且指定bean的名字为userManagerImpl

@Component("userManagerImpl")

public class UserManagerImpl implements UserManager {

 

 

private UserDAO userDAO;

 

 

public UserDAO getUserDAO() {

return userDAO;

}

 

 

// 使用spring依赖注入

@Resource

public void setUserDAO(UserDAO userDAO) {

this.userDAO = userDAO;

}

 

 

public boolean exists(User user) {

return userDAO.checkUserExistsWithName(user.getUsername());

}

 

 

public void insertOneUser(User user) {

userDAO.save(user);

}

}

 

 

5. 结果

 

SSH <wbr>整合- <wbr>6 <wbr>- <wbr>service_serviceImpl+dao_daoImpl+struts2+spring_02

 

 

SSH <wbr>整合- <wbr>6 <wbr>- <wbr>service_serviceImpl+dao_daoImpl+struts2+spring_02

    

        整个整合的过程到此结束了。一步步来即使并不是很难,要注意jar别添加重复了。少了比多了好,重复了就很可能出现jar的相互相应,可能会出现一些莫名其妙的问题。

在SSH里spring主要的功能是管理几乎所有的bean,实例化程序所有配置好的bean。有了spring Hibernate的所有配置都移到了spring的配置文件里,但是struts2的配置文件还是要单独配置。spring主要是管理程序的事务管理,是使用AOP实现的。

     更多的整合信息请看!

 

这是一篇用图形界面整合SSH的文章

http://bbx16899.blog.163.com/blog/static/171468589201131122311381/


这篇是所各个jar包的作用:

http://www.cnblogs.com/kaka-bing/archive/2012/03/27/2419328.html

版权声明:本文为博主原创文章,未经博主允许不得转载。

posted @ 2015-09-09 10:03  ubuntuvim  阅读(199)  评论(0编辑  收藏  举报