2024年1月1日发(作者:)

SSH框架搭建

Struts2.3.12+Spring3.2.2+Hibernate4.2.0

编号:SSH-S2-S3-H4

版本:V1.1

级别:公开

编写时间:2013-03-18

目 录

1 导言 ....................................................................................................................................... 1

1.1 目的 ............................................................................................................................ 1

1.2 范围 ............................................................................................................................ 1

1.3 说明 ............................................................................................................................ 1

2 搭建Struts2 .......................................................................................................................... 2

2.1 搭建所需jar包 .......................................................................................................... 2

2.2 整合步骤 .................................................................................................................... 2

2.2.1 创建项目 ......................................................................................................... 2

2.2.2 导入jar包 ....................................................................................................... 2

2.2.3 配置 .................................................................................................. 4

2.2.4 创建web ......................................................................................................... 4

2.2.5 创建jsp页面 .................................................................................................. 5

2.2.6 配置 ................................................................................................ 6

2.2.7 配置Tomcat .................................................................................................... 6

2.2.8 部署项目 ......................................................................................................... 7

2.3 测试 ............................................................................................................................ 8

2.3.1 启动Tomcat .................................................................................................. 10

2.3.2 测试Tomcat .................................................................................................. 10

2.3.3 测试Struts .................................................................................................... 11

3 整合Spring3 ........................................................................................................................ 12

3.1 整合所需jar包 ........................................................................................................ 12

3.2 整合步骤 .................................................................................................................. 12

3.2.1 导入jar包 ..................................................................................................... 12

3.2.2 配置 ................................................................................................ 12

3.2.3 配置 .............................................................................................. 13

3.2.4 配置 ............................................................................................. 13

3.3 测试 .......................................................................................................................... 14

I

3.3.1 启动Tomcat .................................................................................................. 14

3.3.2 测试登录 ....................................................................................................... 14

4 整合Hibernate4 .................................................................................................................. 15

4.1 整合所需jar包 ........................................................................................................ 15

4.2 整合步骤 .................................................................................................................. 15

4.2.1 导入jar包 ..................................................................................................... 15

4.2.2 创建数据库ccc ............................................................................................. 15

4.2.3 创建对象User .............................................................................................. 16

4.2.4 生成映射文件 ....................................................................... 17

4.2.5 创建dao ........................................................................................................ 18

4.2.6 创建service ................................................................................................... 19

4.2.7 创建web ....................................................................................................... 20

4.2.8 配置ties ..................................................................................... 21

4.2.9 配置 ................................................................................................... 22

4.2.10 配置 ........................................................................................... 24

4.2.11 配置 ............................................................................................ 24

4.3 测试 .......................................................................................................................... 25

4.3.1 启动Tomcat .................................................................................................. 25

4.3.2 测试登录 ....................................................................................................... 25

II

SSH框架 SSH框架配置详细步骤

1 导言

1.1 目的

本文档是根据个人的工作经验搭建的轻量级SSH框架,也是实际应用中比较全面的基础框架,用于指导SSH框架初学者学习搭建SSH框架,希望能给各位使用者提供帮助,同时也希望朋友们尽量去帮助其他人。

1.2 范围

本次框架搭建的版本是Struts2.3.12+Spring3.2.2+Hibernate4.2.0,截止2013年3月18日是最新的版本。本次搭建的过程是先搭建Struts2.3.12,测试通过之后,整合Spring3.2.2,最后再整合Hibernate4.2.0,最后的整合内容有点多,因为这也是居于MVC思想搭建的环境,希望大家耐心学习。

1.3 说明

本文档是个人总结的经验,仅供参考学习,同时欢迎朋友们一起沟通学习,文档中会对使用的jar做详细解说,对配置的过程使用图文说明,因为SSH博大精深,很多知识在搭建过程中没有使用到,只是一个基础框架的搭建,能测试通过就可以,所以对于高要求的开发,需要自己添加jar、增加方法和配置,同时文档中出现的纰漏希望朋友们等指正。

开发环境:MyEclipse7.0,Tomcat6.0,JDK1.6,其他环境可进行测试。

1.4 更新内容

本次文档更新内容为Tomcat的配置使用虚拟路径,这样每次项目内容更新不需要重新部署项目,而且使用debug模式启动,在启动状态下修改项目内容,保存之后,可以直接测试,不需要重启Tomcat,非常简单。

