黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

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

系統(tǒng) 2201 0

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

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

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

config(配置類)

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

constants(常量類)

?? Constants.java

dao(數(shù)據(jù)訪問(wèn)類)
??
??? 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ù)庫(kù)腳本)
?? 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();
????}


????
/**?*/ /**
?????*?增加一個(gè)BeanConfig對(duì)象
?????*?
@param ?bean
?????
*/

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


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

????
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實(shí)現(xiàn)
?
*/

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

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

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


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

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


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦?。?!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論