package com.laoer.bbscs.bbs.business;
import com.laoer.bbscs.db.*;
import java.util.List;
import com.laoer.bbscs.exception.ObjectException;
import com.laoer.bbscs.exception.ObjectNoExistException;
import org.apache.log4j.*;
import java.sql.*;
import com.laoer.bbscs.sysinfo.*;
import org.apache.struts.upload.*;
import java.io.*;
import com.laoer.bbscs.util.*;
/**
* <p>Title: 天乙社区V5.0</p>
* <p>Description: BBS-CS天乙社区V5.0</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: laoer.com</p>
* @author 龚天乙
* @version 5.0
*/
public class DBForum
extends Forum
implements DBInf {
ResultSet rs = null;
String SQL = "";
static Logger logger = Logger.getLogger(DBForum.class.getName());
public DBForum() {
}
public int updatePost(TranContext aTranContext, String key) {
TranContext myDBTrans = null;
if (aTranContext == null) {
myDBTrans = new TranContext();
}
else {
myDBTrans = aTranContext;
}
try {
this.updateDB(myDBTrans, key);
return Sys.RESULT_RIGHT;
}
catch (ObjectException e) {
logger.error(e);
return Sys.RESULT_OBJECTEXCEPTION;
}
finally {
if (aTranContext == null && myDBTrans != null) {
myDBTrans.freeCon();
}
}
}
public int getPostNum(TranContext aTranContext, String key) {
String sSQL = "";
TranContext myDBTrans = null;
if (aTranContext == null) {
myDBTrans = new TranContext();
}
else {
myDBTrans = aTranContext;
}
try {
int total = 0;
if (key.equals("PostMainList")) {
sSQL = "select count(id) as total from " +
this.myForumInfo.getTablename() +
" where BoardID = ? and IsNew = 1 and DelSign = 0";
myDBTrans.prepareStatement(sSQL);
myDBTrans.setLong(1, this.myForumInfo.getBoardID());
}
if (key.equals("PostAllNum")) {
sSQL = "select count(id) as total from " +
this.myForumInfo.getTablename() +
" where BoardID = ? and DelSign = 0";
myDBTrans.prepareStatement(sSQL);
myDBTrans.setLong(1, this.myForumInfo.getBoardID());
}
if (key.equals("AllNum")) {
sSQL = "select count(id) as total from " +
this.myForumInfo.getTablename() + " where BoardID = ? ";
myDBTrans.prepareStatement(sSQL);
myDBTrans.setLong(1, this.myForumInfo.getBoardID());
}
if (key.equals("PostTopicList")) {
sSQL = "select count(id) as total from " +
this.myForumInfo.getTablename() +
" where BoardID = ? and ID2 = ? and DelSign = 0";
myDBTrans.prepareStatement(sSQL);
myDBTrans.setLong(1, this.myForumInfo.getBoardID());
myDBTrans.setLong(2, this.myForumInfo.getID2());
}
if (key.equals("PostManagerList")) {
sSQL = "select count(ID) as total from " +
this.myForumInfo.getTablename() +
" where BoardID = ? and DelSign = 0";
myDBTrans.prepareStatement(sSQL);
myDBTrans.setLong(1, this.myForumInfo.getBoardID());
}
if (key.equals("wastebox")) {
sSQL = "select count(ID) as total from " +
this.myForumInfo.getTablename() +
" where BoardID = ? and DelSign = 1";
myDBTrans.prepareStatement(sSQL);
myDBTrans.setLong(1, this.myForumInfo.getBoardID());
}
if (key.equals("search")) {
sSQL = "select count(ID) as total from " +
this.myForumInfo.getTablename() +
" where BoardID = ? and DelSign = 0 and " + this.getSearchCon() +
" like '%" + this.getSearchText() + "%' ";
myDBTrans.prepareStatement(sSQL);
myDBTrans.setLong(1, this.myForumInfo.getBoardID());
}
rs = myDBTrans.executeQuery();
if (rs.next()) {
total = rs.getInt("total");
}
return total;
}
catch (SQLException e) {
logger.error(e);
return Sys.RESULT_ZERO;
}
finally {
try {
if (rs != null) {
rs.close();
}
}
catch (SQLException e) {
}
try {
if (myDBTrans != null) {
myDBTrans.close();
}
}
catch (SQLException e) {
}
if (aTranContext == null && myDBTrans != null) {
myDBTrans.freeCon();
}
}
}
public List getPostList(TranContext aTranContext, String key) {
TranContext myDBTrans = null;
if (aTranContext == null) {
myDBTrans = new TranContext();
}
else {
myDBTrans = aTranContext;
}
try {
List alist = null;
alist = this.loadDBs(myDBTrans, key);
return alist;
}
catch (ObjectException e) {
logger.error(e);
return (List) Sys.RESULT_NULL;
}
finally {
if (aTranContext == null && myDBTrans != null) {
myDBTrans.freeCon();
}
}
}
public int getPost(TranContext aTranContext, String key, boolean isLoad) {
TranContext myDBTrans = null;
if (aTranContext == null) {
myDBTrans = new TranContext();
}
else {
myDBTrans = aTranContext;
}
try {
this.loadDB(myDBTrans, key, isLoad);
return Sys.RESULT_RIGHT;
}
catch (ObjectException e) {
logger.error(e);
return Sys.RESULT_OBJECTEXCEPTION;
}
catch (ObjectNoExistException e) {
return Sys.RESULT_OBJECTNOEXISTEXCEPTION;
}
finally {
if (aTranContext == null && myDBTrans != null) {
myDBTrans.freeCon();
}
}
}
public int createPost(TranContext aTranContext, String key) {
TranContext myDBTrans = null;
if (aTranContext == null) {
myDBTrans = new TranContext();
}
else {
myDBTrans = aTranContext;
}
try {
//保存帖子文件
String filename = "post_" + this.myForumInfo.getID2() + "_" +
this.myForumInfo.getBoardID() + "_" + this.myForumInfo.getID() + "_" +
this.myForumInfo.getPostTime() +
".html";
String filepath = Util.getForumPath(String.valueOf(this.myForumInfo.
getBoardID()), this.myForumInfo.getPostTime());
File file = new File(filepath + filename);
if (file.exists()) {
file.delete();
}
StringBuffer sb = new StringBuffer();
sb.append("<html><head><title>");
sb.append(this.myForumInfo.getTitle());
sb.append("</title><body>");
sb.append(this.myForumInfo.getDetail());
sb.append("</body></html>");
FileOutputStream wf = new FileOutputStream(filepath + filename);
//wf.write(sb.toString().getBytes("UTF8"));
if (Sys.isLocale()) {
wf.write(sb.toString().getBytes());
}
else {
wf.write(sb.toString().getBytes("UTF8"));
}
wf.close();
this.myForumInfo.setDetail(filename);
//存入数据库
this.insertDB(myDBTrans);
if (key.equals("new")) {
//处理版面信息
/*暂不处理版面信息
Boards myBoards = BoardsFactory.getInstance();
this.myBoardsInfo = this.myUserSessionCheck.getTheBoards();
this.myBoardsInfo.setLastPostID(this.myForumInfo.getID2());
this.myBoardsInfo.setLastPostTime(this.myForumInfo.getPostTime());
this.myBoardsInfo.setLastPostTitle(this.myForumInfo.getTitle());
this.myBoardsInfo.setLastPostUser(this.myForumInfo.getUserName());
this.myBoardsInfo.setLastPostUserID(this.myForumInfo.getUserID());
myBoards.setBoardsInfo(this.myBoardsInfo);
myBoards.updateBoards(myDBTrans, "PostMainNum");
myBoards.updateBoards(myDBTrans, "LastPost");*/
if (this.myForumInfo.getEmail_Info
没有合适的资源?快使用搜索试试~ 我知道了~
strut+spring+hibernate-bbs源代码
共336个文件
java:325个
txt:4个
properties:3个
3星 · 超过75%的资源 需积分: 3 18 下载量 149 浏览量
2010-03-10
15:27:56
上传
评论
收藏 498KB ZIP 举报
温馨提示
这是一个由strut+spring+hibernate框架组合写成的bbs源代码,bbs功能齐全,界面美观,是学习的好例子。
资源推荐
资源详情
资源评论
收起资源包目录
strut+spring+hibernate-bbs源代码 (336个子文件)
DBForum.java 46KB
HTMLParserTokenManager.java 36KB
StandardTokenizerTokenManager.java 36KB
DBBoards.java 24KB
DBUser.java 23KB
QueryParserTokenManager.java 21KB
QueryParser.java 21KB
MyCrypt.java 21KB
Util.java 20KB
DoPostAction.java 20KB
HTMLParser.java 19KB
DBCSS.java 18KB
PostAction.java 17KB
PorterStemmer.java 16KB
IndexWriter.java 15KB
IndexReader.java 13KB
MD5.java 13KB
DBUserPic.java 13KB
BoardsAction.java 12KB
DBGuestBook.java 12KB
GermanStemmer.java 12KB
DBElite.java 11KB
DBBoard.java 11KB
DBUserOnline.java 11KB
DBBulletin.java 11KB
FSDirectory.java 11KB
DocumentWriter.java 11KB
DBSubscibe.java 11KB
SegmentsReader.java 10KB
DBBookMark.java 10KB
DBBlackUser.java 10KB
DBFriend.java 10KB
SimpleCharStream.java 9KB
DBConnectionManager.java 9KB
ForumInfo.java 9KB
UserInfo.java 9KB
BoardsInfo.java 9KB
SegmentMerger.java 9KB
DBAdminUser.java 9KB
BookMarkAction.java 9KB
SysInfo.java 8KB
NoteAction.java 8KB
PostActionForm.java 8KB
SubscibeAction.java 8KB
SegmentReader.java 8KB
BoardsActionForm.java 8KB
TranContext.java 8KB
Entities.java 8KB
BoardAction.java 8KB
RAMDirectory.java 8KB
RangeQuery.java 8KB
RefineAction.java 8KB
WildcardTermEnum.java 8KB
TermInfosReader.java 7KB
DBUserDetail.java 7KB
Field.java 7KB
BooleanScorer.java 7KB
InputStream.java 7KB
Cache.java 7KB
MultiSearcher.java 7KB
IndexHTML.java 7KB
FriendAction.java 7KB
FuzzyTermEnum.java 7KB
BitVector.java 6KB
UserDetailActionForm.java 6KB
ParseException.java 6KB
MovePostAction.java 6KB
BoardSaveAction.java 6KB
PhraseQuery.java 6KB
Hits.java 6KB
SegmentTermEnum.java 6KB
ParseException.java 6KB
MultiFieldQueryParser.java 6KB
IndexSearcher.java 6KB
ParseException.java 6KB
TermInfosWriter.java 6KB
EliteAction.java 6KB
BooleanQuery.java 6KB
DateFilter.java 6KB
GermanAnalyzer.java 6KB
ForumPostAction.java 6KB
ShowMsg.java 6KB
MultiTermQuery.java 6KB
PostDelsAction.java 6KB
CssAction.java 6KB
UserSessionCheck.java 6KB
StandardTokenizer.java 5KB
Arrays.java 5KB
FastCharStream.java 5KB
FastCharStream.java 5KB
PriorityQueue.java 5KB
OutputStream.java 5KB
CssActionForm.java 5KB
FieldInfos.java 5KB
Document.java 5KB
FilteredTermEnum.java 5KB
Term.java 5KB
ManageAction.java 5KB
SegmentTermDocs.java 5KB
InAction.java 5KB
共 336 条
- 1
- 2
- 3
- 4
资源评论
- hapollo12012-09-30对于初学者,这个是个不错的网络入门资料!
06peng
- 粉丝: 23
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功