日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

JSP+Hibernate入門級實例--留言系統

系統 2037 0

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

開發工具:MyEclipse+Mysql

目錄結構如下:

config(配置類)

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

constants(常量類)

?? Constants.java

dao(數據訪問類)
??
??? 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 (數據庫腳本)
?? 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;

/**?*/ /**
?*?系統配置信息類
?
*/

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

????
/**?*/ /**
?????*?構造函數
?????
*/

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


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

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


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

????
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實現
?
*/

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

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

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


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

JSP+Hibernate入門級實例--留言系統


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 苍南县| 江达县| 大化| 合作市| 漳平市| 开封市| 治县。| 佳木斯市| 原阳县| 建平县| 板桥市| 武穴市| 安平县| 文山县| 鲁山县| 定日县| 永泰县| 济宁市| 固安县| 温州市| 张家港市| 宝兴县| 太白县| 天津市| 庐江县| 阳新县| 夏邑县| 平度市| 滁州市| 武宁县| 密山市| 龙胜| 南川市| 五指山市| 玉山县| 元氏县| 广州市| 三门县| 延川县| 平泉县| 凤凰县|