计算机科学与技术论文

更新时间:2024-05-16 02:29:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计算机技术论坛

系 部

专 业 年 级 学生姓名 学 号

指导教师

职称 JAVA软件工程师

毕业设计(论文)专用纸

Computer Technology Forum

学院毕业(设计)论文诚信承诺书

为确保毕业(设计)论文写作质量和答辩工作的顺利开展,达到按期圆满毕业的目标。本人郑重承诺:

1.本人所呈交的毕业设计(论文),是在指导教师的指导下,严格按照学院、系部有关规定完成的。

2

毕业设计(论文)专用纸

2.本人在毕业设计(论文)中引用他人的观点和参考资料均加以注释和说明。

3.本人承诺在毕业设计(论文)选题和研究内容过程中没有抄袭他人研究成果和伪造相关数据等行为。

4.在毕业设计(论文)(设计)中对侵犯任何方面知识产权的行为,由本人承担相应的法律责任。

毕业设计(论文)作者签名:

年 月 日

3

毕业设计(论文)专用纸

目录

摘 要 .......................................................... 1 Abstract ....................................................... 2 前言 ........................................................... 3 第一章 开发方法及技术 .......................................... 4

1.1 开发环境与运行环境 ...................................... 4 1.2 主要问题及解决手段 ...................................... 5 1.3 关键技术简介 ............................................ 6

1.3.1 jsp技术 .......................................... 6 1.3.2 MySQL数据库技术 .................................. 7 1.3.3 Spring简介 ........................................ 8 1.3.4 Struts简介 ........................................ 8 1.3.5 Hibernate简介 ..................................... 8 1.3.6 B/S结构 .......................................... 8 1.3.7 Tomcat技术 ....................................... 9

第二章 总体设计 ............................................... 10

2.1 系统机构设计 ........................................... 10 2.2 功能设计 ............................................... 11 2.3 数据库设计 ............................................. 11 第三章 详细设计 ............................................... 15

3.1前台管理模块实现 ....................................... 15

3.1.1 用户注册登陆 ...................................... 15

I

毕业设计(论文)专用纸

3.1.2 用户发帖回帖 ...................................... 19 3.1.3 用户发起投票 ...................................... 23 3.1.4 用户传载资料 ...................................... 26 3.2 后台管理模块实现 ....................................... 29

3.2.1 管理员管理 ........................................ 29 3.2.2 论坛分类管理 ...................................... 31 3.2.3 用户权限管理 ...................................... 33 3.2.4 论坛帖子管理 ...................................... 34 3.2.5 密码管理 .......................................... 35

结论 .......................................................... 37 总结体会 ...................................................... 38 致谢 .......................................................... 40 参考文献 ...................................................... 41 附录 .......................................................... 42

附录1 ..................................................... 42 附录2 ..................................................... 46

II

毕业设计(论文)专用纸

计算机技术论坛

摘 要

随着网络在现代社会中的广泛应用及当今社会快节奏的发展,人们越来越需要一个平台来进行分享并交流相应的资讯信息。现在有各种的论坛网站等系统来实现人们的这一需要,获得有益信息并与他人进行交流,以方便人个扩展知识层面。

论文中主要阐述了论坛网站的开发过程。介绍了开发论坛网站的环境及技术,同时详细的叙述了设计的思想及流程,说明了数据库的建立思想以及与程序之间的关联等问题。说明了网站不同功能的实现方法及详细设计过程。

该课题主要的工作是对论坛网站的主要功能进行设计与实现,实现用户浏览帖子,发表及回复论坛帖子的功能以及系统管理员对后台的管理功能,如删除帖子和用户信息,对用户权限的设置。主要作用是通过发表新帖并回复他人帖子来实现信息交流。此文章中首先对整个系统功能进行详细的分析与设计;其次采用MySQL数据库技术实现对系统中涉及的数据信息进行管理,最后利用JSP技术进一步具体实现论坛网站各项功能,并用Tomcat作为服务器支持其运行。运行调试确保网站的正常工作。

