<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 4  文章 - 10  trackbacks - 0
    <2025年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(1)

    隨筆檔案

    文章分類

    文章檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    本示例是 Spring+Struts+Hibernate 整合來編寫一個用戶注冊的簡單示例 , 項目名稱為 mySSH, 示例中連接的數據庫為 MySQL, 使用前應在 MySQL 中創建一個數據庫 mySSH,mySSH 中創建數據庫表 user,SQL 語句如下 ,CREATE TABLE ‘user’(‘id’ VARCHAR(32)NOT MULL,’username’ VARCHAR(32) NOT NULL,’password’ VARCHAR(32) NOT NULL,PRIMARY KEY (‘id’))ENGINE=MYISAM; 示例的簡單代碼如下 :

     

    < > mySSH/WEB-INF 目錄下編寫 web.xml

     

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

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

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

    version = "2.4"

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

    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" >

     < servlet >

        < servlet-name > actionServlet </ servlet-name >

     < servlet-class > org.apache.struts.action.ActionServlet </ servlet-class >

        < init-param >

          < param-name > config </ param-name >

          < param-value > /WEB-INF/struts-config.xml </ param-value >

        </ init-param >

        < load-on-startup > 1 </ load-on-startup >

     </ servlet >

     < servlet-mapping >

        < servlet-name > actionServlet </ servlet-name >

        < url-pattern > *.do </ url-pattern >

     </ servlet-mapping >

    </ web-app >

     

    < > mySSH/WEB-INF/jsp 目錄下編寫用戶注冊頁面 regedit.jsp

     

    <%@ page contentType = "text/html;charset=GBK" %>

    < html >

    < head >< title > Spring,Struts Hibernate 整合實例 </ title ></ head >

    <%

       String msg=request.getAttribute( "msg" )== null ? "" :(String)request.getAttribute( "msg" );

    %>

    < body > <%= msg %>

       < form action = "/mySSH/regedit.do" method = "post" >

          用戶名 : < input type = "text" name = "name" value = "${user.username }"/><br>

          密碼 : < input type = "password" name = "password" value = "" />< br >

          < input type = "submit" name = "method" value = " 提交 " />

       </ form >

    </ body >

    </ html >

     

    < > mySSH/WEB-INF/jsp 目錄下編寫用戶注冊成功頁面 success.jsp

     

    <%@ page contentType = "text/html;charset=GBK" %>

    < html >

    < head >< title > Spring,Struts Hibernate 整合實例 </ title ></ head >

    < body >

        提交成功 : 你輸入的用戶名是 :${user.name }, 密碼是 :${user.password }

    </ body >

    </ html >

     

    < > com.gc.vo 包下編寫 POJO---User.java

     

    package com.gc.vo;

    public class User {

        private String id ;

        private String username ;

        private String password ;

        public User(String username,String password){

           this . username =username;

           this . password =password;

        }

        public User(){

          

        }

        public String getId() {

           return id ;

        }

        public void setId(String id) {

           this . id = id;

        }

        public String getPassword() {

           return password ;

        }

        public void setPassword(String password) {

           this . password = password;

        }

        public String getUsername() {

           return username ;

        }

        public void setUsername(String username) {

           this . username = username;

        }  

    }

     

    < > com.gc.vo 包下編寫映射文件 User.hbm.xml

     

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

    <! DOCTYPE hibernate-mapping PUBLIC

    "-//Hibernate/Hibernate Mapping DTD 2.0//EN"

    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >

    < hibernate-mapping >

       < class name = "com.gc.vo.User" table = "user" >

          < id name = "id" type = "java.lang.String" >

            < generator class = "uuid.hex" ></ generator >

          </ id >

          < property name = "username"

                    type = "java.lang.String"

                    column = "username"

                    not-null = "true"

                    length = "32" >

          </ property >

          < property name = "password"

                    type = "java.lang.String"

                    column = "password"

                    not-null = "true"

                    length = "32" >

          </ property >

       </ class >

    </ hibernate-mapping >

     

    < > com.gc.dao 包下編寫接口類 UserDAO.java

     

    package com.gc.dao;

    import com.gc.vo.*;

    public interface UserDAO {

        // 新增用戶

        public abstract void createUser(User user);

        // 修改用戶

        public abstract void updateUser(User user);

        // 刪除用戶

        public abstract void deleteUser(User user);

        // 查詢用戶

        public abstract User queryUser(String name);

    }

     

    < > com.gc.dao.impl 包下編寫接口類 UserDAO 的實現類 UserDAOImpl.java

     

    package com.gc.dao.impl;

    import com.gc.dao.UserDAO;

    import com.gc.vo.User;

    import java.util.ArrayList;

    import java.util.List;

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

    import org.springframework.orm.toplink.SessionFactory;

    public class UserDAOImpl extends HibernateDaoSupport implements UserDAO{

        // 依賴注入 SessionFactory

        private SessionFactory sessionFactory ;

        // 定義查詢 SQL 語氣

        private String SQL = "from user u where u.username=?" ;

        // 新增用戶

        public void createUser(User user){

           this .getHibernateTemplate().save(user);

        }

        // 修改用戶

        public void updateUser(User user){

           this .getHibernateTemplate().update(user);

        }

        // 刪除用戶

        public void deleteUser(User user){

           this .getHibernateTemplate().delete(user);

        }

        // 查詢用戶

        public User queryUser(String name){

           List userList;

           if ( this .getHibernateTemplate().find( SQL , name)== null )

               userList= new ArrayList();

           else

               userList= this .getHibernateTemplate().find( SQL , name);

           return (User)userList.get(0);

        }

    }

     

    < > mySSH/WEB-INF 目錄下編寫 Struts 的配置文件 struts-config.xml

     

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

    <! DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"

    "http://struts.apache.org/dtds/struts-config_1_2.dtd" >

    < struts-config >

     <!-- 定義 formBean -->

     < form-beans >

        < form-bean name = "user" type = "com.gc.vo.User" />

     </ form-beans >

     < action-mappings >

         < action path = "/regedit" type = "org.springframework.web.struts.DelegatingActionProxy" name = "user" >

             < forward name = "success" path = "WEB-INF/jsp/success.jsp" ></ forward >

            < forward name = "input" path = "WEB-INF/jsp/regedit.jsp" ></ forward >

         </ action >

         < action path = "/input" type = "org.apache.struts.actions.ForwardAction"

                 parameter = "/WEB-INF/jsp/regedit.jsp" >

         </ action >

     </ action-mappings >

     <!-- 注冊 Struts 插件 , Spring 相結合 -->

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

         < set-property property = "contextConfigLocation" value = "/WEB-INF/config.xml" />

        </ plug-in >

    </ struts-config >

     

    < > mySSH/WEB-INF 目錄下編寫 Spring 的配置文件 config.xml

     

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

    <! DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"

      "http://www.springframework.org/dtd/sring-beans.dtd" >

    < beans >

     < bean id = "regedit" class = "com.gc.service.impl.RegeditImpl" >

         < property name = "userDAO" >

            < ref local = "userDAO" />

         </ property >

     </ bean >

     < bean name = "/regedit" class = "com.gc.action.RegeditAction" >

          < property name = "regedit" >

             < ref bean = "regedit" />

          </ property >

     </ bean >

     < bean name = "/input" class = "com.gc.action.RegeditAction" >

         < property name = "regedit" >

            < ref bean = "regedit" />

         </ property >

     </ bean >

     <!-- 定義數據源 -->

     < bean id = "dataSource"

         class = "org.apache.commons.dbcp.BasicDataSource"

         destroy-method = "close" >

         <!-- 設定驅動 -->

         < property name = "driverClassName" >

            < value > com.mysql.jdbc.Driver </ value >

         </ property >

         <!-- 設定 URL -->

         < property name = "url" >

            < value > jdbc:mysql://localhost:3306/mySSH </ value >

         </ property >

         <!-- 設定用戶名 -->

         < property name = "username" >

            < value > tang </ value >

         </ property >

         <!-- 設定密碼 -->

         < property name = "password" >

            < value > admin </ value >

         </ property >  

     </ bean >

     <!-- Hibernate 聯系起來 -->

     < bean id = "sessionFactory"

         class = "org.springframework.orm.hibernate3.LocalSessionFactoryBean" >

         < property name = "dataSource" >

            < ref bean = "dataSource" />

         </ property >

         < property name = "mappingResources" >

            < list >

               < value > com\gc\vo\User.hbm.xml </ value >

            </ list >

         </ property >

         < property name = "hibernateProperties" >

            < props >

               < prop key = "hibernate.dialect" > org.hibernate.dialect.MySQLDialect </ prop >

               < prop key = "hibernate.show_sql" > true </ prop >

             </ props >

         </ property >

     </ bean >

     <!-- 進行事務處理 -->

     < bean id = "transactionManager"

         class = "org.springframework.orm.hibernate3.HibernateTransactionManager" >

         < property name = "sessionFactory" >

            < ref bean = "sessionFactory" />

         </ property >

     </ bean >

     <!-- 進行事務代理 -->

     < bean id = "userDAOProxy"

         class = "org.springframework.transaction.interceptor.TransactionProxyFactoryBean" >

         < property name = "transactionManager" >

            < ref bean = "transactionManager" />

         </ property >

         < property name = "target" >

            < ref local = "userDAO" />

         </ property >

     </ bean >

     < bean id = "userDAO" class = "com.gc.dao.impl.UserDAOImpl" >

         < property name = "sessionFactory" >

            < ref bean = "sessionFactory" />

         </ property >

     </ bean >

    </ beans >

     

    < > com.gc.action 包下編寫控制器 RegeditAction.java

     

    package com.gc.action;

    import com.gc.vo.User;

    import com.gc.service.Regedit;

    import javax.servlet.http.HttpServletRequest;

    import javax.servlet.http.HttpServletResponse;

    import org.apache.struts.action.Action;

    import org.apache.struts.action.ActionForm;

    import org.apache.struts.action.ActionForward;

    import org.apache.struts.action.ActionMapping;

    public class RegeditAction extends Action{

        private Regedit regedit ;

        // 依賴注入

        public Regedit getRegedit() {

           return regedit ;

        }

        public void setRegedit(Regedit regedit) {

           this . regedit = regedit;

        }

        public ActionForward execute(ActionMapping mapping,

               ActionForm form,HttpServletRequest request,

               HttpServletResponse response) throws Exception{

           // 保存頁面提交的用戶信息

           getRegedit().saveUser((User)form);

           request.setAttribute( "user" ,(User)form);

           return mapping.findForward( "success" );

        }

    }

     

    < 十一 > com.gc.service 包下編寫業務邏輯接口 Regedit.java

     

    package com.gc.service;

    import com.gc.vo.User;

    public interface Regedit {

        // 保存用戶

        public abstract void saveUser(User user);

    }

     

    < 十二 > com.gc.service 包下編寫具體的業務邏輯類 RegeditImpl.java

     

    package com.gc.service.impl;

    import com.gc.dao.UserDAO;

    import com.gc.service.Regedit;

    import com.gc.vo.User;

    public class RegeditImpl implements Regedit{

        private UserDAO userDao ;

        // 保存用戶

        public void saveUser(User user){

           userDao .createUser(user);

        }

        // 修改用戶

        public void updateUser(User user){

           userDao .updateUser(user);

        }

        // 修改用戶

        public void deleteUser(User user){

           userDao .deleteUser(user);

        }

        // 查詢用戶

        public User queryUser(String username){

           return userDao .queryUser(username);

        }

        // 依賴注入

        public UserDAO getUserDao() {

           return userDao ;

        }

        public void setUserDao(UserDAO userDao) {

           this . userDao = userDao;

        }

    }

     

    posted on 2007-08-21 10:28 冬天出走的豬 閱讀(499) 評論(0)  編輯  收藏 所屬分類: j2ee
    主站蜘蛛池模板: 亚洲av成人片在线观看| 亚洲经典在线观看| 羞羞漫画小舞被黄漫免费| 成人av免费电影| 亚洲AV无码一区二区三区牲色| 大学生a级毛片免费观看| 亚洲av成本人无码网站| 国产jizzjizz视频全部免费| 国内成人精品亚洲日本语音| 国内大片在线免费看| 亚洲AV无码专区在线观看成人| 亚洲免费观看视频| 亚洲人成色7777在线观看不卡| 1000部拍拍拍18免费网站| 日韩a级毛片免费观看| 久久夜色精品国产嚕嚕亚洲av| a级大片免费观看| 亚洲三级电影网站| 亚洲人成网站免费播放| 亚洲AⅤ男人的天堂在线观看| 日韩精品成人亚洲专区| 国产午夜精品理论片免费观看| 亚洲国产一区二区三区青草影视| 国产91色综合久久免费分享| 亚洲AV成人无码久久WWW| 色噜噜亚洲精品中文字幕| 日韩免费无码视频一区二区三区| 亚洲一本之道高清乱码| 五月婷婷亚洲综合| 四虎影视在线影院在线观看免费视频| 亚洲国产成人精品无码一区二区| 欧洲美熟女乱又伦免费视频 | 久久久久亚洲av无码尤物| 无码人妻精品中文字幕免费东京热| 亚洲日韩久久综合中文字幕| 亚洲一区二区三区国产精品| 中文字幕成人免费视频| 美女免费视频一区二区| 亚洲日韩图片专区第1页| 人人狠狠综合久久亚洲高清| 69av免费观看|