WEB课程设计bbs论坛

合集下载

J2EE Web组件课程设计实训项目《BBS论坛系统》——构建系统持久层中的论坛信息管理的DAO组件(第2部分)

J2EE Web组件课程设计实训项目《BBS论坛系统》——构建系统持久层中的论坛信息管理的DAO组件(第2部分)

基于J2EE Web组件技术的课程设计实训项目——《BBS论坛系统》——构建系统持久层中的论坛信息管理的DAO组件(第2/2部分)6、添加论坛信息管理的DAO组件的BBSInfoManageDAOInterface接口的实现类BBSInfoManageDAOJDBCImple(1)包名称为com.px1987.webbbs.dao(2)编程BBSInfoManageDAOJDBCImple实现类中的功能实现方法package com.px1987.webbbs.dao;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import javax.sql.DataSource;import com.px1987.webbbs.exception.WebBBSException;public class BBSInfoManageDAOJDBCImple implements BBSInfoManageDAOInterface{ private DataSource dataSource=null;public void setDataSource(DataSource dataSource){this.dataSource = dataSource;}private java.sql.Connection con=null;ConnectDBInterface connectDBBean=null;public BBSInfoManageDAOJDBCImple() throws WebBBSException{// connectDBBean=new ConnectDBBean();// con=connectDBBean.getConnection();// con=dataSource.getConnection();}public boolean DeleteOneBBSInfo(int bbsID) throws WebBBSException { return false;}public boolean DeleteOneBBSReplyInfo(int replyID) throws WebBBSException { return false;}public boolean DeleteOneBBSTitleInfo(int bbsTitleID) throws WebBBSException{ return false;}public boolean DeleteOneRoleInfo(int roleID) throws WebBBSException { return false;}public boolean DeleteOneUserInfo(int userID) throws WebBBSException { return false;}public boolean InsertBBSInfo(BBSInfoPO oneBBSInfoPO) throws WebBBSException{ String insertSql="insert into BBS values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)";try{con=dataSource.getConnection();java.sql.PreparedStatement pstmt = con.prepareStatement(insertSql,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);pstmt.setInt(1,oneBBSInfoPO.getId());pstmt.setString(2,oneBBSInfoPO.getAuthor());pstmt.setString(3,oneBBSInfoPO.getTitle());pstmt.setInt(4,oneBBSInfoPO.getReplay());pstmt.setInt(5,oneBBSInfoPO.getHits());pstmt.setString(6,oneBBSInfoPO.getSendInfoTime());pstmt.setString(7,oneBBSInfoPO.getContent());pstmt.setShort(8,(short)oneBBSInfoPO.getMailto());pstmt.setString(9,oneBBSInfoPO.getAbstractText());pstmt.setString(10,oneBBSInfoPO.getLastUpdateTime());pstmt.setInt(11,oneBBSInfoPO.getBbsIconID());pstmt.setInt(12,oneBBSInfoPO.getBbsTypeID());pstmt.setInt(13,oneBBSInfoPO.getBbsTitleID());pstmt.setInt(14,oneBBSInfoPO.getUserID());pstmt.executeUpdate();}catch(SQLException e){throw new WebBBSException("在插入数据库表时出现错误!,异常的详细内容为:"+e.getMessage());}finally{try{con.close();}catch(SQLException e){throw new WebBBSException("不能正确地关闭数据库连接!,异常的详细内容为:"+e.getMessage());}}return true;}public ArrayList getSomeBbsTitleInfos(int titleCounter) throws WebBBSException{ResultSet rs=null;BBSTitlePO oneBBSTitlePO=null;String select_SqlStatement=null;ArrayList allBBSTitlePOArrayList=null;allBBSTitlePOArrayList=new ArrayList();select_SqlStatement="select * from BBSTitle limit "+0+","+titleCounter;try{con=dataSource.getConnection();java.sql.PreparedStatement pstmt =con.prepareStatement(select_SqlStatement,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs = pstmt.executeQuery();while(rs.next()){oneBBSTitlePO=new BBSTitlePO();oneBBSTitlePO.setId(rs.getInt("bbsTitleID"));oneBBSTitlePO.setBbsTitle(rs.getString("bbsTitle"));oneBBSTitlePO.setTitleLeaderName(rs.getString("titleLeaderName"));oneBBSTitlePO.setTotalTopicNumber(rs.getInt("totalTopicNumber"));oneBBSTitlePO.setTodayTopicNumber(rs.getInt("todayTopicNumber"));oneBBSTitlePO.setLastSendTime(rs.getString("lastSendTime"));oneBBSTitlePO.setLastTopicAuthor(rs.getString("lastTopicAuthor"));oneBBSTitlePO.setNewTopic(rs.getInt("newTopic"));oneBBSTitlePO.setTitleAbstractText(rs.getString("titleAbstractText"));oneBBSTitlePO.setUserID(rs.getInt("userID"));allBBSTitlePOArrayList.add(oneBBSTitlePO);}}catch(SQLException e){throw new WebBBSException("在查询数据库表时出现错误!,异常的详细内容为:"+e.getMessage());}finally{try{con.close();}catch(SQLException e){throw new WebBBSException("不能正确地关闭数据库连接!,异常的详细内容为:"+e.getMessage());}}return allBBSTitlePOArrayList;}public ArrayList getAllBbsTitleInfos() throws WebBBSException { ResultSet rs=null;BBSTitlePO oneBBSTitlePO=null;String select_SqlStatement=null;ArrayList allBBSTitlePOArrayList=null;allBBSTitlePOArrayList=new ArrayList();select_SqlStatement="select * from BBSTitle";try{con=dataSource.getConnection();java.sql.PreparedStatement pstmt =con.prepareStatement(select_SqlStatement,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs = pstmt.executeQuery();while(rs.next()){oneBBSTitlePO=new BBSTitlePO();oneBBSTitlePO.setId(rs.getInt("bbsTitleID"));oneBBSTitlePO.setBbsTitle(rs.getString("bbsTitle"));oneBBSTitlePO.setTitleLeaderName(rs.getString("titleLeaderName"));oneBBSTitlePO.setTotalTopicNumber(rs.getInt("totalTopicNumber"));oneBBSTitlePO.setTodayTopicNumber(rs.getInt("todayTopicNumber"));oneBBSTitlePO.setLastSendTime(rs.getString("lastSendTime"));oneBBSTitlePO.setLastTopicAuthor(rs.getString("lastTopicAuthor"));oneBBSTitlePO.setNewTopic(rs.getInt("newTopic"));oneBBSTitlePO.setTitleAbstractText(rs.getString("titleAbstractText"));oneBBSTitlePO.setUserID(rs.getInt("userID"));allBBSTitlePOArrayList.add(oneBBSTitlePO);}}catch(SQLException e){throw new WebBBSException("在查询数据库表时出现错误!,异常的详细内容为:"+e.getMessage());}finally{try{con.close();}catch(SQLException e){throw new WebBBSException("不能正确地关闭数据库连接!,异常的详细内容为:"+e.getMessage());}}return allBBSTitlePOArrayList;}public boolean InsertBBSReplyInfo(BBSReplyInfoPO oneBBSReplyInfo) throws WebBBSException {return false;}public boolean InsertBBSTitleInfo(BBSTitlePO oneBBSTitleInfo)throws WebBBSException {return false;}public boolean InsertRoleInfoInfo(RoleInfoPO oneRoleInfoInfo)throws WebBBSException {return false;}public List PageSelectDBData(String hqlSelect, int firstResult,int maxResults) throws WebBBSException {return null;}public BBSInfoPO SelectBBSInfoByBBSID(int bbsID) throws WebBBSException{ ResultSet rs=null;BBSInfoPO oneBBSInfoPO=null;String select_SqlStatement=null;select_SqlStatement="select * from BBS where bbsID=?";try{con=dataSource.getConnection();java.sql.PreparedStatement pstmt =con.prepareStatement(select_SqlStatement,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs = pstmt.executeQuery();pstmt.setInt(1, bbsID);rs.next();oneBBSInfoPO=new BBSInfoPO();oneBBSInfoPO.setId(rs.getInt("bbsID"));oneBBSInfoPO.setAuthor(rs.getString("author"));oneBBSInfoPO.setTitle(rs.getString("title"));oneBBSInfoPO.setReplay(rs.getInt("replay"));oneBBSInfoPO.setHits(rs.getInt("hits"));oneBBSInfoPO.setSendInfoTime(rs.getString("sendInfoTime"));oneBBSInfoPO.setContent(rs.getString("content"));oneBBSInfoPO.setMailto(rs.getInt("mailto"));oneBBSInfoPO.setAbstractText(rs.getString("abstract"));oneBBSInfoPO.setLastUpdateTime(rs.getString("lastUpdateTime"));oneBBSInfoPO.setBbsIconID(rs.getInt("bbsIconID"));oneBBSInfoPO.setBbsTitleID(rs.getInt("bbsTitleID"));oneBBSInfoPO.setUserID(rs.getInt("userID"));}catch(SQLException e){throw new WebBBSException("在查询数据库表时出现错误!,异常的详细内容为:"+e.getMessage());}finally{try{con.close();}catch(SQLException e){throw new WebBBSException("不能正确地关闭数据库连接!,异常的详细内容为:"+e.getMessage());}}return oneBBSInfoPO;}public ArrayList SelectBBSInfoByBBSHits(int bbsCounte) throws WebBBSException{ResultSet rs=null;BBSInfoPO oneBBSInfoPO=null;String select_SqlStatement=null;ArrayList allBBSInfoPOArrayList=null;allBBSInfoPOArrayList=new ArrayList();select_SqlStatement="select * from BBS order by hits desc limit "+0+","+bbsCounte;try{con=dataSource.getConnection();java.sql.PreparedStatement pstmt =con.prepareStatement(select_SqlStatement,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs = pstmt.executeQuery();while(rs.next()){oneBBSInfoPO=new BBSInfoPO();oneBBSInfoPO.setId(rs.getInt("bbsID"));oneBBSInfoPO.setAuthor(rs.getString("author"));oneBBSInfoPO.setTitle(rs.getString("title"));oneBBSInfoPO.setReplay(rs.getInt("replay"));oneBBSInfoPO.setHits(rs.getInt("hits"));oneBBSInfoPO.setSendInfoTime(rs.getString("sendInfoTime"));oneBBSInfoPO.setContent(rs.getString("content"));oneBBSInfoPO.setMailto(rs.getInt("mailto"));oneBBSInfoPO.setAbstractText(rs.getString("abstract"));oneBBSInfoPO.setLastUpdateTime(rs.getString("lastUpdateTime"));oneBBSInfoPO.setBbsIconID(rs.getInt("bbsIconID"));oneBBSInfoPO.setBbsTitleID(rs.getInt("bbsTitleID"));oneBBSInfoPO.setUserID(rs.getInt("userID"));allBBSInfoPOArrayList.add(oneBBSInfoPO);}}catch(SQLException e){throw new WebBBSException("在查询数据库表时出现错误!,异常的详细内容为:"+e.getMessage());}finally{try{con.close();}catch(SQLException e){throw new WebBBSException("不能正确地关闭数据库连接!,异常的详细内容为:"+e.getMessage());}}return allBBSInfoPOArrayList;}public ArrayList SelectBBSInfoByBBSHits() throws WebBBSException{ ResultSet rs=null;BBSInfoPO oneBBSInfoPO=null;String select_SqlStatement=null;ArrayList allBBSInfoPOArrayList=null;allBBSInfoPOArrayList=new ArrayList();select_SqlStatement="select * from BBS order by hits desc";try{con=dataSource.getConnection();java.sql.PreparedStatement pstmt =con.prepareStatement(select_SqlStatement,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs = pstmt.executeQuery();while(rs.next()){oneBBSInfoPO=new BBSInfoPO();oneBBSInfoPO.setId(rs.getInt("bbsID"));oneBBSInfoPO.setAuthor(rs.getString("author"));oneBBSInfoPO.setTitle(rs.getString("title"));oneBBSInfoPO.setReplay(rs.getInt("replay"));oneBBSInfoPO.setHits(rs.getInt("hits"));oneBBSInfoPO.setSendInfoTime(rs.getString("sendInfoTime"));oneBBSInfoPO.setContent(rs.getString("content"));oneBBSInfoPO.setMailto(rs.getInt("mailto"));oneBBSInfoPO.setAbstractText(rs.getString("abstract"));oneBBSInfoPO.setLastUpdateTime(rs.getString("lastUpdateTime"));oneBBSInfoPO.setBbsIconID(rs.getInt("bbsIconID"));oneBBSInfoPO.setBbsTitleID(rs.getInt("bbsTitleID"));oneBBSInfoPO.setUserID(rs.getInt("userID"));allBBSInfoPOArrayList.add(oneBBSInfoPO);}}catch(SQLException e){throw new WebBBSException("在查询数据库表时出现错误!,异常的详细内容为:"+e.getMessage());}finally{try{con.close();}catch(SQLException e){throw new WebBBSException("不能正确地关闭数据库连接!,异常的详细内容为:"+e.getMessage());}}return allBBSInfoPOArrayList;}public int getBBSInfoCounterBySendTime(String sendInfoTime) throws WebBBSException{String select_SqlStatement=null;ResultSet rs=null;int bbsInfoCounter;select_SqlStatement="select count(*) from BBS where sendInfoTime like '%" +sendInfoTime+"%'";try{con=dataSource.getConnection();java.sql.PreparedStatement pstmt =con.prepareStatement(select_SqlStatement,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs = pstmt.executeQuery();rs.next();bbsInfoCounter = rs.getInt(1);}catch(SQLException e){throw new WebBBSException("在查询数据库表时出现错误!,异常的详细内容为:"+e.getMessage());}finally{try{con.close();}catch(SQLException e){throw new WebBBSException("不能正确地关闭数据库连接!,异常的详细内容为:"+e.getMessage());}}return bbsInfoCounter;}public ArrayList SelectBBSInfoByBBSAuthor(String authorName) throws WebBBSException{ResultSet rs=null;BBSInfoPO oneBBSInfoPO=null;String select_SqlStatement=null;ArrayList allBBSInfoPOArrayList=null;allBBSInfoPOArrayList=new ArrayList();select_SqlStatement="select * from BBS where author like '%" +authorName+"%'";try{con=dataSource.getConnection();java.sql.PreparedStatement pstmt =con.prepareStatement(select_SqlStatement,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs = pstmt.executeQuery();while(rs.next()){oneBBSInfoPO=new BBSInfoPO();oneBBSInfoPO.setId(rs.getInt("bbsID"));oneBBSInfoPO.setAuthor(rs.getString("author"));oneBBSInfoPO.setTitle(rs.getString("title"));oneBBSInfoPO.setReplay(rs.getInt("replay"));oneBBSInfoPO.setHits(rs.getInt("hits"));oneBBSInfoPO.setSendInfoTime(rs.getString("sendInfoTime"));oneBBSInfoPO.setContent(rs.getString("content"));oneBBSInfoPO.setMailto(rs.getInt("mailto"));oneBBSInfoPO.setAbstractText(rs.getString("abstract"));oneBBSInfoPO.setLastUpdateTime(rs.getString("lastUpdateTime"));oneBBSInfoPO.setBbsIconID(rs.getInt("bbsIconID"));oneBBSInfoPO.setBbsTitleID(rs.getInt("bbsTitleID"));oneBBSInfoPO.setUserID(rs.getInt("userID"));allBBSInfoPOArrayList.add(oneBBSInfoPO);}}catch(SQLException e){throw new WebBBSException("在查询数据库表时出现错误!,异常的详细内容为:"+e.getMessage());}finally{try{con.close();}catch(SQLException e){throw new WebBBSException("不能正确地关闭数据库连接!,异常的详细内容为:"+e.getMessage());}}return allBBSInfoPOArrayList;}public ArrayList SelectBBSInfoByBBSTitle(String bbsTitleText) throws WebBBSException{ResultSet rs=null;BBSInfoPO oneBBSInfoPO=null;String select_SqlStatement=null;ArrayList allBBSInfoPOArrayList=null;allBBSInfoPOArrayList=new ArrayList();select_SqlStatement="select * from BBS where title like '%" +bbsTitleText+"%'";try{con=dataSource.getConnection();java.sql.PreparedStatement pstmt =con.prepareStatement(select_SqlStatement,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs = pstmt.executeQuery();while(rs.next()){oneBBSInfoPO=new BBSInfoPO();oneBBSInfoPO.setId(rs.getInt("bbsID"));oneBBSInfoPO.setAuthor(rs.getString("author"));oneBBSInfoPO.setTitle(rs.getString("title"));oneBBSInfoPO.setReplay(rs.getInt("replay"));oneBBSInfoPO.setHits(rs.getInt("hits"));oneBBSInfoPO.setSendInfoTime(rs.getString("sendInfoTime"));oneBBSInfoPO.setContent(rs.getString("content"));oneBBSInfoPO.setMailto(rs.getInt("mailto"));oneBBSInfoPO.setAbstractText(rs.getString("abstract"));oneBBSInfoPO.setLastUpdateTime(rs.getString("lastUpdateTime"));oneBBSInfoPO.setBbsIconID(rs.getInt("bbsIconID"));oneBBSInfoPO.setBbsTitleID(rs.getInt("bbsTitleID"));oneBBSInfoPO.setUserID(rs.getInt("userID"));allBBSInfoPOArrayList.add(oneBBSInfoPO);}}catch(SQLException e){throw new WebBBSException("在查询数据库表时出现错误!,异常的详细内容为:"+e.getMessage());}finally{try{con.close();}catch(SQLException e){throw new WebBBSException("不能正确地关闭数据库连接!,异常的详细内容为:"+e.getMessage());}}return allBBSInfoPOArrayList;}public ArrayList SelectBBSInfoByBBSSendInfoTime(String sendInfoTime) throws WebBBSException{ResultSet rs=null;BBSInfoPO oneBBSInfoPO=null;String select_SqlStatement=null;ArrayList allBBSInfoPOArrayList=null;allBBSInfoPOArrayList=new ArrayList();select_SqlStatement="select * from BBS where sendInfoTime like '%" +sendInfoTime+"%'";try{con=dataSource.getConnection();java.sql.PreparedStatement pstmt =con.prepareStatement(select_SqlStatement,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs = pstmt.executeQuery();while(rs.next()){oneBBSInfoPO=new BBSInfoPO();oneBBSInfoPO.setId(rs.getInt("bbsID"));oneBBSInfoPO.setAuthor(rs.getString("author"));oneBBSInfoPO.setTitle(rs.getString("title"));oneBBSInfoPO.setReplay(rs.getInt("replay"));oneBBSInfoPO.setHits(rs.getInt("hits"));oneBBSInfoPO.setSendInfoTime(rs.getString("sendInfoTime"));oneBBSInfoPO.setContent(rs.getString("content"));oneBBSInfoPO.setMailto(rs.getInt("mailto"));oneBBSInfoPO.setAbstractText(rs.getString("abstract"));oneBBSInfoPO.setLastUpdateTime(rs.getString("lastUpdateTime"));oneBBSInfoPO.setBbsIconID(rs.getInt("bbsIconID"));oneBBSInfoPO.setBbsTitleID(rs.getInt("bbsTitleID"));oneBBSInfoPO.setUserID(rs.getInt("userID"));allBBSInfoPOArrayList.add(oneBBSInfoPO);}}catch(SQLException e){throw new WebBBSException("在查询数据库表时出现错误!,异常的详细内容为:"+e.getMessage());}finally{try{con.close();}catch(SQLException e){throw new WebBBSException("不能正确地关闭数据库连接!,异常的详细内容为:"+e.getMessage());}}return allBBSInfoPOArrayList;}public ArrayList SelectBBSInfoByBBSTitleID(int bbsTitleID) throws WebBBSException {ResultSet rs=null;BBSInfoPO oneBBSInfoPO=null;String select_SqlStatement=null;ArrayList allBBSInfoPOArrayList=null;allBBSInfoPOArrayList=new ArrayList();select_SqlStatement="select * from BBS where bbsTitleID=?";try{con=dataSource.getConnection();java.sql.PreparedStatement pstmt =con.prepareStatement(select_SqlStatement,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);pstmt.setInt(1, bbsTitleID);rs = pstmt.executeQuery();while(rs.next()){oneBBSInfoPO=new BBSInfoPO();oneBBSInfoPO.setId(rs.getInt("bbsID"));oneBBSInfoPO.setAuthor(rs.getString("author"));oneBBSInfoPO.setTitle(rs.getString("title"));oneBBSInfoPO.setReplay(rs.getInt("replay"));oneBBSInfoPO.setHits(rs.getInt("hits"));oneBBSInfoPO.setSendInfoTime(rs.getString("sendInfoTime"));oneBBSInfoPO.setContent(rs.getString("content"));oneBBSInfoPO.setMailto(rs.getInt("mailto"));oneBBSInfoPO.setAbstractText(rs.getString("abstract"));oneBBSInfoPO.setLastUpdateTime(rs.getString("lastUpdateTime"));oneBBSInfoPO.setBbsIconID(rs.getInt("bbsIconID"));oneBBSInfoPO.setBbsTitleID(bbsTitleID);oneBBSInfoPO.setUserID(rs.getInt("userID"));allBBSInfoPOArrayList.add(oneBBSInfoPO);}}catch(SQLException e){throw new WebBBSException("在查询数据库表时出现错误!,异常的详细内容为:"+e.getMessage());}finally{try{con.close();}catch(SQLException e){throw new WebBBSException("不能正确地关闭数据库连接!,异常的详细内容为:"+e.getMessage());}}return allBBSInfoPOArrayList;}public ArrayList SelectBBSInfoByUserID(int userID) throws WebBBSException {return null;}public BBSTitlePO SelectBBSTitleByBBSTitleID(int bbsTitleID) throws WebBBSException{ResultSet rs=null;BBSTitlePO oneBBSTitlePO=null;String select_SqlStatement=null;select_SqlStatement="select * from BBSTitle where bbsTitleID=?";try{con=dataSource.getConnection();java.sql.PreparedStatement pstmt =con.prepareStatement(select_SqlStatement,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);pstmt.setInt(1, bbsTitleID);rs = pstmt.executeQuery();rs.next();oneBBSTitlePO=new BBSTitlePO();oneBBSTitlePO.setId(rs.getInt("bbsTitleID"));oneBBSTitlePO.setBbsTitle(rs.getString("bbsTitle"));oneBBSTitlePO.setTitleLeaderName(rs.getString("titleLeaderName"));oneBBSTitlePO.setTotalTopicNumber(rs.getInt("totalTopicNumber"));oneBBSTitlePO.setTodayTopicNumber(rs.getInt("todayTopicNumber"));oneBBSTitlePO.setLastSendTime(rs.getString("lastSendTime"));oneBBSTitlePO.setLastTopicAuthor(rs.getString("lastTopicAuthor"));oneBBSTitlePO.setNewTopic(rs.getInt("newTopic"));oneBBSTitlePO.setTitleAbstractText(rs.getString("titleAbstractText"));oneBBSTitlePO.setUserID(rs.getInt("userID"));}catch(SQLException e){throw new WebBBSException("在查询数据库表时出现错误!,异常的详细内容为:"+e.getMessage());}finally{try{con.close();}catch(SQLException e){throw new WebBBSException("不能正确地关闭数据库连接!,异常的详细内容为:"+e.getMessage());}}return oneBBSTitlePO;}public boolean UpdateBBSInfo(BBSInfoPO oneBBSInfoPO) throws WebBBSException{ return false;}public void UpdateBBSReplyCounterByBBSID(int bbsID) throws WebBBSException { }public void UpdateBBTitleCounterByBbsTitleID(int bbsTitleID,String bbsAuthor) throws WebBBSException {}public ArrayList getAllBbsReplyInfosByOneBBS() throws WebBBSException{ return null;}public int getBBSTitleInfoTotalCounter() throws WebBBSException{ String select_SqlStatement=null;ResultSet rs=null;int bbsTitleInfoTotalCounter;select_SqlStatement="select count(*) from BBSTitle";con=dataSource.getConnection();java.sql.PreparedStatement pstmt =con.prepareStatement(select_SqlStatement,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs = pstmt.executeQuery();rs.next();bbsTitleInfoTotalCounter = rs.getInt(1);}catch(SQLException e){throw new WebBBSException("在查询数据库表时出现错误!,异常的详细内容为:"+e.getMessage());}finally{try{con.close();}catch(SQLException e){throw new WebBBSException("不能正确地关闭数据库连接!,异常的详细内容为:"+e.getMessage());}}return bbsTitleInfoTotalCounter;}public int getBBSInfoTotalCounter() throws WebBBSException{String select_SqlStatement=null;ResultSet rs=null;int bbsInfoTotalCounter;select_SqlStatement="select count(*) from BBS";con=dataSource.getConnection();java.sql.PreparedStatement pstmt =con.prepareStatement(select_SqlStatement,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs = pstmt.executeQuery();rs.next();bbsInfoTotalCounter = rs.getInt(1);}catch(SQLException e){throw new WebBBSException("在查询数据库表时出现错误!,异常的详细内容为:"+e.getMessage());}finally{try{con.close();}catch(SQLException e){throw new WebBBSException("不能正确地关闭数据库连接!,异常的详细内容为:"+e.getMessage());}}return bbsInfoTotalCounter;}}7、处理系统中的异常信息。

bbs论坛管理系统课程设计

bbs论坛管理系统课程设计

bbs论坛管理系统课程设计一、课程目标知识目标:1. 学生能够理解BBS论坛的基本概念,掌握论坛管理系统的功能模块及其工作原理。

2. 学生能够学会使用数据库管理BBS论坛的用户信息、帖子内容及相关数据。

3. 学生能够掌握论坛安全防范措施,了解常见的网络攻击手段及其应对方法。

技能目标:1. 学生能够运用所学知识,设计并实现一个简单的BBS论坛管理系统。

2. 学生能够熟练使用编程语言和数据库技术,完成论坛系统的功能开发和数据处理。

3. 学生能够通过项目实践,提高团队协作和沟通能力,培养解决问题的能力。

情感态度价值观目标:1. 学生通过学习BBS论坛管理系统,培养对网络技术的兴趣,提高信息素养。

2. 学生在学习过程中,树立正确的网络安全意识,关注网络道德规范,遵守国家相关法律法规。

3. 学生能够通过课程学习,认识到团队协作的重要性,培养积极向上的学习态度。

课程性质:本课程为信息技术课程,结合实际项目案例,培养学生的动手操作能力和实际应用能力。

学生特点:初三学生具备一定的计算机操作基础,对网络技术有较高的兴趣,喜欢探索新知识。

教学要求:结合学生特点,注重理论与实践相结合,提高学生的实际操作能力和创新能力。

在教学过程中,关注学生的个体差异,鼓励学生积极参与,培养其独立思考和解决问题的能力。

通过本课程的学习,使学生能够将所学知识应用于实际生活,提高其信息技术素养。

二、教学内容1. BBS论坛概述- 论坛的发展历程- 论坛的基本功能与作用2. 论坛管理系统功能模块- 用户注册与登录模块- 帖子发布与浏览模块- 数据库设计与实现3. 论坛安全与管理- 常见网络攻击手段- 安全防范措施- 数据备份与恢复4. 编程语言与数据库技术- 使用PHP进行论坛系统开发- MySQL数据库的安装与使用- SQL语句编写与应用5. 项目实践与团队协作- 论坛系统功能设计与实现- 团队分工与协作- 项目进度管理与质量控制教学内容安排与进度:第一周:BBS论坛概述、论坛管理系统功能模块第二周:论坛安全与管理、编程语言与数据库技术第三周:项目实践与团队协作(论坛系统设计与开发)第四周:项目展示与总结本教学内容依据课程目标,结合课本知识,注重理论与实践相结合,旨在培养学生的实际操作能力和团队协作能力。

基于J2EE Web组件技术的课程设计实训项目——《BBS论坛系统》——实现表单中图形验证码的功能

基于J2EE Web组件技术的课程设计实训项目——《BBS论坛系统》——实现表单中图形验证码的功能
package com.px1987.webbbs.util; import java.awt.*; import java.awt.image.*; import java.util.*; import javax.imageio.*; public class VerifyCodeBean{
杨教授大学堂,版权所有,盗版必究。 1/9 页
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
Random random = null; int width, height; String randVerifyCode; public VerifyCodeBean() { width=60; height=20; randVerifyCode=""; random = new Random(); } public void setWidth(int newWidth) { width=newWidth; } public int getWidth(){ return width; } public void setHeight(int newHeight){ height=newHeight; } public int getHeight(){ return height; } Color getRandColor(int foregroundColor,int backgroundColor) { //给定范围获得随机颜色 if(foregroundColor>255) { foregroundColor=255; } if(backgroundColor>255) { backgroundColor=255; } int r=foregroundColor+random.nextInt(backgroundColor-foregroundColor);

bbs论坛管理系统课程设计

bbs论坛管理系统课程设计

bbs论坛管理系统课程设计一、课程目标知识目标:1. 让学生理解BBS论坛的基本概念、功能及管理系统的构成;2. 掌握BBS论坛管理系统的基本操作,如用户注册、发帖、回帖、管理帖子等;3. 了解BBS论坛管理系统的安全性和稳定性,认识网络安全的重要性。

技能目标:1. 培养学生运用所学知识进行BBS论坛管理系统操作的能力;2. 培养学生分析、解决BBS论坛管理过程中遇到的问题的能力;3. 提高学生的团队协作能力和沟通能力,能够在项目实践中发挥积极作用。

情感态度价值观目标:1. 培养学生对BBS论坛管理系统的兴趣,激发学习动力;2. 培养学生遵守网络道德规范,尊重他人意见,文明上网的良好习惯;3. 增强学生的网络安全意识,树立正确的价值观。

课程性质:本课程为信息技术课程,旨在通过BBS论坛管理系统教学,提高学生的信息技术素养和实际操作能力。

学生特点:六年级学生已具备一定的信息技术基础,对网络论坛有一定的了解,好奇心强,喜欢探索新知识。

教学要求:结合学生特点,注重理论与实践相结合,强调实际操作,培养学生在项目实践中的团队协作能力和解决问题的能力。

通过本课程的学习,使学生能够达到上述课程目标,为后续信息技术课程学习奠定基础。

二、教学内容1. BBS论坛概述:介绍BBS论坛的发展历程、功能特点及其在信息交流中的作用。

教材章节:第一章 BBS论坛概述2. BBS论坛管理系统操作:学习用户注册、登录、发帖、回帖、管理帖子等基本操作。

教材章节:第二章 BBS论坛管理系统操作3. BBS论坛安全与稳定性:讲解网络安全的重要性,认识常见的网络攻击手段及防范措施。

教材章节:第三章 BBS论坛安全与稳定性4. 网络道德与法律法规:学习网络道德规范,了解相关法律法规,提高网络安全意识。

教材章节:第四章 网络道德与法律法规5. 项目实践:分组进行BBS论坛管理系统项目实践,培养学生团队协作能力和解决问题的能力。

教材章节:第五章 项目实践教学内容安排与进度:第一周:BBS论坛概述第二周:BBS论坛管理系统操作第三周:BBS论坛安全与稳定性第四周:网络道德与法律法规第五周:项目实践(含成果展示与评价)教学内容确保科学性和系统性,结合课程目标,注重培养学生的实际操作能力和团队协作能力。

基于Javaweb技术的BBS论坛的设计报告(可编辑)

基于Javaweb技术的BBS论坛的设计报告(可编辑)

基于Javaweb技术的BBS论坛的设计报告(可编辑)基于Javaweb技术的BBS论坛的设计报告基于Javaweb技术的BBS论坛的设计摘要人类已进入21世纪,科学技术突飞猛进,经济知识和信息产业初见端倪,特别是信息技术和网络技术的迅速发展和广泛应用,对社会的政治、经济、军事、文化等领域的产生越来越深刻。

为了方便信息的交流,在结合JSP和Javabean技术之下开发了这个快捷、界面友好的交流系统,实现了一个功能相对齐全的论坛系统,游客可以自由地提出问题和帮助他人解决问题,或者交流经验。

本论文叙述到的BBS论坛系统是用JSP+Javabean+MySQL数据库实现的。

重点介绍了BBS论坛系统的实现过程:包括系统分析、功能设计、数据库设计和系统实现等。

本系统主要功能有用户管理和帖子管理,包括功能需求描述,数据库设计等内容。

1. 系统的概述1.1 总体概述进入二十一世纪,计算机技术迅速向着网络化、集成化方向发展。

传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息(多媒体)的新一代网络版应用软件,而目前网络版软件中似乎存在着两种不同的趋势,一种是称为客户端―服务器的C/S结构,这类软件具有结构严谨,运行效率高,服务器端压力小,安全性好等优点,被广泛运用于局域网中。

而另一种,也是本毕业设计所采用的,是称为浏览器―服务器的B/S结构,它的特点是在客户端直接采用了功能强大的浏览器软件作为界面,其优点在于软件开发效率高,客户端不受操作平台的限制、也不受地域的限制,网络传输量少,即适用于局域网,更适用于Internet,而且投资小、见效快,用户可以不必进行服务器方面的投资,而是去租用,甚至是免费使用服务器资源,因而受到越来越多中小型单位的青睐。

互联网正在融入我们的生活,网络提供给我们的不只是一个获取信息的来源,而且还是一个可以相互交流的空间,网上论坛正是一种供人们进行交流的网络空间响和改变着我们的生活。

bbs论坛课程设计代码

bbs论坛课程设计代码

bbs论坛课程设计代码一、教学目标本课程的教学目标是使学生掌握BBS论坛的基本知识,能够使用BBS论坛进行交流和讨论,培养学生运用信息技术进行信息交流和协作学习的能力。

知识目标:了解BBS论坛的基本概念、发展历程和分类;掌握BBS论坛的使用方法,包括注册、登录、发帖、回帖等;了解BBS论坛的管理和维护方法。

技能目标:能够熟练使用BBS论坛进行信息交流和讨论;能够对BBS论坛进行基本的维护和管理。

情感态度价值观目标:培养学生对信息技术的学习兴趣,提高学生运用信息技术解决实际问题的能力;培养学生良好的信息道德观念,使学生在使用BBS论坛时能够遵守论坛规则,尊重他人,维护良好的网络环境。

二、教学内容本课程的教学内容主要包括BBS论坛的基本概念、发展历程和分类;BBS论坛的使用方法,包括注册、登录、发帖、回帖等;BBS论坛的管理和维护方法。

教学大纲如下:1.BBS论坛的基本概念、发展历程和分类1.1 BBS论坛的定义1.2 BBS论坛的发展历程1.3 BBS论坛的分类2.BBS论坛的使用方法2.1 注册和登录2.2 发帖和回帖2.3 论坛的个人设置3.BBS论坛的管理和维护方法3.1 论坛的管理3.2 论坛的维护三、教学方法本课程采用讲授法、讨论法、案例分析法等多种教学方法,以激发学生的学习兴趣和主动性。

1.讲授法:通过讲解BBS论坛的基本概念、使用方法和管理维护方法,使学生掌握相关知识。

2.讨论法:学生进行小组讨论,分享在BBS论坛上的交流经验和问题解决方法,培养学生运用信息技术进行协作学习的能力。

3.案例分析法:通过分析典型的BBS论坛案例,使学生了解BBS论坛在实际应用中的优势和不足,提高学生对BBS论坛的认识。

四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。

1.教材:选用正规出版的BBS论坛相关教材,为学生提供系统、科学的学习材料。

2.参考书:推荐学生阅读与BBS论坛相关的书籍,丰富学生的知识储备。

课程设计--BBS论坛建设

课程设计--BBS论坛建设

课程设计报告2013-2014学年度第二学期题目:BBS论坛建设摘要 (3)一、BBS论坛的开发环境和技术 (5)1、BBS论坛建设的目标 (5)2、 概述 (5)3、c#语言介绍 (6)4、 访问数据库技术 (8)5、系统运行环境 (10)二、BBS论坛功能设计 (10)1. 个人中心管理系统 (10)2. 后台管理子系统 (11)三、数据库链接逻辑关系设计 (11)1、数据库各表结构 (11)2、论坛系统流程图 (15)3、论坛系统数据库设计整体E-R图 (16)4、数据库表的关系图 (18)四、BBS论坛系统的开发实现 (19)1、前台功能 (19)2、后台功能 (23)五、总结 (27)论坛系统BBS(Bulletin Board System电子公告牌系统)是互联网上一种人与人之间交流的必备工具。

论坛系统是互联网上的一种应用服务模式,通过这种服务,互联网用户可以在上面浏览到其他用户发表的各种主题、文章、问题等内容,并且用户可以在上面针对某个具体的内容即时地发表自己的观点、看法、议论等,或者直接发表自己的文章、问题、图片或其它内容。

由于BBS的这种特点,全球的用户都可以随时随地地进行交流,从而真正的做到全球信息的交流。

在Internet的发展中论坛的作用将是无法替代的。

本系统的设计的是一个学校计算机学习论坛。

它是基于HTML 语言,并且采用C#语言作为后台的编程语言,Microsoft visual studio .NET 2008作为开发工具,以IIS为服务平台,实现了网络平台的构建,技术实现了动态网页的制作,以确保系统的安全保密,且易于维护。

而后台的数据库则采用了SQL Server管理整个系统的后台数据。

本系统的一个重要特点是界面友好,操作简单。

关键词:网上论坛;;C#;SQL Server 2005BBS project design and developmentAbstract: BBS (Bulletin Board System) is a kind of indispensable tool exchanged between people on line. BBS is a kind of application service mode of Internet. By it, Internet users can browse contents such as various themes, articles, questions that other users issued. And users can also view of the above specific contents to reply their immediate answers, views, comments, or to directly write their own articles, issues, pictures or other contents. Because of this kind of character, users of the whole world can exchange their views whenever and wherever, thus achieve real global information exchange. The function of the BBS can't be substituted in the development of Internet.The design of this system is a BBS about computer-campus learning. It is based on the language of HTML, and uses c# language as the backstage programming language, and uses the Microsoft visual studio. NET 2005 as a development tool, uses IIS as a sever platform, which has realized the construction of the network platform. It’s ensured that the system is safe and easy to maintain of making of the dynamic webpage of using the technology. The backstage database has used the SQL Server to manage the backstage data of the whole system. An important characteristic of this system is that the interface is friendly, and easy to use.Key words: BBS;;C#;SQL Server 2005一、BBS论坛的开发环境和技术1、BBS论坛建设的目标应课程任务的要求,在特定期限内,实现设计并建设BBS论坛,为在校老师和学生创建一个学习、娱乐、交流的平台,实现会员注册、登录、发帖、回帖、投票等功能2、 概述A 不仅仅是Active Server Page(ASP)的升级版本,它具有统一的Web开发平台,用来提供生成企业级Web应用程序所需的服务。

java web课程设计——newbbs——安葳

java web课程设计——newbbs——安葳

东北大学秦皇岛分校Java Web期末设计报告NEWBBS网络论坛系统的开发学院数学与统计学院专业信息与计算科学学号5123119姓名董安葳指导教师李峰1 绪论1.1 课题的背景如今网络应用已经深入到千家万户,人人都希望通过互联网与地球村的村民交流。

所以,互联网应用的发展一日千里,无数优秀的互联网应用如涌泉般迸发出来。

笔者也要赶上时代的潮流,响应时代的召唤,在互联网应用的开发方向进行深入的学习和研究。

贴吧,是当今时代非常流行的社交平台。

自从其诞生以来,就收到了好评。

如今最大的贴吧平台“百度贴吧”,已经积累了大量的用户,成为人们生活中不可离开的一部分。

网络改变了生活,网络应用丰富了生活。

本人在学习了Java Web这门课程后,希望通过制作一个网站,检验自己学习的成果。

所以本人仿照百度贴吧的功能和界面,利用MVC模式制作了一个NEWBBS论坛系统,功能基本和百度贴吧类似。

1.2 主要技术概述本网站前端利用DIV+CSS+JavaScript制作界面和前台和表单项目检查功能,用到了Dreamweaver、FrontPage两种网页制作工具。

后端应用MVC模式,用Myeclipse编程工具分别实现各个模块的功能,用MySQL建立的数据库。

该网站代码量较大,总代码行数达到了7981行,除了界面的少量代码由FrontPage和Dreamweaver自动生成的以外,其余的代码全部是自己敲出来的。

由于时间有限,本人将全身心花在了10多个功能的实现上。

对于界面,确实很朴素,艺术性不强,希望老师谅解。

1.3 需求分析贴吧是基于网络的一种服务。

数据库储存在服务器中,客户机通过网页服务器通信实现对数据库的有限访问和修改,实现用户创建账户、创建贴吧、查看贴吧、搜索贴吧、发布帖子、查看帖子、搜索帖子、评论帖子和维护自己的个人信息、查看吧友个人信息的功能。

同时,为了便于贴吧工作人员对整个贴吧和数据库的维护,有必要单独设计一款用于管理人员操作的超级客户端,用于管理人员对整个吧和帖的维护以及对用户群的维护。

BBS论坛系统课程设计报告

BBS论坛系统课程设计报告

目录一系统功能概述 (1)1.1需求分析 (1)1.2系统功能分析 (1)1.2.2用户功能模块 (1)二数据库设计 (2)三系统功能设计 (3)3.1 系统功能模块设计 (3)3.2 系统功能模块介绍 (4)3.3 BBS论坛系统的内容 (5)四系统功能实现 (5)4.1 通用模块介绍 (5)4.2 用户控件介绍 (6)4.3 前台功能界面 (7)4.3.1 用户相关操作 (7)4.3.2帖子相关操作 (8)五心得体会 (10)六参考资料 (11)BBS论坛系统一系统功能概述1.1需求分析论坛也称为BBS是Bulletin Board System的简称。

意思是电子公告版,它主要给浏览者提供沟通的平台。

随着网上用户的普及,开发网上社区服务系统,可为网友提供方便实用的网上服务及人们之间更好的交流沟通途径.。

本系统分为管理员用户和注册用户,论坛新用户可以注册信息。

注册用户登陆后,可以查看论坛的帖子信息并且回帖;如果不是注册用户不可回复帖子。

可以查询用户信息和其他人所发的帖子,同时也可以回复发表自己的见解,但是非注册用户不可以发表帖子;管理员则可以对此系统进行定期更新维护:查看论坛用户发表的新帖,也可查看大家对一些新帖的不同见解,用时如果哪个新帖或回复含有有损大家的友谊的言论,管理员则可将此贴删除并且可以删除已经注册的用户。

此系统将为网友提供交流的平台,同时也促使人们相互之间更好的交流与沟通。

1.2系统功能分析系统开发的总体任务是实现各种信息的系统化、规范化和自动化。

系统功能分析是在系统开发的总体任务的基础上完成。

本系统的功能主要有:1.2.2用户功能模块可分为发帖,浏览帖子,回复帖子。

(1)发帖:为已注册的用户提供发帖功能,输入内容和题目而非注册用户即游客则不能使用此功能。

在发贴时,要把数据提交到添加贴是页面。

添加贴的页面不但要把获取的信息保存到数据库中,还要通过JavaBean取得当前时间作为发帖时间一起存到数据库中。

基于J2EE Web组件技术的课程设计实训项目——《BBS论坛系统》——设置Web应用中的缺省的首页面

基于J2EE Web组件技术的课程设计实训项目——《BBS论坛系统》——设置Web应用中的缺省的首页面

基于J2EE Web组件技术的课程设计实训项目——《BBS论坛系统》——设置Web应用中的缺省的首页面1.1.1设置Web应用中的缺省的首页面1、设计系统的缺省首页(1)设计两个文件index.html、index.htm其内容都相同。

注意下面的黑体的内容,实际跳转到系统中的真正的首页中。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><meta http-equiv="refresh" content="0;url='/WebBBS/pageForwordAction?action=showIndexContent'"><meta name="keywords" content="BBS论坛"><meta name="description" content="中科院计算所培训中心成立于1987年,已经有20年培训经历。

培训中心从普及与发展全国IT技术人才的迫切需要出发,以建立中国最优秀的专业培训机构为目标,借鉴世界著名培训企业的成功办学经验,积极致力于国民经济各个领域的建设"><title>中科院计算所培训中心BBS论坛</title></head><body style="font-family: 宋体; font-size: 9pt"><p>正在加载主页面,请等待....<br></p></body></html>(2)再设计另一个index.jsp文件其内容与前面的文件相同,但多了一个<%@ page contentType="text/html;charset=gb2312" %>指令。

J2EE Web组件课程设计——BBS论坛系统项目完整实现实例(在项目中应用在线编辑器组件)

J2EE Web组件课程设计——BBS论坛系统项目完整实现实例(在项目中应用在线编辑器组件)

var editor = null;
function initEditor() {
// create an editor for the "ta" textbox editor = new HTMLArea("bbsMessage"); 致!
//此名称应该与后面的 TextArea 的 id 名称一
_editor_url = "./";
_editor_lang = "en";
</script>
<script type="text/javascript" src="htmlarea.js"></script>
<script type="text/javascript">
杨教授工作室,版权所有2 ,盗版必究, 2/17 页
document.getElementById("content").value=bbsMessageHTMLText; 3、BBS 发表的 sendBBSInfo.jsp 页面的完整代码
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page errorPage="../errorDeal/showSystemError.jsp" %>
2、所应该注意的问题 (1)表单的名称应该为 form
杨教授工作室,版权所有1 ,盗版必究, 1/17 页
杨教授工作室 Leabharlann 心创作的优秀程序员 职业提升必读系列资料

bbs论坛系统课程设计

bbs论坛系统课程设计

滨江学院课程设计报告学年学期2011-2012学年第一学期课程名称数据库系统课程设计院系计算机系专业软件工程2008级学号***********姓名童琛指导教师刘生二O一一年十二月三十日一.需求分析1.功能需求:开发bbs论坛系统是为了提供用户一个交流的平台,为广大用户提供交流经验,探讨问题的社区。

既然是一个以用户主导的系统,首先我们将用户划分为三类,游客,一般用户和管理员。

具体用户功能实现如下:游客:只能浏览板块和别人发布的帖子。

一般用户:可以浏览回复别人的帖子,也可自己发布新帖,修改自己的帖子和自己的评论。

浏览方式可使通过板块浏览也可以搜索自己发布的所有帖子。

管理员:管理员能够实现最多的功能,一般用户的功能他都具有,管理员还能创建,删除板块,删除别人的非法帖子,删除用户,删除评论,设置加精置顶帖等功能。

2.系统需求:我们将本论坛系统根据上面的功能需求划分为几个功能块。

登陆模块:该模块用于用户的注册和登陆认证,通过对登陆用户对象的authority属性来给用户返回相应的节目。

浏览帖子模块:用户通过点击自己感兴趣的论坛板块,在里面可以看到该板块里面用户所发布的帖子主题。

帖子详细内容板块:用户通过点击帖子的标题,进入查看帖子的详细内容,也可以看到其他用户对于该帖子的评论和回复。

如果是普通用户的话,也可以对该帖子直接进行回复。

发布和修改帖子模块:用户通过登陆认证后,可以在该板块中发布新帖。

至于帖子的修改功能也是集成到该模块中的,如果要修改帖子,系统先将要修改的帖子加载进来,然后用户在里面修改,修改完之后再重新发布。

管理员模块:该模块主要实现管理员的功能,实现删除帖子,删除评论,删除用户,创建板块删除板块等日常管理维护管理功能。

二.系统概念结构设计1用户e-r图2.3.评论e-r图4.板块e-r图5.实体e-r图三.系统逻辑结构设计1.登陆模块设计2.浏览帖子模块设计3.发布帖子模块4.管理员模块管理员登陆板块管理用户管理帖子管理创建和删除板块删除用户删除帖子四.界面设计1.登录界面主要代码:<s:form action="Login.action" method="post"><s:textfield name="username" label="用户名"></s:textfield><s:password name="pwd" label="密码"></s:password><s:submit value="登陆"></s:submit><s:hidden name="type" value="addUser"></s:hidden><a href="register.jsp">注册</a></s:form><table border=1><%User user=new User();session.setAttribute("user",user);Cateqoryimpl cq = new Cateqoryimpl();List<Cateqory> cateqorys = cq.queryAllCateqory();List<String> cateqorynames=new ArrayList();Iterator<Cateqory> it = cateqorys.iterator();int counts = 0;int left = 0;int right = 0;while (it.hasNext()) {counts++;Cateqory cat = null;cat = it.next();cateqorynames.add(cat.getCateqoryname());if ((counts % 3) == 1) {left++;out.print("<tr>");}out.print("<td>");%><ahref="CateqoryShow?type=show&cateqoryid=<%=cat.getCateqoryid()%>"><%=cat.getCateqory name()%></a><%out.print("</td>");if ((counts %3) == 0) {right++;out.print("</tr>");}}%><%session.setAttribute("cateqorynames",cateqorynames);%>2.注册界面主要代码:<s:form action="register"><s:textfield name="username" label="用户名"></s:textfield><s:password name="pwd" label="密码"></s:password><s:password name="repwd" label="密码确认"></s:password><s:radio list="#{1:'男',0:'女'}" name="sex" label="性别"></s:radio><s:textfield name="email" label="E-mail"> </s:textfield><s:hidden name="type" value="addUser"></s:hidden><s:submit value="提交"></s:submit></s:form>3.管理员界面主要代码:<%User user=(User)session.getAttribute("user");%>欢迎<%=user.getUsername()%>登陆<a href='register?type=queeryAll'>用户管理</a><a href="CateqoryShow?type=controlinit">板块管理</a><a href="UserArticle?userid=<%=user.getUserid()%>&type="queeryAll"">我的帖子</a> <a href="addArticle.jsp">发新帖</a><table border=1><%Cateqoryimpl cq = new Cateqoryimpl();List<Cateqory> cateqorys = cq.queryAllCateqory();Iterator<Cateqory> it = cateqorys.iterator();int counts = 0;int left = 0;int right = 0;while (it.hasNext()) {counts++;Cateqory cat = null;cat = it.next();if ((counts % 3) == 1) {left++;out.print("<tr>");}out.print("<td>");%><ahref="CateqoryShow.action?type=show&cateqoryid=<%=cat.getCateqoryid()%>"><%=cat.getCa teqoryname()%></a><%out.print("</td>");if ((counts % 3) == 0) {right++;out.print("</tr>");}}if (right < left) {out.print("</tr>");}%></table>4.发布帖子:主要代码:<s:form action="UserArticle"><s:textfield name="articlename" label="主题" cols="50"></s:textfield><s:select list="#session.cateqorynames" name="cateqoryname" label="板块"></s:select> <s:textarea name="article" label="内容" cols="50" rows="15"></s:textarea><s:hidden name="type" value="addArticle"></s:hidden><s:submit value="提交"></s:submit></s:form>5.管理员管理帖子:<%User user = (User) session.getAttribute("user");%><h1><s:property value="cat.cateqoryname"/></h1><table><tr><td>主題</td><td>日期</td><td>作者</td><%if (user.getAuthority() == 1) {%><td>操作</td><%}%></tr><s:iterator value="articles" id="art"><tr><td><s:if test="%{#art.leavel==3}"><font color="red">置顶</font></s:if><s:if test="%{#art.leavel==2}"><font color="yellow">精</font></s:if><a href='contentshow.action?articleid=<s:property value="articleid"/>'><s:property value="articlename"/></a></td><td ><s:property value="publishtime"/></td><td ><s:property value="userid"/></td><%if (user.getAuthority() == 1) {%><td><a href='UserArticle?type=deletebysup&articleid=<s:property value="articleid"/>'>删除</a><s:if test="%{#art.leavel==3}"><a href='UserArticle?type=setleavel&leavel=0&articleid=<s:property value="articleid"/>'>取消置顶</a></s:if><s:if test="%{#art.leavel==2}"><a href='UserArticle?type=setleavel&leavel=0&articleid=<s:property value="articleid"/>'>取消精华</a></s:if><s:if test="%{#art.leavel==0}"><a href='UserArticle?type=setleavel&leavel=2&articleid=<s:property value="articleid"/>'>加精</a><a href='UserArticle?type=setleavel&leavel=3&articleid=<s:property value="articleid"/>'>置顶</a></s:if></td><%}%></tr></s:iterator></table>以上是一些主要的页面,还有一些页面就不一一贴出了,一共有11张界面五.数据库表结构创建的SQL语句代码Comments表:用于存放文章回复的信息CREATE TABLE `comments` (`commentsid` int(8) NOT NULL AUTO_INCREMENT,`articleid` int(8) DEFAULT NULL,`comments` varchar(255) DEFAULT NULL,`publishtime` date DEFAULT NULL,PRIMARY KEY (`commentsid`),KEY `articleid` (`articleid`),CONSTRAINT `comments_ibfk_1` FOREIGN KEY (`articleid`) REFERENCES `article` (`articleid`) ON DELETE CASCADE)User表:用来存放用户信息CREATE TABLE `user` (`userid` int(8) NOT NULL AUTO_INCREMENT,`username` varchar(20) DEFAULT NULL,`pwd` varchar(20) DEFAULT NULL,`authority` int(1) DEFAULT '3',`email` varchar(20) DEFAULT NULL,`sex` int(1) DEFAULT NULL,`registertimer` date DEFAULT NULL,PRIMARY KEY (`userid`))Article表:帖子表主要用来存放帖子信息CREATE TABLE `article` (`userid` int(8) DEFAULT NULL,`articleid` int(8) NOT NULL AUTO_INCREMENT,`article` varchar(255) DEFAULT NULL,`articlename` varchar(20) DEFAULT NULL,`publishtime` date DEFAULT NULL,`cateqoryid` int(8) DEFAULT NULL,PRIMARY KEY (`articleid`),KEY `userid` (`userid`),KEY `cateqoryid` (`cateqoryid`),CONSTRAINT `article_ibfk_1` FOREIGN KEY (`userid`) REFERENCES `user` (`userid`) ON DELETE CASCADE,CONSTRAINT `article_ibfk_2` FOREIGN KEY (`cateqoryid`) REFERENCES `cateqory` (`cateqoryid`))Category表:用来存放板块信息CREATE TABLE `cateqory` (`cateqoryid` int(8) NOT NULL AUTO_INCREMENT,`userid` int(8) DEFAULT NULL,`cateqoryname` varchar(20) DEFAULT NULL,PRIMARY KEY (`cateqoryid`),KEY `userid` (`userid`),CONSTRAINT `cateqory_ibfk_1` FOREIGN KEY (`userid`) REFERENCES `user` (`userid`)六.设计小结通过本系统的设计,是我能够熟练的将数据库知识运用到系统开发中。

J2EE Web组件课程设计——BBS论坛系统项目完整实现实例(控制层中的BBSInfo相关功能类)

J2EE Web组件课程设计——BBS论坛系统项目完整实现实例(控制层中的BBSInfo相关功能类)
杨教授工作室,版权所3有,盗版必究, 3/9 页
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
oneRequestDispatcher=request.getRequestDispatcher("/errorDeal/showWebAppError.jsp");
oneRequestDispatcher.forward(request, response);
(2)设置其 URL-pattern 为/bbsManagerAction
杨教授工作室,版权所1有,盗版必究, 1/9 页
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
(3)编程该 Servlet 组件 package com.px1987.webbbs.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.springframework.context.ApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; import com.px1987.webbbs.model.*; import com.px1987.webbbs.exception.*; import java.util.*; public class BBSManageAction extends HttpServlet {

J2EE Web组件课程设计——BBS论坛系统项目完整实现实例(持久层中的BBSInfo相关功能类——第1部分)

J2EE Web组件课程设计——BBS论坛系统项目完整实现实例(持久层中的BBSInfo相关功能类——第1部分)

1.1BBS论坛系统项目完整实现实例(持久层中的BBSInfo相关功能类——第1部分)1.1.1构建项目中的BBS信息相关的DAO组件中的PO类1、BBSInfoPO类(1)类名称为BBSInfoPO,包名称为com.px1987.webbbs.dao(2)在该BBSInfoPO类中添加下面的个属性private String author;private String title;private int replay;private int hits;private String sendInfoTime;private Clob content;private int mailto;private Clob abstractText;private String lastUpdateTime; private int bbsIconID;private int bbsTypeID;private int bbsTitleID;private int userID;private Integer id;(3)为上面的各个属性提供get/set方法(4)最后为下面的状态内容package com.px1987.webbbs.dao; import java.sql.*;import java.util.*;public class BBSInfoPO{private String author;private String title;private int replay;private int hits;private String sendInfoTime;private Clob content;private int mailto;private Clob abstractText;private String lastUpdateTime;private int bbsIconID;private int bbsTypeID;private int bbsTitleID;private int userID;private Integer id;public BBSInfoPO() {}public Clob getAbstractText() {return abstractText;}public void setAbstractText(Clob abstractText) { this.abstractText = abstractText;}public String getAuthor() {return author;}public void setAuthor(String author) {this.author = author;}public int getBbsIconID() {return bbsIconID;}public void setBbsIconID(int bbsIconID) { this.bbsIconID = bbsIconID;}public int getBbsTitleID() {return bbsTitleID;}public void setBbsTitleID(int bbsTitleID) { this.bbsTitleID = bbsTitleID;}public int getBbsTypeID() {return bbsTypeID;}public void setBbsTypeID(int bbsTypeID) { this.bbsTypeID = bbsTypeID;}public Clob getContent() {return content;}public void setContent(Clob content) { this.content = content;}public int getHits() {return hits;}public void setHits(int hits) {this.hits = hits;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getLastUpdateTime() {return lastUpdateTime;}public void setLastUpdateTime(String lastUpdateTime) { stUpdateTime = lastUpdateTime;}public int getMailto() {return mailto;}public void setMailto(int mailto) {this.mailto = mailto;}public int getReplay() {return replay;}public void setReplay(int replay) {this.replay = replay;}public String getSendInfoTime() {return sendInfoTime;}public void setSendInfoTime(String sendInfoTime) { this.sendInfoTime = sendInfoTime;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public int getUserID() {return userID;}public void setUserID(int userID) {erID = userID;}public boolean equals(Object other){if (this == other){return true;}if (! (other instanceof BBSInfoPO)){return false;}return true;}private Set bbsReplyInfos = new HashSet();public Set getBbsReplyInfos() {return bbsReplyInfos;}public void setBbsReplyInfos(Set bbsReplyInfos) {this.bbsReplyInfos = bbsReplyInfos;}public ArrayList getBbsReplyInfosByBBS(){ //利用该方法可以获得该分类下的所有BBS信息ArrayList allBbsReplyInfosByOneBBS=null;allBbsReplyInfosByOneBBS=new ArrayList();java.util.Iterator allBBSReplyInfoItemIterator = getBbsReplyInfos().iterator();while(allBBSReplyInfoItemIterator.hasNext()){BBSReplyInfoPOoneBBSReplyInfo=(BBSReplyInfoPO)allBBSReplyInfoItemIterator.next();allBbsReplyInfosByOneBBS.add(oneBBSReplyInfo);}return allBbsReplyInfosByOneBBS;}}2、BBSTitlePO类(1)类名称为BBSTitlePO,包名称为com.px1987.webbbs.dao(2)在该BBSTitlePO类中添加下面的个属性private Integer id;private String bbsTitle;private String titleLeaderName;private int totalTopicNumber;private int todayTopicNumber;private String lastSendTime;private String lastTopicAuthor;private int newTopic;private String titleAbstractText;private int userID;(3)为上面的各个属性提供get/set方法(4)最后为下面的状态内容package com.px1987.webbbs.dao;import java.util.*;public class BBSTitlePO{private Integer id;private String bbsTitle;private String titleLeaderName;private int totalTopicNumber;private int todayTopicNumber;private String lastSendTime;private String lastTopicAuthor;private int newTopic;private String titleAbstractText;private int userID;public BBSTitlePO() {}public String getBbsTitle() {return bbsTitle;}public void setBbsTitle(String bbsTitle) {this.bbsTitle = bbsTitle;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getLastSendTime() {return lastSendTime;}public void setLastSendTime(String lastSendTime) { stSendTime = lastSendTime;}public String getLastTopicAuthor() {return lastTopicAuthor;}public void setLastTopicAuthor(String lastTopicAuthor) { stTopicAuthor = lastTopicAuthor;}public int getNewTopic() {return newTopic;}public void setNewTopic(int newTopic) {this.newTopic = newTopic;}public String getTitleAbstractText() {return titleAbstractText;}public void setTitleAbstractText(String titleAbstractText) { this.titleAbstractText = titleAbstractText;}public String getTitleLeaderName() {return titleLeaderName;}public void setTitleLeaderName(String titleLeaderName) { this.titleLeaderName = titleLeaderName;}public int getTodayTopicNumber() {return todayTopicNumber;}public void setTodayTopicNumber(int todayTopicNumber) { this.todayTopicNumber = todayTopicNumber;}public int getTotalTopicNumber() {return totalTopicNumber;}public void setTotalTopicNumber(int totalTopicNumber) { this.totalTopicNumber = totalTopicNumber;}public int getUserID() {return userID;}public void setUserID(int userID) {erID = userID;}public boolean equals(Object other){if (this == other) {return true;}if (! (other instanceof BBSTitlePO)) {return false;}return true;}private Set bbsInfos = new HashSet();public Set getBbsInfos() {return bbsInfos;}public void setBbsInfos(Set bbsInfos) {this.bbsInfos = bbsInfos;}public ArrayList getBBSInfoSByBBSTitle(){ //利用该方法可以获得该分类下的所有BBS信息ArrayList allBBSInfosByOneBBSTitle=null;allBBSInfosByOneBBSTitle=new ArrayList();java.util.Iterator allBBSInfoItemIterator = getBbsInfos().iterator(); while(allBBSInfoItemIterator.hasNext()){BBSInfoPO oneBBSInfo=(BBSInfoPO)allBBSInfoItemIterator.next();allBBSInfosByOneBBSTitle.add(oneBBSInfo);}return allBBSInfosByOneBBSTitle;}}3、BBSReplyInfoPO类(1)类名称为BBSReplyInfoPO,包名称为com.px1987.webbbs.dao(2)在该BBSReplyInfoPO类中添加下面的个属性private Integer id;private int bbsID;private String author;private String content;private String replytime;private String abstractText;private String replyTitle;private int bbsReplyIconID; (3)为上面的各个属性提供get/set方法(4)最后为下面的状态内容package com.px1987.webbbs.dao; import java.sql.*;public class BBSReplyInfoPO{private Integer id;private int bbsID;private String author;private String content;private String replytime;private String abstractText;private String replyTitle;private int bbsReplyIconID;public BBSReplyInfoPO() {}public String getAbstractText() {return abstractText;}public void setAbstractText(String abstractText) { this.abstractText = abstractText;}public String getAuthor() {return author;}public void setAuthor(String author) {this.author = author;}public int getBbsID() {return bbsID;}public void setBbsID(int bbsID) {this.bbsID = bbsID;}public int getBbsReplyIconID() {return bbsReplyIconID;}public void setBbsReplyIconID(int bbsReplyIconID) { this.bbsReplyIconID = bbsReplyIconID;}public String getContent() {return content;}public void setContent(String content) { this.content = content;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getReplytime() {return replytime;}public void setReplytime(String replytime) { this.replytime = replytime;}public String getReplyTitle() {return replyTitle;}public void setReplyTitle(String replyTitle) { this.replyTitle = replyTitle;}public boolean equals(Object other){if (this == other) {return true;}if (! (other instanceof BBSReplyInfoPO)) { return false;}return true;}}4、RoleInfoPO类(1)类名称为RoleInfoPO,包名称为com.px1987.webbbs.dao(2)在该RoleInfoPO类中添加下面的个属性private Integer id;private String roleName;private int sendMessage;private int updateMessage;private int updateUserInfo;private int userID;(3)为上面的各个属性提供get/set方法(4)最后为下面的状态内容package com.px1987.webbbs.dao; public class RoleInfoPO {private Integer id;private String roleName;private int sendMessage;private int updateMessage;private int updateUserInfo;private int userID;public RoleInfoPO() {}public Integer getId() {return id;}public void setId(Integer id) { this.id = id;}public String getRoleName() {return roleName;}public void setRoleName(String roleName) { this.roleName = roleName;}public int getSendMessage() {return sendMessage;}public void setSendMessage(int sendMessage) { this.sendMessage = sendMessage;}public int getUpdateMessage() {return updateMessage;}public void setUpdateMessage(int updateMessage) { this.updateMessage = updateMessage;}public int getUpdateUserInfo() {return updateUserInfo;}public void setUpdateUserInfo(int updateUserInfo) { this.updateUserInfo = updateUserInfo;}public int getUserID() {return userID;}public void setUserID(int userID) {erID = userID;}public boolean equals(Object other){if (this == other) {return true;}if (! (other instanceof RoleInfoPO)) { return false;}return true;}}1.1.2构建项目中的BBS信息相关的DAO组件接口1、BBSInfoManageDAOInterface接口(1)包名称为com.px1987.webbbs.dao(2)设计BBSInfoManageDAOInterface接口中的相关方法package com.px1987.webbbs.dao;import java.util.*;import com.px1987.webbbs.dao.*;import com.px1987.webbbs.exception.WebBBSException;public interface BBSInfoManageDAOInterface{public boolean DeleteOneBBSInfo(int bbsID) throws WebBBSException;public boolean DeleteOneUserInfo(int userID) throws WebBBSException;public boolean DeleteOneBBSReplyInfo(int replyID) throws WebBBSException;public boolean DeleteOneBBSTitleInfo(int bbsTitleID) throws WebBBSException;public boolean DeleteOneRoleInfo(int roleID) throws WebBBSException;public boolean InsertBBSInfo(BBSInfoPO oneBBSInfo) throws WebBBSException;public boolean InsertBBSReplyInfo(BBSReplyInfoPO oneBBSReplyInfo) throws WebBBSException;public boolean InsertBBSTitleInfo(BBSTitlePO oneBBSTitleInfo) throws WebBBSException;public boolean InsertRoleInfoInfo(RoleInfoPO oneRoleInfoInfo) throws WebBBSException;public ArrayList SelectBBSInfoByUserID(int userID) throws WebBBSException;public int getTotalCounterInTable(String hqlSelect) throws WebBBSException;public List PageSelectDBData(String hqlSelect, int firstResult, int maxResults) throws WebBBSException;public ArrayList SelectBBSInfoByBBSTitleID(int bbsTitleID) throws WebBBSException;public BBSInfoPO SelectBBSInfoByBBSID(int bbsID) throws WebBBSException;public boolean UpdateBBSInfo(BBSInfoPO oneBBSInfoPO) throws WebBBSException;public void UpdateBBSReplyCounterByBBSID(int bbsID) throws WebBBSException;public void UpdateBBTitleCounterByBbsTitleID(int bbsTitleID,String bbsAuthor) throws WebBBSException;public ArrayList getAllBbsReplyInfosByOneBBS();public BBSTitlePO SelectBBSTitleByBBSTitleID(int bbsTitleID) throws WebBBSException;}。

BBS论坛的设计与实现资料

BBS论坛的设计与实现资料

BBS论坛的设计与实现摘要:当今,信息传播速度非常快,并且信息交流的形式更多的体现为以人为本,在互联网的新时代,信息是由每个人贡献出来的,各个人共同组成互联网信息源,每个人即是信息的管理者也是信息的传播者,而为了更好的进行信息交流,产生了各种基于信息交互的论坛,开发论坛的目的主要是借助网络先进的技术实现对某一个问题进行交流和探讨。

本文设计的BBS论坛,采用ASP+Access和B/S模式,客户端只需要通过浏览器就能够访问论坛网页,确保服务器的安全。

论坛功能较齐全,在这里可以自由地发表自己的观点和对论坛的主题发表意见,还可以对网友的问题及时地解决,获取对自己有用的知识。

该论坛可以直接嵌入到某些单位的网站中直接使用,也可以为BBS论坛开发者提供一些参考依据。

关键词:BBS论坛;网站开发;ASP目录一、绪论 (3)(一)BBS的发展背景 (3)(二)BBS的研究意义 (4)二、相关技术概述 (4)(一) 3。

5 的简介 (4)(二)ADO简介 (5)(三)Access数据库 (5)三、需求分析 (6)(一)BBS论坛的开发环境需求 (6)(二)BBS论坛的功能需求 (6)四、BBS论坛详细设计 (7)(一)论坛整体模块设计 (7)(二)系统数据库设计 (8)五、BBS论坛的实现 (10)(一)用户模块界面的实现 (10)(二)帖子模块的实现 (12)(三)后台管理模块的实现 (14)六、总结 (15)参考文献 (17)一、绪论(一)BBS的发展背景Bulletin Board System 即电子公告板,BBS 的最早功能是用来公布股市行情等信息,不能完成文件的传输,并且只能在苹果电脑上运行。

1978 年在美国芝加哥开发出最早的一套BBS 系统,之后开发出基于苹果机的Bulletin Board System 和大众信息系统(People,s Message System)2 种BBS 系统,当时个人计算机诞生时,并没有基于个人计算机的BBS 系统,直到1983 年Buss Lane 用Basic 语言改写出了基于个人计算机系统的BBS,经Thomas Mach 努力完成了个人计算机的第 1 版BBS 系统——RBBS-PC,由于此套系统的源程序全部公开,因此后来开发的其他的BBS 系统时都以此为框架,使得RBBS-PCBBS 赢得了鼻祖的美称。

BBS论坛系统课程设计报告

BBS论坛系统课程设计报告

目录第1章开发背景 (1)1.1开发背景 (1)1.2问题陈述表 (1)第2章系统分析 (2)2.1 需求分析 (2)2.1.1需求分析 (2)2.1.2 用例图和用例描述 (2)2.1.3 系统上下文 (2)2.2 可行性分析 (2)2.2.1 引言 (2)2.2.2 可行性研究的前提 (3)2.2.3 投资及效益分析 (3)2.2.4 结论 (3)2.3编写项目计划书 (3)2.3.1 引言 (3)2.3.2 概述 (3)2.3.3 项目开发体制 (3)2.3.4. 项目开发进度表 (4)第3章系统设计 (5)3.1系统目标 (5)3.2系统功能结构 (5)3.3 系统流程图 (5)3.4系统数据流图 (5)3.4.1 系统数据流图 (5)3.4.2 功能数据流图 (6)3.5 系统开发环境 (6)3.6页面概要设计 (6)第4章数据库设计 (7)4.1 数据库分析 (7)4.2数据库概念设计 (7)4.3数据库逻辑设计 (7)第5章系统详细设计 (10)致谢 (11)参考文献 (12)第1章开发背景1.1开发背景随着Internet技术的快速发展,人与人之间交流的方式逐渐增多。

网络视频,网络聊天已经成为人们彼此沟通、交流信息的主要方式。

此外,为了方便人们在某一专业领域探讨问题和发表意见,Internet上还出现了在线论坛。

在论坛上,人们可以对某一领域提出自己遇到的问题,随后,论坛上的其他人会根据自己的学识,经验发表意见或提出解决问题的方法。

开发BBS论坛系统的目的是提供一个供编程者交流的平台,为广大编程者提供交流经验、探讨问题的社区。

1.2问题陈述表问题陈述表的作用是对项目开发过程中所遇到的问题进行分析和陈述,并提供了解决办法。

详见附录一。

第2章系统分析2.1 需求分析2.1.1需求分析BBS论坛最基本的功能首先是发表主题,其次是其他人员根据主题发表自己的看法。

此外,为了记录主题的发表者和主题的回复者信息,系统还需要提供用户注册和登录的功能。

web课程设计网络论坛系统

web课程设计网络论坛系统

设计总说明 (3)系统分析与设计 (4)一、需求分析 (4)二、功能设计 (4)三、数据库设计 (4)系统实现 (7)一、论坛浏览 (7)二、用户使用 (12)三、管理员使用 (17)心得体会 (20)参考文献 (20)设计总说明一、课程设计的意义:作为《web程序设计》课程的延伸,在学生完成了《web程序设计》课程的理论学习后,安排的课程设计,旨在提高学生web程序开发水平,培养学生网络编程的能力。

二、设计内容设计一个网络论坛系统。

三、设计要求系统功能:1、注册新用户:新用户填写注册表单,包括用户姓名、密码、联系方式等信息;如果输入用户名已被注册过,系统提示用户更改自己的用户名。

2、用户登录:输入用户名和密码;若用户输入有误,系统将提示错误。

3、用户发表帖子;成功登录的用户可以发表帖子。

4、浏览帖子:成功登录的用户可以浏览其他用户发布的帖子。

5、用户注册信息修改:用户可以修改自己的注册信息。

6、用户退出登录:成功登录的用户可以使用该功能退出论坛系统。

系统分析与设计一、需求分析开发一个论坛系统,首先需要确定论坛的功能是什么,也就是用户想要的论坛所能做的工作。

用户使用论坛是按照一定得流程来进行的:用户注册登录进入论坛,就某个话题展开讨论,通过发帖功能发布新的话题,通过回帖的功能回复已有的话题,通过搜索查找已有的话题;管理员要管理论坛,系统需要具有的功能管理注册的用户,管理帖子。

这样的流程就决定了论坛所应具有的功能,路摊流程图如下:通过上面的分析,总结论坛的功能有以下几项:论坛版块列表;浏览帖子;发帖回帖;搜索帖子;删除帖子;用户注册;用户登录;控制用户权限;修改注册信息;管理用户。

论坛一般存在两种用户,注册用户和管理员。

用户的权限是向下覆盖的,即上级权限包含下级权限,管理员的权限是上级权限。

论坛系统的用户浏览信息功能,是用户讨论问题的平台,发帖、浏览。

回帖一直贯穿用户的整个活动。

同时又有论坛系统的帖子管理是管理员在帖子浏览时进行的,只是一般用户没有权限做这些动作。

BBS小型论坛设计

BBS小型论坛设计

BBS小型论坛设计BBS小型论坛系统课程综合实验报告课程名称动态网页设计与网站建设课题名称 BBS小型论坛专业计算机应用技术姓名赵子源班级文专计1211学号 201290609126指导教师姜远明2014年 6月 18日BBS小型论坛系统摘要当今,随着网络的迅速发展,制作BBS论坛的技术和方法也越来越多。

本文主要讲述利用Java Web的相关技术来制作一个简单论坛。

通过实际制作,实现了BBS 论坛系统应有的一些基本功能,如:登陆功能,通过在登陆界面输入用户名和密码来实现会员的登录,用户只有登录成功了才能进行一系列的操作;注册功能,用户首次登陆,需要先注册,注册时需要用户填写个人信息;找回密码功能,当用户忘记密码时可以通过此功能找回密码,找回密码时需要用户记得注册时填写的个人信息。

除此之外,还有浏览帖子、发表帖子、回复贴子以及删除帖子等等功能。

制作本论坛所用的前台软件是MyEclipse,后台数据库是MySQL,运行时所用的服务器是Tomcat,综合运用了HTML、JSP以及JavaScript语言。

关键词:BBS 论坛; JSP 技术; 登陆;注册; 找回密码;浏览贴子; 发表帖子; 回复贴子; 删除帖子BBS小型论坛系统目录一、概论……………………………………………………………………………………(错误~未定义书签。

)(一)、BBS历史背景..............................................................................(1) (二)、BBS制作目的..............................................................................(1) (三)、BBS制作的可行性........................................................................(1) (四)、BBS制作的局限性........................................................................(2) 二、相关软件、技术介绍及开发环境的选择 (2)) (一)、开发环境介绍..............................................................................(2(二)、JDK1.6的简单介绍........................................................................(3) (三)、MyEclipse6.5软件的简单介绍.........................................................(3) (四)、MySQL 数据库的简单介绍...............................................................(3) (五)、JSP(Java Server Pages) 网页设计技术介绍....................................(3) (六)、Tomcat5.5服务器介绍 (4)三、应用需求分析....................................................................................(4) (一)、用户登录和注册功能.....................................................................(4) (二)、用户找回密码功能........................................................................(5) (三)、用户帖子的浏览 (5)1、帖子的总览 (6)2、查看特定帖的详细信息.....................................................................(6) (四)、用户帖子的发布/删除功能 (6)1、帖子的发布 (6)2、帖子的删除....................................................................................(7) (五)、用户回复他人帖子........................................................................(7) (六)、管理员对帖子的查看/发表/删除功能 (8)1、管理员查看或发表帖子 (8)2、管理员删除帖子..............................................................................(8)四、系统总体设计....................................................................................(8) (一)、系统结构设计 (8)BBS小型论坛系统1、各个页面的功能及示意图…………………………………………………………(8)2、各个页面之间的调用关系…………………………………………………………(9) (二)、数据库设计……………………………………………………………………(10) 1、用户信息表………………………………………………………………………(10) 2、已发帖子的信息表………………………………………………………………(10) 3、已回复帖子的信息表……………………………………………………………(11) 五、系统详细设计…………………………………………………………………………(11) (一)、建立数据库及数据库表...............................................................(9) (二)、用户登录功能的实现..................................................................(9) 1、登陆界面的制作 (8)2、登陆功能的实现…………………………………………………………………(8) (三)、浏览主题帖子功能的实现............................................................(11) 1、翻页功能的实现...........................................................................(8) 2、浏览帖子的实现...........................................................................(8) (四)、主题帖子详细内容页面的制作......................................................(16) (五)、在帖子详细内容页面里实现回复功能.............................................(13) (六)、用户发表新帖子页面的制作 (13)(七)、新用户注册功能的实现………………………………………………………(13) (八)、用户取回密码功能的实现……………………………………………………(20) (九)、用户和管理员删除帖子功能的实现…………………………………………(21) 六、BBS论坛的发布测试…………………………………………………………………(22) 参考文献…………………………………………………………………………………(错误~未定义书签。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

WEB课程设计基于Java Web技术开发的BBS论坛院(系)计算机科学与工程学院专业软件工程班级*******姓名*******学号******2010/07/25基于Java Web技术开发的BBS论坛一.模块介绍我承担的是BBS主页面处理这一部分内容:其功能主要是主页面功能的实现:包括最近浏览的显示,帖子标题显示,最后发表时间,更新,以及“登陆”和“注册”的显示等。

1. 运行效果截图如下:2. 主页面HTML框架代码如下:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""/TR/1999/REC-html401-19991224/loose.dtd"> <HTML><HEAD><TITLE>欢迎访问青鸟学员论坛</TITLE><META http-equiv=Content-Type content="text/html; charset=gbk"> <Link rel="stylesheet"type="text/css"href="style/style.css"/> </HEAD><BODY><DIV><a href="index.jsp"><IMG src="image/logo.gif"></a></DIV><!-- 用户信息、登录、注册 -->&nbsp;<DIV class="h">您尚未<a href="login.jsp">登录</a>&nbsp;| &nbsp; <A href="reg.jsp">注册</A> |</DIV><br><DIV class="h">您好:&nbsp;| &nbsp; <A href="manage/doLogout.jsp">退出</A> |</DIV><br><DIV><!-- 主体 --><DIV class="t"><TABLE cellSpacing="0" cellPadding="0" width="100%"> <TR class="tr2" align="center"><TD colSpan="2">论坛</TD><TD style="WIDTH: 5%;">主题</TD><TD style="WIDTH: 25%">最后发表</TD></TR><!-- 主版块 -->&nbsp;<TR class="tr3"><TD colspan="4"><br></TD></TR><!-- 子版块 -->&nbsp;<TR class="tr3"><TD width="5%">&nbsp;</TD><TH align="left"><IMG src="image/board.gif">&nbsp;</TH><TD align="center"><br></TD><TH>&nbsp;<SPAN></SPAN><BR/>&nbsp;<SPAN></SPAN><SPANclass="gray">[&nbsp; ]</SPAN></TH></TR></TABLE></DIV></DIV></BODY></HTML>二.数据库表的设计数据库代码如下(简要分类说明):1.Table structure for table `tbl_board` //board表--DROP TABLE IF EXISTS `tbl_board`;/*!40101 SET @saved_cs_client = @@character_set_client */;/*!40101 SET character_set_client = utf8 */;CREA TE TABLE `tbl_board` (`boardId` int(4) NOT NULL auto_increment,`boardName` varchar(50) NOT NULL,`parentId` int(4) NOT NULL,PRIMARY KEY(`boardId`)) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=gbk;/*!40101 SET character_set_client = @saved_cs_client */;---- Dumping data for table `tbl_board`--LOCK TABLES `tbl_board` WRITE;2.Table structure for table `tbl_topic` //topic表--DROP TABLE IF EXISTS `tbl_topic`;/*!40101 SET @saved_cs_client = @@character_set_client */;/*!40101 SET character_set_client = utf8 */;CREA TE TABLE `tbl_topic` (`topicId` int(11) NOT NULL auto_increment,`title` varchar(100) NOT NULL,`content` varchar(10000) NOT NULL,`publishTime` datetime NOT NULL,`modifyTime` datetime NOT NULL,`uId` int(4) NOT NULL,`boardId` int(4) NOT NULL,`count` int(4) default NULL,PRIMARY KEY(`topicId`)) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=gbk;/*!40101 SET character_set_client = @saved_cs_client */;---- Dumping data for table `tbl_topic`--LOCK TABLES `tbl_topic` WRITE;3.Table structure for table `tbl_user` //user表--DROP TABLE IF EXISTS `tbl_user`;/*!40101 SET @saved_cs_client = @@character_set_client */;/*!40101 SET character_set_client = utf8 */;CREA TE TABLE `tbl_user` (`uId` int(4) NOT NULL auto_increment COMMENT '1',`uName` varchar(20) NOT NULL,`uPass` varchar(20) NOT NULL,`head` varchar(100) NOT NULL,`regTime` datetime NOT NULL,`gender` varchar(2) NOT NULL,PRIMARY KEY(`uId`)) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=gbk;/*!40101 SET character_set_client = @saved_cs_client */;---- Dumping data for table `tbl_user`--LOCK TABLES `tbl_user` WRITE;三.所涉及的DAO对象如上主JSP页面里所涉及的DAO对象如下:BoardDao boardDao = new BoardDaoImpl(); // 得到版块Dao的实例TopicDao topicDao = new TopicDaoImpl(); // 得到主题Dao的实例UserDao userDao = new UserDaoImpl(); // 得到用户Dao的实例其具体文件所在目录:jspbbs\WebRoot\WEB-INF\classes\com\interfaces\impl文件夹中。

如:UserDaoImpl代码如下:/** erDaoImpl.java* 2007-7-18* UserDao的实现类*/package com.interfaces.impl;import java.sql.*;import java.text.SimpleDateFormat;import java.util.Date;import er;import erDao;import com.util.ConnectionManager;public class UserDaoImpl extends BaseDao implements UserDao {private Connection conn = null; // 保存数据库连接private PreparedStatement pstmt = null; // 用于执行SQL语句private ResultSet rs = null; // 用户保存查询结果集/*** 增加用户* @param user* @return 增加条数*/public int addUser(User user) {String sql = "insert into TBL_USER(uname,upass,gender,head,regTime) values(?,?,"+user.getGender()+",?,?)";String time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); // 取得日期时间String[] parm = { user.getUName(), user.getUPass(),user.getHead(),time };return this.executeSQL(sql, parm); // 执行sql,并返回影响行数}/*** 修改用户密码* @param user* @return 更新条数*/public int updateUser(User user){String sql = "update TBL_USER set upass=? where uname=?";String[] parm = { user.getUPass(),user.getUName() };return this.executeSQL(sql, parm); // 执行sql,并返回影响行数}/*** 根据用户名查找用户* @param uName* @return 根据用户名查询的用户对象*/public User findUser(String uName) {String sql = "select * from TBL_USER where uName=?";User user = null;try {conn = ConnectionManager.getConnection(); // 取得数据库连接pstmt = conn.prepareStatement(sql); // 取得PreparedStatement对象pstmt.setString(1, uName); // 设置参数rs = pstmt.executeQuery(); // 执行SQL取得结果集while( rs.next() ) {user = new User();user.setUId( rs.getInt("uId") );user.setUName( rs.getString("uName") );user.setUPass( rs.getString("uPass") );user.setGender(rs.getInt("gender"));user.setHead( rs.getString("head") );user.setRegTime( rs.getString("regTime") );}} catch (Exception e) {e.printStackTrace(); // 处理异常} finally {ConnectionManager.closeStatement(pstmt);ConnectionManager.closeConnection(conn);}return user;}/*** 根据用户id查找用户* @param uId* @return 根据uid查询的用户对象*/public User findUser(int uId) {String sql = "select * from TBL_USER where uId=?";User user = null;try {conn = ConnectionManager.getConnection(); //取得数据库连接pstmt = conn.prepareStatement(sql); //取得PreparedStatement对象pstmt.setInt(1, uId); //设置参数rs = pstmt.executeQuery(); //执行SQL取得结果集while( rs.next() ) {user = new User();user.setUId( rs.getInt("uId") );user.setUName( rs.getString("uName") );user.setUPass( rs.getString("uPass") );user.setGender(rs.getInt("gender"));user.setHead( rs.getString("head") );user.setRegTime( rs.getString("regTime") );}} catch (Exception e) {e.printStackTrace(); // 处理异常} finally {ConnectionManager.closeStatement(pstmt);ConnectionManager.closeConnection(conn);}return user;}}四.JSP页面及Servlet介绍本系统基于功能都是JSP的形式实现的.某些处理功能以<%.........%>来实现。

相关文档
最新文档