网站设计在Windows 7操作系统环境下,构建JSP技术的运行环境JDK+Tomcat,并通过运用Java嵌入式语言实现动态的,交互的web服务器运行程序,实现论坛网站的基本功能。

关键词:论坛网站,JSP技术,MySQL数据库,spring,hibernate

1

毕业设计(论文)专用纸

Computer Technology Forum

Abstract

Today , the internet maked full use and the fast-paced life,people need a flat to share and communicate the information. Now,all kinds of systems like a forum website realize human’s requirements,to get the usefull news and exchanging with others,and convenienting they expend the knowledge.

The thesis expounds how to design a forum website and the process in chief. It introduces the environment for realizing the website , describes the idea and procedures in detail and explains how to establish a data base and the problem of connecting with the program , at the same time , show the way to design and relize of the website.

The main work is to design and relize the a forum website's important function , such as browse ,publish, reply cards in the forum and the function of a system administrator to manage the backstage , like deteling cards and information of users , seting up the right of a user. The principal function of the forum is exchanging important information with the others by publishing and replying the cards. At first, thesis analyses the demand of users and designs the whole function of the system. Secondly , using the data base technology as MYSQL relize the manage of the data. At last, making use of the JSP technology relize the function of the forum in detail and take advantage of the tomcat as the server to movethe system . Moving and debugging to make the system work.

Design the website at Windows7 system, build JDK+TOMCAT , that is the move environmentof the JSP technology , and relize a dynamics ,alternately web server by Java language to make the system in motion and relize the basic function of the forum.

Key words: Forum website,JSP technology,MYSQL Database

2

毕业设计(论文)专用纸

前言

随着计算机技术的不断发展与提高,人们深刻的认识到了其强大的功能及在现代社会中的各个领域发挥着无可替代的重要的作用。其中计算机网络技术更是得到了充分的应用,然而在网站设计中Web数据库技术已然成为最为广泛应用的网站架构的基础技术,网络提供了用户与用户之间通信交流的有效手段。利用JSP技术实现Web服务器与数据库的连接,完成对网站信息的查询与处理。

由于网络具有传播信息容量大,形态多样,迅速方便且自由交互的特点,其已发展成为新的传播媒体及交互平台。目前就有很多不同形式的网站提供人们共享资讯,而论文中目的是介绍运用JSP技术设计并实现论坛网站的功能。构建一个交流平台通过互联网使用户和用户之间可以进行交流,分享各种信息;同时也可以通过网络提出所遇到的各种问题等待他人的解答,并彼此认识,交流扩大知识。

设计实现论坛网站的主要意义在于:首先,现今JSP在网站设计方面有着突出的优势,因此有必要掌握并熟练应用JSP动态网页设计技术;其次,通过数据库与Web服务器连接来对网站数据进行管理,掌握不同环境的关联与应用;最后,随着网络的发展及人们对知识信息的需求不断提升,网络已成为不可忽视的资讯来源,而论坛网站便能满足这个要求。

3

毕业设计(论文)专用纸

第一章 开发方法及技术

1.1 开发环境与运行环境

(1)开发工具

根据整个系统的开发计划,采用的开发工具是MyEclipse ,结合Dreamweaver最基本的框架搭建,并采用Java语言进行嵌入式开发动态网站。

MyEclipse是一个开放的源代码,基于Java可扩张的开发平台,多数人都是将MyEclipse作为Java集成开发环境使用,虽然MyEclipse使用Jave开发,但MyEclipse不仅仅局限于Java开发,还可用于其它语言开发,如C/C++;MyEclipse是一个框架和一组服务,它通过各种插件来构建开发的环境,因此只要提供支持C/C++插件便能进行相应的语言开发。

MyEclipse是一个IDE(Integrated Developing Environment),而这个IDE可以允许安装第三方开发的插件来使自身的功能得到扩展和增强,而MyEclipse就是其中一种有名的插件集之一,MyEclipse将开发者常用到的一些有用的插件都集合起来,但它是收费的。

