




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Web应用开发课程设计报告基于java web的论坛系统姓名: 金 磊 学号:08940513021.论坛系统(课程设计选题)概述系统功能:1、注册新用户:新用户填写注册表单,包括用户姓名、密码、联系方式等信息;如果输入用户名已被注册过,系统提示用户更改自己的用户名。2、用户登录:输入用户名和密码;若用户输入有误,系统将提示错误。3、用户发表帖子;成功登录的用户可以发表帖子。4、浏览帖子:成功登录的用户可以浏览其他用户发布的帖子。5、用户注册信息修改:用户可以修改自己的注册信息。6、用户退出登录:成功登录的用户可以使用该功能退出论坛系统。7、管理员用户登录:实现普通用户管理功能。完成情况:前台:用户注册,登录,发表、回复和浏览帖子;后台:管理员管理普通用户2.课程设计的分工系统分析与设计 -张 海 0894051326数据库设计 -吴 璠 0894051310网页界面设计 -金 磊 0894051302论坛功能实现 -林鸿儒 0894051317本次课程设计,我主要进行代码的编写及功能的实现,基本实现了简单的论坛功能。3.课程知识在课程设计中的应用情况系统分析与设计:需求分析:用户使用论坛是按照一定得流程来进行的:用户注册登录进入论坛,就某个话题展开讨论,通过发帖功能发布新的话题,通过回帖的功能回复已有的话题,;管理员要管理论坛,系统需要具有管理注册的用户,管理帖子的功能。论坛一般存在两种用户,注册用户和管理员。用户的权限是向下覆盖的,即上级权限包含下级权限,管理员的权限是上级权限。功能设计:根据需求分析,论坛功能分为普通用户功能和管理员管理的功能。论坛系统包括以下主要功能:(1) 注册登录功能:用户注册,登录以及修改个人注册信息;(2) 浏览功能:用户浏览,查看帖子;(3) 发帖回帖功能:用户发帖、回帖;(4) 帖子管理功能:管理员删除帖子。(5) 用户管理功能:管理员实现对普通用户的管理数据库设计:通过对系统进行的需求分析和系统功能的确定,规划出系统中使用的数据库实体对象分别为用户实体、管理员实体、发帖实体、回帖实体。因此bbs论坛系统的E-R模型图为:为了方便起见,本次设计将普通用户和管理员用户的实体表合成一个用户表。因此主要创建三个表来存储数据,使用MySQL建立BBS数据库,并创建reply,topic,user,分别用来存储帖子回复信息,用户发帖信息,和用户基本信息。用户(ID、用户名、密码、性别、年龄、地址、邮箱、电话)发帖(ID、主题、发帖人、内容、时间)回帖(ID、原帖ID、主题、作者、内容、回帖时间) user topic reply代码如下:CREATE DATABASE bbs USE bbs;CREATE TABLE reply ( id int(11) NOT NULL auto_increment, topicId varchar(30) default NULL, title varchar(100) default NULL, author varchar(30) default NULL, content varchar(1000) default NULL, pubtime datetime default NULL, PRIMARY KEY (id) ENGINE=InnoDB DEFAULT CHARSET=gb2312 ROW_FORMAT=COMPRESSED;CREATE TABLE topic ( id int(11) NOT NULL auto_increment, title varchar(100) default NULL, author varchar(30) default NULL, content varchar(1000) default NULL, pubtime datetime default NULL, PRIMARY KEY (id) ENGINE=InnoDB DEFAULT CHARSET=gb2312 ROW_FORMAT=COMPRESSED;CREATE TABLE user ( userid int(11) NOT NULL auto_increment, name varchar(32) default NULL, password varchar(32) default NULL, sex char(2) default NULL, age int(11) default NULL, address varchar(40) default NULL, email varchar(50) default NULL, phone varchar(32) default NULL, introduction varchar(50) default NULL, is_admin int(11) default 0, PRIMARY KEY (userid) ENGINE=InnoDB DEFAULT CHARSET=gb2312 ROW_FORMAT=COMPRESSED;INSERT INTO user VALUES (1,admin,123,NULL,NULL,NULL,NULL,NULL,NULL,1);代码实现了BBS数据库的创建,使用CREATE指令创建TABLE数据表,使用INSERT指令向数据表中插入数据。网页界面设计:运用MyEclipse创建BBS项目,编辑设计了项目有关界面开发界面BBS登陆界面 欢迎访问山寨BBS 用户名 密码 用户名或密码错误,请重新输入! input name=button type=button onClick=JavaScript:window.location=/user/register.jsp; value=注册 注册界面主题列表 欢迎光临山寨BBS系统- 已登录 a href=/forum/addTopic.jsp发表新贴 a href=/user/userList.jsp用户管理 a href=/index.jsp退出 标题 作者 发布时间 td class= a href=/forum/forumDetail.jsp?thread= td class= td class= 1)% 发帖界面帖子浏览回帖界面界面设计使用了web设计中的许多知识,包括XHTML中的对文本的设置,图片的插入,论坛列表使用了表格,登录及主页面使用了表单将列表和表格嵌入其中,使用了 span div标签将特殊的文本包装等;使用了javascript中的数组,函数,事件处理,动态跳转等;XML中将基本设置打包成CSS文件,省去了每次都要重新设置的麻烦。论坛功能实现:使用MySQL,tomcat,编辑java文件等实现数据库与页面的连接。编辑代码,将数据库中信息显示到页面上。首先连接到数据库protected static String driver = com.mysql.jdbc.Driver;/数据库驱动protected static String url = jdbc:mysql:/localhost:3306/bbs;/连接urlprotected static String dbUser = root;/数据库用户名protected static String dbPwd = qwe123;/数据库密码private static Connection conn = null;采用java编辑函数实现操作,将用户数据进行封装,同理依次封装发帖,回帖信息以便使用。public Vector getUserlist(String sql) Vector v = new Vector();try ResultSet rset = BaseDao.executeQuery(sql);while (rset.next() Object obj = new Object6;obj0 = rset.getString(userid);obj1 = rset.getString(name);obj2 = rset.getString(sex);obj3 = String.valueOf(rset.getInt(age);obj4 = rset.getString(address);obj5 = rset.getString(phone);v.add(obj);rset.close(); catch (Exception e) e.printStackTrace(); finally return v;最后将帖子信息连接到页面上并打印,依次显示,主题,作者,发帖时间 标题 作者 发布时间 td class= a href=/forum/forumDetail.jsp?thread= td class= td class= 用户注册点击提交后,将新注册的用户信息写进数据库中的user表。% String name = request.getParameter(name); String pass = request.getParameter(password1); String sex = request.getParameter(sex); String age = request.getParameter(age); if (age = null | age.trim().length() 用户注册成功!a href=/index.jsp返回浏览及回复String topicId = request.getParameter(topicId);String title = request.getParameter(title);String author = request.getParameter(author);String content = request.getParameter(content);String sql = insert into reply(topicId,title,author,content,pubtime) values(+ topicId+ ,+ title+ ,+ author+ ,+ content + , + DateUtils.getDateTime() + );BaseDao.executeUpdate(sql);ForumDao fb = new ForumDao();Pager pageCtl = fb.listData(1);request.setAttribute(pageCtl, pageCtl);发帖String title = request.getParameter(title);String author = request.getParameter(author);String content = request.getParameter(content);String sql = insert into topic(title,author,content,pubtime) values(+ TransCode.getAGBKString(title)+ ,+ author+ ,+ content + , + DateUtils.getDateTime() + );BaseDao.executeUpdate(sql);ForumDao fb = new ForumDao();Pager pageCtl = fb.listData(1);request.setAttribute(pageCtl, pageCtl);用户管理public class DeleteUserServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws javax.servlet.ServletException, java.io.IOException try String id = request.getParameter(userid);String sql = delete from user where userid= + id + ;BaseDao.executeUpdate(sql); catch (Exception e) e.printStackTrace();javax.servlet.RequestDispatcher dis = request.getRequestDispatcher(/user/userList.jsp);dis.forward(request, response);public void doPost(HttpServletRequest request, HttpServletResponse response)throws javax.servlet.ServletException, java.io.IOException doGet(reque
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论