本次更新是将为2013年5月15日,如果项目搭建学习遇到问题,可邮件给我,我可以发演示项目给大家进行参考学习。同时声明,搭建的框架只是最简单的框架基础入门,大神就不用挑刺了,有时间多写点东西分享一下吧。

邮箱:xiazhangrui@。

1

SSH框架 SSH框架配置详细步骤

2 搭建Struts2

2.1 搭建所需jar包

序号

1

2

3

4

5

6

7

8

9

名称

文件上传组件

io包

基础工具包,封装一些常用的基础操作

日志组件

一个基于模板生成文本输出的通用工具

对象图导航语言(jar包库)

Struts2核心jar包

xwork核心包

扩展java类和实现

描述

2.2 整合步骤

2.2.1 创建项目

创建一个web项目,项目名称为SSH,如下所示:

2.2.2 导入jar包

项目中点击lib,复制需要的jar到lib中即完成导入,如下所示:

2

SSH框架 SSH框架配置详细步骤

如果没有导入完成,右键点击项目名(SSH),选择properties-Java Build

Path,点击Add Extenrnal JARs,选择项目lib中的jar包进行导入,如下所示:

3

SSH框架 SSH框架配置详细步骤

2.2.3 配置

主要配置Struts2容器控制器,如下所示:

xmlns="/xml/ns/j2ee"

xmlns:xsi="/2001/XMLSchema-instance"

xsi:schemaLocation="/xml/ns/j2ee

/xml/ns/j2ee/web-app_2_">

struts2

PrepareAndExecuteFilter

struts2