MyEclipse最早是由IBM开发的,后来IBM将MyEclipse作为一个开发的源代码项目,献给了开源组织MyEclipse.org,但仍由IBM的子公司OTI(主要从事MyEclipse开发的人员继续MyEclipse的开发。

MyEclipse为MyEclipse提供一个大量私有和开源Java工具的集合,这解决了各种开源工具不一致的缺点。NitroX是一个繁杂而强大,加速Java Web应用开发的工具,还包含了一个强大且能够编译所有的JSP和Struts Web应用的具AppXray。这些工具解析Java和XML配置文件。

MyEclipse实际价值来来自包含的发布包中的大量工具。如CCS/JS/HTML的编辑器,帮助创建EJB和Struts项目的向导并产生了项目的所有主要的组件如action/seesion bean/form等。还包含编辑Hibernate配置的文件和执行SQL语句的工具。

(2)运行环境

4

毕业设计(论文)专用纸

①软件环境 本系统运行在Windows系列的操作系统上。 ② 硬件环境

对硬件环境无具体要求。

1.2 主要问题及解决手段

(1)数据库的连接

程序调试运行后将数据库与程序连接时,会出现与数据库连接失败的情况,此时需要为数据库安装一个sq3的补丁,并将安全性里的登录设置为混合登录方式。

(2)TOMCAT 6.0端口设置问题

在tomcat安装文件夹中有个conf文件,其中有个server.xml文件,有记事本中打开,里面有个port=\的代码字样,此代码表示默认的端口就是8080,但有时此端口会出现被占用的状况,因此服务器便不能使网站正常运行,此时便要将文件中的端口改成其它值,如:port=\然后重启tomcat,便可以运行程序。

(3)文件传载的实现

在网站中实现文件的传载,当上传文件后,如文件名是中文形式时下载文件时会报错,通过查阅资料后发现改写下原Upload.jsp文件中的代码如:

byte[] buff = new byte[2048]; int bytesRead;

while(-1 != (bytesRead = bis.read(buff, 0, buff.length))) { bos.write(buff,0,bytesRead); } }

catch(Exception e){ e.printStackTrace();

}

