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.StrutsPrepareAndExecuteF </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里spring主要的功能是管理几乎所有的bean,实例化程序所有配置好的bean。有了spring Hibernate的所有配置都移到了spring的配置文件里,但是struts2的配置文件还是要单独配置。spring主要是管理程序的事务管理,是使用AOP实现的。
这是一篇用图形界面整合SSH的文章
http://bbx16899.blog.163.com/blog/static/171468589201131122311381
http://www.cnblogs.com/kaka-bing/archive/2012/03/27/2419328.html
版权声明:本文为博主原创文章,未经博主允许不得转载。