/*

2.2.4 创建web

LoginAction主要用于实现逻辑控制控制,通过Struts的调用,处理业务之后,返回给Struts,然后显示给页面,如下所示:

4

SSH框架 SSH框架配置详细步骤

package ;

public class LoginAction {

private String name;

private String password;

public String login() {

if (null == name && null == password) {

}

}

public String getName() {

return name;

}

public void setName(String name) {

= name;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

rd = password;

}

}

return "login";

return "ok";

return "error";

} else if ("ssh".equals(name) && "12345".equals(password)) {

} else {

2.2.5 创建jsp页面

是登录页面,其他两个jsp分别写入Login Is Ok 和 Login Is Error,用于登录成功和失败的页面显示,右键点击WebRoot,创建jsp,如下所示:

5

SSH框架 SSH框架配置详细步骤

UserName

Password

Login Is Ok

Login Is Error

2.2.6 配置

这里配置页面访问访问请求的跳转和返回结果的路径,右键点击src,创建一个xml文件,如下所示:

"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"

"/dtds/">

method="login">

2.2.7 配置Tomcat

6

SSH框架 SSH框架配置详细步骤

(1) 点击Window-Preferences-MyEclipse…-Server-Tomcat-Tomcat 6.x配置tomcat路径,并启用,如下所示:

(2) 点击Tomcat 6.x-jdk配置安装的jdk版本,如下所示:

2.2.8 部署项目

有两种部署项目的方式,第一种类似于物理配置,部署之后,项目的可执行程序复制到Tomcat的webapps里面,因为这样,每次改变项目内容需要重新部署和启动Tomcat,这是最原始的部署方法。

第二种是虚拟路径部署方法,把项目的Web-Root路径配置给Tomcat,这样Tomcat可自动执行项目的可执行程序,而且如果使用debug模式启动项目,每次改变项目内容不需要重启启动Tomcat。

接下来就这两种方式分别介绍是如何配置的,首先是原始的配置方法。

一、方法1:

(1) 点击Tomcat部署的按钮,中间的按钮,如下所示:

(2) 选择SSH项目,点击Add,为项目添加Tomcat,如下所示:

7

SSH框架 SSH框架配置详细步骤

(3) 选择Tomcat,然后点击finish,如下所示:

(4) 这样原始的配置方法即完成,每次变更项目内容,需要选中项目,点击Redeploy进行重新部署,如下所示:

二、方法2:

(1) 新的Tomcat,是没有配置虚拟路径的一些环境的,需要新建。打开Tomcat目录,打开conf目录,查看是否有Catalina目录,如果没有则新建,如下所示:

8

SSH框架 SSH框架配置详细步骤

(2) 打开Catalina目录,新建localhost目录,打开localhost目录,创建两个xml文件,用于配置虚拟路径的环境,分别是、,还有一个最重要的配置文件,就是配置虚拟路径的文件,如图所示:

/>

ssh是项目访问的标识,比如localhost/ssh,可以自定义,不过和path=”ssh”,需要一致,docBase为项目的webRoot路径。

这样虚拟路径就配置完成,如果使用原始方法配置过项目,需要删除Tomcat下webapps里面以项目名命名的部署文件,不然会发生冲突。

2.3 测试

2.3.1 启动Tomcat

(1) 点击启动Tomcat的按钮,中间的按钮,如下所示:

注意,每次修改内容之后需要重新部署和启动服务,或者启用debug模式可以不需要重新启动。

(2) 启动过程不报错误,启动成功如下所示:

2.3.2 测试Tomcat

在浏览器窗口输入localhost:8080(注意后面的是端口号,在tomc配置文件更改,如果端口更改为80,则默认不需要输入端口号),如下所示:

10

SSH框架 SSH框架配置详细步骤

2.3.3 测试Struts

(1) 在浏览器窗口输入localhost/SSH(如果配置ssh,则访问链接为localhost/ssh),如下所示:

(2) 浏览器输入localhost/SSH/login,跳转到登录页面,如下所示:

(3) 输入name=ssh password=12345,跳转到登录成功页面,如下所示:

(4) 输入name=xxx password=xxx ,跳转到登录失败页面,如下所示:

通过测试Struts框架搭建成功!

11

SSH框架 SSH框架配置详细步骤

3 整合Spring3

3.1 整合所需jar包

序号

1

2

3

4

5

6

7

8

名称

描述

Struts2+Spring整合包

Spring核心工具包

为Spqing提供核心扩展

为Spqing提供核心扩展

管理beans的工具

表达式语言

Web应用开发包

提供对AspectJ的支持,以便可以方便的将面向方面的功能集成进IDE中

3.2 整合步骤

3.2.1 导入jar包

3.2.2 配置

配置Spring容器,如下所示:

xmlns="/xml/ns/j2ee"

xmlns:xsi="/2001/XMLSchema-instance"

xsi:schemaLocation="/xml/ns/j2ee

/xml/ns/j2ee/web-app_2_">

struts2

PrepareAndExecuteFilter

struts2

/*

12

SSH框架 SSH框架配置详细步骤

contextConfigLocation

/WEB-INF/classes/

tLoaderListener

3.2.3 配置

配置class类由spring代理,如下所示:

"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"

"/dtds/">

3.2.4 配置

配置action的代理,右键点击src,创建xml文件,如下所示:

"/dtd/">

13

SSH框架 SSH框架配置详细步骤

singleton="false">

3.3 测试

3.3.1 启动Tomcat

需要重新部署项目,然后启动tomcat。

3.3.2 测试登录

(1) 浏览器输入localhost/SSH/login,跳转到登录页面,如下所示:

(2) 输入name=ssh password=12345,跳转到登录成功页面,如下所示:

(3) 输入name=xxx password=xxx ,跳转到登录失败页面,如下所示:

通过测试Struts+Spring框架搭建成功!

14

SSH框架 SSH框架配置详细步骤

4 整合Hibernate4

4.1 整合所需jar包

序号

1

2

3

4

5

6

7

名称

事务管理

对JDBC封装

ORM映射支持

Spring配置事务管理

Hibernate的核心模块

描述

用来定义java持久性

注解

8

9

10

11

12

13

14

15

jboss-transaction-api_1.1_

AOP提供了最普通和通用的接口

事务管理

执行sql查询

Xml配置和映射解释器

配置连接池的工具类

数据库代理

日志

事务处理

16 Mysql连接驱动

4.2 整合步骤

4.2.1 导入jar包

4.2.2 创建数据库ccc

在Mysql数据库中,创建一个ccc的数据库(以ccc为例,用户可自定义),创建表结构,并插入数据,如下所示:

create database ccc;

create table t_user

(

ID bigint not null auto_increment,

name varchar(20) not null,

15

SSH框架 SSH框架配置详细步骤

password varchar(10) not null,

primary key (ID)

);

insert into t_user values (1,'ssh','12345');

4.2.3 创建对象User

实体对象是根据java面向对象的实现创建的实体体现,如下所示:

package ;

public class User {

private Integer id;

private String name;

private String password;

public Integer getId() {

}

public void setId(Integer id) {

}

public String getName() {

}

public void setName(String name) {

}

public String getPassword() {

return password;

16

return id;

= id;

return name;

= name;

SSH框架 SSH框架配置详细步骤

}

}

public void setPassword(String password) {

}

rd = password;

4.2.4 生成映射文件

映射文件主要用于实现java实体和数据库表结构的一一对应,从而hibernate可以把表转换成实体对象,如下所示:

3.0//EN"

"/" >

type="">

type="">

17

SSH框架 SSH框架配置详细步骤

4.2.5 创建dao

是底层数据库操作的接口,是接口实现,如下所示:

package ;

import ;

public interface UserDAO {

}

public User queryUserByName(String name);

package ;

import ;

import nFactory;

import ;

public class UserDAOImpl implements UserDAO {

public User queryUserByName(String name) {

}

public SessionFactory getSessionFactory() {

}

18

private SessionFactory sessionFactory;

Query query = rentSession().createQuery(

"from User as u where = ?");

ing(0, name);

User u = (User) Result();

return u;

return sessionFactory;

SSH框架 SSH框架配置详细步骤

}

public void setSessionFactory(SessionFactory sessionFactory) {

}

nFactory = sessionFactory;

4.2.6 创建service

是业务层的接口,是接口实现,接口实现用到的DAO在里面配置,如下所示:

package ;

public interface UserService {

}

public boolean login(String name,String password);

package ;

import rvice;

import O;

import ;

public class UserServiceImpl implements UserService {

public boolean login(String name, String password) {

User u = serByName(name);

if (u == null) {

return false;

if (sword().equals(password)) {

19

private UserDAO userDAO;

} else {

SSH框架 SSH框架配置详细步骤

}

}

}

}

return true;

return false;

} else {

public UserDAO getUserDAO() {

}

public void setUserDAO(UserDAO userDAO) {

}

O = userDAO;

return userDAO;

4.2.7 创建web

主要用于控制访问,处理页面的请求,然后返回结果,这里调用服务用到的service从里面配置,如下所示:

package ;

import Support;

import rvice;

public class LoginAction extends ActionSupport {

public String login() {

/* NAME和PASSWORD为空则返回登录页面,否则验证登录 */