finally {

if (bis != null)bis.close(); if (bos != null)bos.close();

5

毕业设计(论文)专用纸

资料进行传载来分享资源。 为了便于论坛更好的运行,管理员可对用户信息及帖子信息进行管理;同样为了更方便用户之间的交流,管理员也可对主题进行管理。

2.2 功能设计

系统主要分为前台和后台两个管理模块,而其中包括的主要的功能分别是:用户注册登陆、用户发帖回帖、用户传载资料、论坛板块管理、注册用户管理等功能。

(1)用户注册登陆:该功能主要实现普通用户的注册登陆的功能。注册时用户填入具体的地址邮箱及电话等信息,并将注册时所填信息录入数据库保存以便管理用户信息。注册成功后用户便可登录系统并在论坛中进行相应操作。

(2)用户发帖回帖:该功能用户可在论坛中通过发帖回帖或发起投票回复投票与他人进行交流。注册账号并登陆,可以浏览论坛中各版块的其他用户发表的帖子及投票,并可在个人感兴趣的主题中通过发帖来表达自己的观点想法或回复他人所发的帖子来交流经验并分享信息,以扩充知识并能结交朋友。

(3)用户传载资料:该功能可在用户发帖是实现,当用户有好的资料后信息想与大家分享时,便在论坛中发帖并应用此功能上传文件,将其分享给论坛中的其他用户。其他用户也可通过回帖来发表个人对于所分享资料的感想,以此是用户间更好的共享有益资源并进行相应的交流。

(4)论坛分类管理:此功能在论坛后台管理中实现,主要为论坛主题界面板块的分类进行管理。论坛中为了方便管理及用户之间可以更好的交流,不同种类的帖子应有相应的主题板块来进行管理。这样方便用户快速的找到自己想要了解的相关信息。

2.3 数据库设计

为了论坛网站更好的进行和管理,需要记录注册用户以及其所发帖子等数据信息。

所以需要建立数据库来储存相关的信息,所建数据库中各表信息如下:

用于储存用户的数据信息的表t_user,其中要对用户注册时所用的ID设为主键,由此属性项将表3-1中的用户与表3-2中存储的所发的帖子的数据信息进行关联。其中还记录了用户名,密码以便用户登陆网站,以及姓名,性别,年龄等个人信息。

每个所发表的新帖同样需要记录相关信息,如标题,内容用所发的用户等数据,由

11

毕业设计(论文)专用纸

于论坛支持文件的传载,则在存储主题信息的表3-3中要此属性项以便实现此功能。且每个主题模块会有不同的帖子,而所发新帖子是存在于哪个主题模块中也是要记录的信息。同样,每个新发起的投票也需要记录信息,如标题、内容等所发用户的信息以及对此帖进行投票的情况等,如表3-7,这样有助于对网站进行管理。

表3-4中储存论坛管理员的相关信息,如用户名,密码等,而新闻模块用于普通用户浏览信息,了解资讯。此模块中的帖子信息由管理员登陆并进入后台后录入所存信息如表3-5中所示。

表3-1 会员信息表t_user

表3-2 帖子回复表t_huifu

12

字段名 ID LOGINNAME LOGINPW NAME SEX AGE ADDRESS TEL EMAIL QQ

类型 INT VARCHAR VARCHAR VARCHAR VARCHAR VARCHAR VARCHAR VARCHAR VARCHAR VARCHAR

长度 4 50 50 50 2 2 50 50 50 50

小数位数

主键 是 否 否 否 否 否 否 否 否 否

NULL 否 是 是 是 是 是 是 是 是 是

字段名 ID TITLE CONTETN SHIJIAN USER_ID ZHUTI_ID

类型 INT VARCHAR VARCHAR VARCHAR

INT INT

长度 4 20 50 50 4 4

小数位数

主键 是 否 否 否 否 否

NULL 否 否 否 否 否 否

毕业设计(论文)专用纸

表3-3 帖子主题表t_zhuti

字段名 ID TITLE CONTENT FUJIAN YUANSHIMING

SHIJIAN USER_ID CATELOG_ID

类型 INT VARCHAR VARCHAR VARCHAR VARCHAR VARCHAR

INT INT

长度 4 50 50 50 50 50 4 4

小数位数

主键 是 否 否 否 否 否 否 否

NULL 否 否 否 否 否 否 否 否

表3-4 管理员表t_admin

字段名

表3-5 论坛类别表t_catelog

字段名 ID NAME JIESHAO

表3-7 帖子主题表t_toupiao

字段名 ID TITLE CONTENT YES

类型 INT

长度 小数位数 主键 NULL 4 50 50

是 否 否

否 是 是

USER_ID

USER_NAME VARCHAR USER_PW

VARCHAR

类型 INT VARCHAR VARCHAR

长度 4 50 500

小数位数

主键 是 否 否

NULL 否 是 否

类型 INT VARCHAR VARCHAR

INT

长度 10 500 5000 10

小数位数

主键 是 否 否 是

NULL 否 否 否 否

13

毕业设计(论文)专用纸

10 50 4 4

是 否 否 否

续表3-7

否 否 否

NO SHIJIAN USER_ID CATELOG_ID

INT VARCHAR

INT INT

14

毕业设计(论文)专用纸

第三章 详细设计

3.1前台管理模块实现

3.1.1 用户注册登陆

(1) 功能描述

前台管理主要实现用户在论坛中所要进行的基本操作,其中主要包括用户注册登陆、用户发帖回帖、发起投票回复投票及资料的传载等功能。而这里主要介绍用户注册登陆功能的实现。实现用户在网站注册新的账户,注册成功后用户可登陆到论坛网站中并在论坛中进行相应操作。

图4-1 论坛网站首页用户登陆界面

15

毕业设计(论文)专用纸

}

