建站经验 experience
当前位置:首页 > 网站建设专题 > 建站经验
SSH2完美整合流程
发布日期:2011-12-20 阅读次数:850 字体大小:

教程流程是重点,应熟练掌握。本教程做简单的账号注册演示,所用工具:Myeclipse-6.5、Struts-2.2.3、Hibernate-3.2、Spring-2.0、MySql,本教程出自北大青鸟成都锦江校区(原文链接 http://www.scbdqn.com/course/netjava/3172.html),转载请注明原处,谢谢。

一、利用工具快速搭建环境

1、新建一个名为ssh2的Web项目

2、把STRUTS2的依赖JAR包添加到项目工程中。用WinRar解压Struts-2.2.3\apps\struts2- blank.war,把Struts-2.2.3\apps\struts2-blank\WEB-INF\lib下面的所有JAR包添加到WEB工程的 lib目录下。

3、添加Hibernate的依赖库。选中刚创建的项目,右键》具体操作如图所示

需要注意的地方已经勾选出来了,之后点下一步。

这里选择否,待会我们手工来编写。

这个不需要创建,因此不勾选。之后点完成。

4、添加Spring的依赖库。选中刚创建的项目,右键》具体操作如图所示

按下面的选择,不要急着下一步。

下面的选择之后,然后下一步。

Folder一定要写成 WebRoot/WEB-INF,否则容易找不到

不用它创建,然后点完成。

5、因为需要连接数据库,因此我们还需要数据库的依赖JAR包。去下载commons-dbcp-1.4.jar、commons-pool- 1.5.6.jar、mysql-connector-java-5.0.8-bin.jar,并添加进去。由于Struts与Spring整合了,所以 不要漏添加 struts2-spring-plugin-2.2.3.jar 文件,它位于 Struts-2.2.3\lib 目录下。

二、编写代码实现功能,处理常见异常

1、在 com.lingdus.bean 包下创建 Users.java 类

package com.lingdus.bean;

import java.io.Serializable;

public class Users implements Serializable {

    private int id;

    private String username;

    private String password;

    public int getId() {
        return id;
    }

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

2、在 com.lingdus.bean 包下创建一个 Users.xml 文件

“http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd”》

3、在 com.lingdus.dao 下创建一个 UserDAO.java 文件

package com.lingdus.dao;
import com.lingdus.bean.Users;
public interface UserDAO {
public void doRegister(Users user);
}

4、在 com.lingdus.dao.impl 下创建一个 UserDAOImpl.java 文件

package com.lingdus.dao.impl;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.lingdus.bean.Users;
import com.lingdus.dao.UserDAO;
public class UserDAOImpl extends HibernateDaoSupport implements UserDAO {
public void doRegister(Users user) {
this.getHibernateTemplate().save(user);
}
}

5、在 com.lingdus.service 下创建一个 UserService.java 文件


package com.lingdus.service;

import com.lingdus.bean.Users;

public interface UserService {

    public void doRegister(Users user);
}

6、在 com.lingdus.service.impl 下创建一个 UserServiceImpl.java 文件


package com.lingdus.service.impl;

import com.lingdus.bean.Users;
import com.lingdus.dao.UserDAO;
import com.lingdus.service.UserService;

public class UserServiceImpl implements UserService {

    private UserDAO userDAO;

    public UserDAO getUserDAO() {
        return userDAO;
    }

    public void setUserDAO(UserDAO userDAO) {
        this.userDAO = userDAO;
    }

    public void doRegister(Users user) {
        this.userDAO.doRegister(user);
    }
}

7、在 com.lingdus.action 下创建一个 UserRegisterAction.java 文件


package com.lingdus.action;

import java.util.Map;

import org.apache.struts2.ServletActionContext;

import com.lingdus.bean.Users;
import com.lingdus.service.UserService;
import com.opensymphony.xwork2.ActionSupport;

public class UserRegisterAction extends ActionSupport {

    private UserService service;

    private Users user;

    public UserService getService() {
        return service;
    }

    public void setService(UserService service) {
        this.service = service;
    }

    public Users getUser() {
        return user;
    }

    public void setUser(Users user) {
        this.user = user;
    }

    @Override
    public String execute() throws Exception {
        this.service.doRegister(this.user);
        if (0 == this.user.getId()) {
            return ERROR;
        }
        return SUCCESS;
    }
}

8、在 WebRoot\WEB-INF\applicationContext.xml 中替换成以下内容

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-2.5.xsd”》

class=“org.apache.commons.dbcp.BasicDataSource”

destroy-method=“close”》

com.microsoft.sqlserver.jdbc.SQLServerDriver

jdbc:sqlserver://localhost:1433;databaseName=ssh2

sa

sql2008

class=“org.springframework.orm.hibernate3.LocalSessionFactoryBean”》

com/lingdus/bean/Users.xml

org.hibernate.dialect.SQLServerDialect

false

class=“com.lingdus.service.impl.UserServiceImpl”》

class=“com.lingdus.action.UserRegisterAction”》

9、在 src 目录下创建一个 struts.xml 文件,内容如下

“-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN”

“http://struts.apache.org/dtds/struts-2.1.7.dtd”》

ok.jsp

error.jsp

10、在 WebRoot\WEB-INF\web.xml 中替换成以下内容

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

index.jsp

ssh2

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

ssh2

/*

org.springframework.web.context.ContextLoaderListener

11、创建 ssh2 数据库 Users 表,字段id(int,仅设置主键)、username(varchar(255))、password(varchar(255))

12、删除lib目录下的 asm-2.2.3.jar、asm-3.1.jar 文件。

13、编写 index.jsp 文件,具体如下

<%@ page language=“java” import=“java.util.*” pageEncoding=“UTF-8”%>

<%

String path = request.getContextPath();

String basePath = request.getScheme() + “://”

+ request.getServerName() + “:” + request.getServerPort()

+ path + “/”;

%>

My JSP ‘index.jsp’ starting page

账号:

密码:

14、搭建 Tomcat 并启动,看样子问题不大,教程就此结束。

本教程转自北大青鸟成都锦江校区,原文链接http://www.scbdqn.com/course/netjava/3172.html