欧美三区_成人在线免费观看视频_欧美极品少妇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條評論
主站蜘蛛池模板: 精一区二区 | 青青国产在线视频 | 欧美成人18性 | 亚洲视频国产精品 | 色综合久久天天综合网 | 国产九九精品 | 精品免费在线视频 | 国产精品久久久久久久久久久搜索 | 欧美激情精品久久久久久变态 | 热久久久 | 日本理伦片午夜理伦片 | 国产操片| 欧美综合亚洲 | 日本在线国产 | 日韩精品久 | 波多野结衣在线免费播放 | 久草天堂 | 成人综合久久精品色婷婷 | 亚洲综合区 | 午夜社区| 青青久草在线 | 国产精品一区二区三区免费 | 日韩一区二区三区在线播放 | 国产精品人妻无码久久久郑州 | 魔法骑士在线观看免费完整版 | 国产99久久亚洲综合精品 | 婷婷色基地 | 日韩欧美亚洲视频 | 亚洲精品97福利在线 | 久久噜噜噜精品国产亚洲综合 | 在线观看91精品国产入口 | 免费观看欧美一级片 | 成人在线观看免费视频 | 亚洲久草 | 久久久精品网站 | 孕妇体内谢精满日本电影 | 亚洲欧美日韩中文字幕在线一区 | 久久综合偷拍 | 干片网 | 日韩精品在线一区 | 精品一区二区三区四区五区 |