zhuti.setFujian(fujian);

zhuti.setFujianYuanshiming(fujianYuanshiming);

zhuti.setShijian(new SimpleDateFormat(\zhuti.setUserId(userId); zhuti.setCatelogId(catelogId); zhuti.setDel(\

zhutiDAO.save(zhuti);

HttpServletRequest req=ServletActionContext.getRequest(); req.setAttribute(\发帖成功\return \

public String zhutiDel() { }

public String zhutiDetail() {

21

TZhuti zhuti=zhutiDAO.findById(id); zhuti.setDel(\zhutiDAO.attachDirty(zhuti);

HttpServletRequest req=ServletActionContext.getRequest(); req.setAttribute(\成功删除\return \

毕业设计(论文)专用纸

}

TZhuti zhuti=zhutiDAO.findById(id);

zhuti.setUser(userDAO.findById(zhuti.getUserId()));

String sql=\Object[] c={zhuti.getId()};

List huifuList=huifuDAO.getHibernateTemplate().find(sql,c); for(int i=0;i

zhuti.setHuifuList(huifuList);

HttpServletRequest req=ServletActionContext.getRequest(); req.setAttribute(\return ActionSupport.SUCCESS;

THuifu huifu=(THuifu)huifuList.get(i);

huifu.setUser(userDAO.findById(huifu.getUserId()));

(3) 流程图

22

毕业设计(论文)专用纸

开始 登陆 N 登陆成功 Y 主题版块 发表帖子 N 发帖成功 Y 结束 返回发帖界面 返回登陆界面 图4—6登录程序流程图

3.1.3 用户发起投票

(1)功能描述

该功能主要包括两个操作分别为:用户发起新的投票,回复他人发表的投票。 用户登录论坛后,可在相应的主题模块中发表投票来与其他用户进行交流,也可对别人发表的投票个人感兴趣的投票进行投票来发表自己的观点。

23

毕业设计(论文)专用纸

图4-7 用户发表新投票界面

(2)程序实现

在程序toupiaoAdd.jsp实现发贴回帖等操作的一些前期准备,如参数的定义并将数据库中数据与程序中的参数相关联。

用myelcipse新建回复帖子的jsp页面toupiaoAdd.jsp,设置页面的编码格式为urf-8,编写表单form

实现代码如下:

public String toupiaoAdd() { TToupiao toupiao=new TToupiao(); toupiao.setTitle(title); toupiao.setContent(content); toupiao.setShijian(new SimpleDateFormat(\ toupiao.setCatelogId(catelogId); toupiao.setDel(\ toupiao.setUserId(userId); toupiao.setYes(0); toupiao.setNo(0);

24

毕业设计(论文)专用纸

toupiaoDAO.save(toupiao); HttpServletRequest req=ServletActionContext.getRequest(); req.setAttribute(\投票发起成功\ return \}

public String toupiaoDetail() { TToupiao toupiao=toupiaoDAO.findById(id); toupiao.setUser(userDAO.findById(toupiao.getUserId())); String sql=\ Object[] c={toupiao.getId()}; HttpServletRequest req=ServletActionContext.getRequest(); req.setAttribute(\ return ActionSupport.SUCCESS; }

public String toupiaoSubmit() { TToupiao toupiao = toupiaoDAO.findById(id); yes=toupiao.getYes(); no = toupiao.getNo(); if(xuanxiang==1){ int yes1= toupiao.getYes(); yes = ++yes1; toupiao.setYes(yes); }else{ int no1 = toupiao.getNo(); no = ++no1; toupiao.setNo(no); } toupiaoDAO.attachDirty(toupiao); return ActionSupport.SUCCESS; }

(3)流程图

25

本文来源:https://www.bwwdw.com/article/4mk7.html

Top