Struts+Spring+Hibernate--SSH整合实例

Struts+Spring+Hibernate--SSH整合实例:

网 上虽然有很多 SSH 整 合的小例子,但很多程序都出现了不是这样,就是那样的错误。自己总结了一下,终于做出的 Struts+Spring+Hibernate 整 合的小例子,也是最基础的 SSH 实 例,虽然是小例子,但什么程序都是从基础的做起。如果你弄明白了这个小实例,相信你的 SSH 整合框架技术也会提高很 多。

       在 做本例前,需要熟悉对 Struts Hibernate 的反向工 程等的基本操作。

开发工具: MyEclipse+MySQL+Tomcat

说明:本实例是简单注册程序(只有 两个属性)

数据库脚本: user.sql

 

DROP TABLE IF EXISTS `user`;

CREATE TABLE `user` (

`Id` int(11) NOT NULL AUTO_INCREMENT,

`username` varchar(255) DEFAULT NULL,

`password` varchar(255) DEFAULT NULL,

PRIMARY KEY (`Id`)

) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

 

开发步骤:

1 建立 Web 项目

   选择: Java EE 5.5

2 添加 Struts 支持(项目右键 à MyEclipse Struts Capabilities …

       选 择:

1 Struts specification Struts 1.3

2 Base package for 那 位 classes edu.syict.struts

3 添加 Spring 支持(项目右键 à MyEclipse Spring Capabilities …

       选 择:

1) Spring version Spring 2.0

2) Select the libraries to add the buildpath

Spring 2.0 AOP Libraries

Spring 2.0 Core Libraries

Spring 2.0 Persistence Core Libraries

Spring 2.0 Persistence JDBC Libraries

Spring 2.0 Web Libraries

       3) JAR Library Installation

Copy checked Library contents to project folder TLDs always copied

       Next

4) Spring 配置文件 选择目录 Folder WebRoot/WEB-INF

Finish

4 添加 Hibernate 支持(项 目右键 à MyEclipse Hibernate Capabilities …

       选 择:

       1 Hibernate Specification Hibernate3.1

       2 Select the libraries to ad to the buildpath Hibernate 3.1 Core Libraries

3 JAR Library Installation Copy checked Library Jars to project folder and add to build-path

Next

4 )选择: Spring configuration file(applicationContext.xml) Next

       5 ) 选择: Existing Spring configuration file

SessionFactory Id sessionFactory à Next

       6 Bean Id dataSource

DB Driver :选择配 置好的 Hibernate à Next

       7 ) 不建立 SessionFactory (不 选择 Create SessionFactory class?

       8 Finish

数据库方面

       1 ) 建立包 edu.syict.pojo

Hibernate 反 向工程:

          选择下列内容:

Create POJO<>DB Table mapping information 复选框

                     Create a Hibernate mapping file 单 选框

                     Update Hibernate configuration with mapping resource location 复 选框

            Java Data Object POJO<>DB Table )复选框   

            其 余的都不选择。 à Next          

Id Generator native à Finish

 

       2 ) 新建接口: edu.syict.dao.UserDao.java ( 所在包: edu.syict.dao )

 

package edu.syict.dao;

import edu.syict.pojo.User;

public interface UserDao {

    public void save(User user);

}

       3 ) 建立 UserDao 接 口实现类 edu.syict.dao.impl.UserDaoImpl

       类 继承 HibernateDaoSupport , 接口继承 UserDao

 

package edu.syict.dao;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import edu.syict.pojo.User;

public class UserDaoImpl extends HibernateDaoSupport implements UserDao {

    public void save(User user) {

       try {

           this .getHibernateTemplate().saveOrUpdate(user);

       } catch (RuntimeException re){

           throw re;

       }

    }

}

建立 JSP 页面, Action

       1) 打 开 struts-config.xml 配 置文件:右键 new à Form,Action and JSP

       2) User case register

       Form Impl Dynamic FormBean

       Properties username password

       JSP : 选择 Create JSP form à Next

3) Action 默认就 可以了 à Finish

       4) 配 置 struts-config.xml 文 件,将 Struts 交 给 Spring 管 理

              a) 加入插件 (message-resources 标记下 )

 

< plug-in className = "org.springframework.web.struts.ContextLoaderPlugIn" >

    < set-property property = "contextConfigLocation"

               value = "/WEB-INF/applicationContext.xml" />

</ plug-in >

b) Action 类移交( message-resources 标 记上)

 

<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"/>

       struts-config.xml 文 件 ( 全 部 )

       struts-config.xml 文 件 ( 全 部 )

 

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

<! DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd" >

 

< struts-config >

< form-beans >

    < form-bean name = "registerForm" type = "org.apache.struts.action.DynaActionForm" >

      < form-property name = "password" type = "java.lang.String" />

      < form-property name = "username" type = "java.lang.String" />

    </ form-bean >

</ form-beans >

 

< global-exceptions />

< global-forwards />

< action-mappings >

    < action

      attribute = "registerForm"

      input = "/form/register.jsp"

      name = "registerForm"

      path = "/register"

      scope = "request"

      type = "edu.syict.struts.action.RegisterAction" />

</ action-mappings >

< controller processorClass = "org.springframework.web.struts.DelegatingRequestProcessor" />

< message-resources parameter = "edu.syict.struts.ApplicationResources" />

< plug-in className = "org.springframework.web.struts.ContextLoaderPlugIn" >

    < set-property property = "contextConfigLocation"

               value = "/WEB-INF/applicationContext.xml" />

</ plug-in >   

</ struts-config >

5) register.jsp 页 面 (WebRoot/form/register.jsp)

 

<%@ page language = "java" pageEncoding = "UTF-8" %>

<%@ taglib uri = "http://struts.apache.org/tags-bean" prefix = "bean" %>

<%@ taglib uri = "http://struts.apache.org/tags-html" prefix = "html" %>

 

< html >

    < head >

       < title > 用户注册 </ title >

    </ head >

    < body >

    SSH 整合 < br >< hr >

    < h3 > 用户注册 </ h3 >

       < html:form action = "/register" >

           用户名: < html:text property = "username" />< html:errors property = "username" />< br />

           &nbsp;&nbsp;&nbsp;&nbsp; 码: < html:text property = "password" />< html:errors property = "password" />< br />           

           < html:submit value = " 注册 " /> &nbsp;&nbsp;&nbsp;&nbsp; < html:reset value = " 重置 " />

       </ html:form >

    </ body >

</ html >

你可能感兴趣的:(spring,Hibernate,MyEclipse,struts,ssh)