欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

JSP+Hibernate入門級實例--留言系統(tǒng)

系統(tǒng) 1807 0

????? 這是個用JSP+Hibernate編寫的非常簡單的留言系統(tǒng)例子,是個準三層結(jié)構(gòu)(因為為了節(jié)省時間著重介紹hibernate部分,省去的service層,轉(zhuǎn)而使用jsp頁面進行業(yè)務處理,但并不是在jsp頁面上過多的編寫java代碼,而是使用專門的jsp作為業(yè)務處理層)?

開發(fā)工具:MyEclipse+Mysql

目錄結(jié)構(gòu)如下:

config(配置類)

??? BeanConfig.java
??? MessageConfig.java

constants(常量類)

?? Constants.java

dao(數(shù)據(jù)訪問類)
??
??? hibernate
?????? ?MessageDAO.java
??????? UserDAO.java
??? IMessageDAO.java
? ? IUserDAO.java
???

exception(異常類)
??? MessageAuthorityException.java
??? MessageDAOException.java
??? MessageException.java

model(模型類)
??? Message.hbm.xml
????Message.java
??? User.hbm.xml
??? User.java

sql (數(shù)據(jù)庫腳本)
?? scrip.sql

util(工具類)
??? DaoFactory.java
??? HibernateDAO.java
??? HibernateFilter.java
??? HibernateUtil.java

?

BeanConfig.java

package ?cn.hxex.message.config;

import ?org.apache.commons.lang.builder.ReflectionToStringBuilder;

import ?cn.hxex.message.exception.MessageException;

public ? class ?BeanConfig?
... {
????
private ?String?id;
????
private ?String?type;

????
public ?String?getId()? ... {
????????
return ?id;
????}

????
public ? void ?setId(String?id)? ... {
????????
this .id? = ?id;
????}

????
????
public ?String?getType()? ... {
????????
return ?type;
????}

????
public ? void ?setType(String?type)? ... {
????????
this .type? = ?type;
????}
????
????
????
private ?Object?instance;
????
public ?Object?getInstance()?
????
... {
????????
if (? null != instance?)? return ?instance;
????????
????????
try
????????
... {
????????????Class?cls?
= ?Class.forName(?getType()?);
????????????instance?
= ?cls.newInstance();
????????????
return ?instance;
????????}

????????
catch (?Exception?ex?)
????????
... {
????????????
throw ? new ?MessageException(? " Couldn't?find?class: " ? + ?getType()?);
????????}

????}

????
????
public ?String?toString()
????
... {
????????
return ?ReflectionToStringBuilder.toString(? this ?);
????}

}

MessageConfig

package ?cn.hxex.message.config;

import ?java.util.Hashtable;

import ?org.apache.commons.lang.builder.ReflectionToStringBuilder;

import ?cn.hxex.message.exception.MessageException;

/**?*/ /**
?*?系統(tǒng)配置信息類
?
*/

public ? class ?MessageConfig
... {
????
public ? static ?Hashtable?beans;

????
/**?*/ /**
?????*?構(gòu)造函數(shù)
?????
*/

????
public ?MessageConfig()
????
... {
????????beans?
= ? new ?Hashtable();
????}


????
/**?*/ /**
?????*?增加一個BeanConfig對象
?????*?
@param ?bean
?????
*/

????
public ? void ?addBean(BeanConfig?bean)
????
... {
????????beans.put(bean.getId(),?bean);
????}


????
/**?*/ /**
?????*?得到一個DAO接口對象的實例
?????*?
@param ?name?DAO接口對象的名稱
?????*?
@return ?指定DAO接口的實現(xiàn)類的實例
?????
*/

????
public ?Object?getBean(String?name)
????
... {
????????BeanConfig?config?
= ?(BeanConfig)?beans.get(name);

????????
if ?(config? == ? null )
????????
... {
????????????
throw ? new ?MessageException( " Couldn't?find?the?bean:? " ? + ?name);
????????}


????????
return ?config.getInstance();
????}


????
public ?String?toString()
????
... {
????????
return ?ReflectionToStringBuilder.toString( this );
????}

}

Constants

package ?cn.hxex.message.constants;

public ? class ?Constants? ... {
????
public ? static ? final ?String?SESSION_USER? = ? " cn.hxex.message.user " ;
}

?

IMessageDAO

package ?cn.hxex.message.dao;

import ?java.util.List;

import ?cn.hxex.message.model.Message;

public ? interface ?IMessageDAO?
... {
????
public ? void ?saveMessage(?Message?message?);
????
public ? void ?updateMessage(?Message?message?);
????
public ?List?getMessages(?);
????
public ? void ?deleteMessage(?String?id,?String?userId?);
????
public ?Message?getMessage(?String?id?);
}

IUserDAO

?

package ?cn.hxex.message.dao;

import ?cn.hxex.message.model.User;

public ? interface ?IUserDAO?
... {
????
public ? void ?saveUser(?User?user?);
????
public ?User?getUser(?String?username?);
????
public ?User?getUserById(?String?id?);
}

?

MessageDAO

package ?cn.hxex.message.dao.hibernate;

import ?java.util.List;

import ?cn.hxex.message.dao.IMessageDAO;
import ?cn.hxex.message.exception.MessageDAOException;
import ?cn.hxex.message.model.Message;
import ?cn.hxex.message.util.HibernateDAO;

/**?*/ /**
?*?IMessageDAO接口的Hibernate實現(xiàn)
?
*/

public ? class ?MessageDAO? extends ?HibernateDAO? implements ?IMessageDAO
... {

????
/**?*/ /**
?????*?保存留言信息
?????*?
?????*?
@param ?message
?????*????????????被保存的留言對象
?????
*/

????
public ? void ?saveMessage(Message?message)
????
... {
????????
super .saveObject(message);
????}


????
/**?*/ /**
?????*?得到所有的留言信息
?????*?
?????*?
@return ?返回所有的

JSP+Hibernate入門級實例--留言系統(tǒng)


更多文章、技術(shù)交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日本一二三区视频 | 狠狠操夜夜操 | 国产视频观看 | www亚洲精品| 午夜在线观看cao | 一本一本久久α久久精品66 | 色综合久久久久久久久五月性色 | 亚洲成人福利网站 | 欧美偷拍自拍视频 | 91看片儿 | 久久久一区二区三区不卡 | 国产精品久久久久久久久免费相片 | 91精品久久久久久久久久 | 国产高清在线观看 | 99久久99久久 | 亚洲日韩中文字幕一区 | 欧美日韩视频在线播放 | 欧美日韩精品一区三区 | 国产精品免费播放 | 亚洲狠狠婷婷综合久久久久图片 | 欧美中文字幕一区二区三区亚洲 | 成人午夜精品久久久久久久小说 | 色婷婷综合久久久久中文一区二区 | 一区二区精品 | 五月婷婷丁香在线观看 | 国产一卡2卡三卡4卡免费网站 | 97日日摸天天碰免费视频 | 欧美日韩一区二区三区在线观看 | 亚洲白拍 | 天天草b| 日本高清一级片 | 国产精品亚洲va在线观看 | 国产高清在线观看 | 69久久国产精品热88人妻 | 日本阿v视频高清在线 | 午夜精品久久久久久久星辰影院 | 日本久久精品免视看国产成人 | 国产精品毛片久久久久久久 | 免费在线看a | 91精品国模一区二区三区 | 色婷婷综合久久久中字幕精品久久 |