if (null == name && null == password) {

return "login";

} else {

20

private String name;

private String password;

private UserService userService;

SSH框架 SSH框架配置详细步骤

}

}

}

Boolean u = (name, password);

if (u) {

}

return "ok";

return "error";

} else {

public String getName() {

}

public void setName(String name) {

}

public String getPassword() {

}

public void setPassword(String password) {

}

public UserService getUserService() {

}

public void setUserService(UserService userService) {

}

rvice = userService;

return userService;

rd = password;

return password;

= name;

return name;

4.2.8 配置ties

用于配置数据库的相关数据,方便修改,是Hibernate的一个辅助配置文件,配置完成之后关联Hibernate即可,右键点击src,创建配置文件。如下所示:

nCount=5

nCount=2

tics=1m,15m,1h,1d

aneousBuildThrottle=5

=false

e=false

ClassName=

=jdbc:mysql://localhost:3306/ccc?useUnicode=true&characterEncoding=gbk

me=root

rd=admin

21

SSH框架 SSH框架配置详细步骤

4.2.9 配置

用于配置与数据库相关的信息,是Hibernate的主要配置文件,配置完成之后关联到spring即可,右键点击src,创建xml文件。如下所示:

"/dtd/">

class="tyPlaceholderConfigurer">

classpath:ties

class="lDataSource">

value="${nCount}" />

value="${nCount}" />

true

22

value="${aneousBuildThrottle}" />

class="essionFactoryBean">

SSH框架 SSH框架配置详细步骤

">

true

key="t">ialect

com/ssh/entity/

class="ateTransactionManager

class="ctionProxyFactoryBean" abstract="true">

PROPAGATION_REQUIRED

PROPAGATION_REQUIRED

PROPAGATION_REQUIRED

PROPAGATION_REQUIRED,readOnly

23

SSH框架 SSH框架配置详细步骤

4.2.10 配置

在之前配置的基础上把配置文件导入,实现spring和hibernate的整合,同时这里配置dao和service的参数注入,如下所示:

"/dtd/">

parent="daoTemplate" />

singleton="false">

4.2.11 配置

这里配置页面访问访问请求的跳转和返回结果的路径,如下所示:

"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"

"/dtds/">

24

SSH框架 SSH框架配置详细步骤

4.3 测试

4.3.1 启动Tomcat

重新部署之后,启动Tomcat,如下所示:

4.3.2 测试登录

(1) 输入网址:localhost/SSH/login

输入name=ssh password=12345,跳转到登录成功页面;

输入name=xxx password=xxx ,跳转到登录失败页面;

(2) 登录成功页面:

(3) 后台打印,如下所示:

通过测试,SSH框架搭建成功!

25