BBS论坛系统设计SQLJava实习报告.docx

上传人:b****3 文档编号:1950402 上传时间:2022-10-25 格式:DOCX 页数:16 大小:74.01KB
下载 相关 举报
BBS论坛系统设计SQLJava实习报告.docx_第1页
第1页 / 共16页
BBS论坛系统设计SQLJava实习报告.docx_第2页
第2页 / 共16页
BBS论坛系统设计SQLJava实习报告.docx_第3页
第3页 / 共16页
BBS论坛系统设计SQLJava实习报告.docx_第4页
第4页 / 共16页
BBS论坛系统设计SQLJava实习报告.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

BBS论坛系统设计SQLJava实习报告.docx

《BBS论坛系统设计SQLJava实习报告.docx》由会员分享,可在线阅读,更多相关《BBS论坛系统设计SQLJava实习报告.docx(16页珍藏版)》请在冰豆网上搜索。

BBS论坛系统设计SQLJava实习报告.docx

BBS论坛系统设计SQLJava实习报告

课程设计/生产实习报告

 

学校:

XX大学系别:

XXXXXX

班级:

XXXXXXXXXXXXXXX指导老师:

XXX

小组成员:

XXX

摘要

BBS论坛系统是采用java语言进行设计实现的,采用Tomcat作为后台服务器,以SQLServer作为数据服务器,使用接口、实现类、实体类、JSP进行逻辑控制,表现层用JSP页面显示,用于在网络上为网民提供一个信息发布、获取的场所。

实现了查看、发表、删除帖子功能,论坛帖子版块控制,注册用户可以修改自己的个人信息、增加好友与黑名单,管理员可以对用户、帖子,版块、版块权限和用户组权限进行管理。

论文从问题的提出、基本设计思想、数据的流向到具体的设计过程都做出了详细论述。

 

1系统总体设计

1.1 系统框架/结构

1.2 设计开发的技术路线

过程包括:

(1)脚本编写

BBS系统分为前台和后台两个模块。

系统的功能模块图如图3-1所示。

 

前台模块的使用对象包括了所有用户(管理员、用户、游客),提供的功能包括注册帐号、用户登录、用户注销、浏览文章、发表新主题、回复主题、修改个人信息。

如图3-2所示。

后台模块的使用对象为管理人员(版主、管理员、超级管理员),提供的功能包括管理用户、管理版块、管理主题、管理用户组、功能权限管理、版块权限管理。

后台功能模块如图3-3所示。

(2)数据库与程序设计,根据需要利用相关开发技术使用数据库完成模块的功能设计。

本系统采用的工具有JDK1.5、Tomcat6.0、MyEclipse8.5、SQLServer2005,使用的技术有Java、JSP、JavaScript、JDBC等。

(1)Java语言概述

Java编程语言是一种通用、并发、基于类且面向对象的语言。

Java编程语言与C和C++相关,但是在组织方式上有差别,Java具有C和C++遗漏的许多优点,同时兼有其他语言包括的一些思想。

它旨在成为一种生产语言,而不是一种研究语言,并且正是如此[7]。

(2)JSP技术概述

JSP(JavaServerPages)是由Sun公司倡导,许多公司参与,共同建立人一种动态网页技术标准,JSP技术是在Servlet技术基础上发展起来的。

它正在飞速发展中,现在已经成为Java服务器编程的重要组成部分。

(3)JavaScript技术概述

JavaScript是一种基于对象(Object)和事件驱动(EventDriver)并具有安全性能的脚本语言,它所能提供的功能非常强大。

JavaScript是一种简洁的面向对象的描述语言,是专门用来开发Internet客户端和服务器端的应用程序,它可以被轻易的嵌入到HTML文件中,使用JavaScript浏览器可以回应使用者的需求事件而不用通过网络来回传资料,这样,使用者的资料就可以直接被客户端应用程序所处理,它的出现弥补了HTML语言的缺陷,它是Java与HTML折衷的选择[9]

 

(3)页面(界面)设计与编程。

系统采用JDBC架构,数据库采用SQLServer,其连接数据库的关键代码:

1.static{

try{

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

}catch(ClassNotFoundExceptione){

e.printStackTrace();

}

}

.2.publicResultSetquery(Stringsql,String[]args){

try{

conn=DriverManager.getConnection("jdbc:

sqlserver:

//localhost:

1433;database=bbs","sa","123456");

pstmt=conn.prepareStatement(sql);

if(null!

=args)

for(inti=0;i

pstmt.setString(i+1,args[i]);

returnpstmt.executeQuery();

}catch(SQLExceptione){

e.printStackTrace();

}

returnnull;

}

3.publicvoidclosed(ResultSetrs){

if(rs!

=null){

try{

rs.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

if(pstmt!

=null){

try{

pstmt.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

if(conn!

=null){

try{

if(!

conn.isClosed())

conn.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

}

(1)用户注册:

新用户在enrol.jsp页面中输入用户名,密码,密码提示问题、提示问题答案,点击提交按钮,数据提交到enrolinfo.jsp中进行处理,在enrolinfo.jsp中,如果用户名已经有人使用则返回注册页面,否则提示用户注册成功,并跳转到登录后的页面index_logined.jsp。

enrolinfo.jsp的代码如下:

<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%>

<%@pageimport="entity.User"%>

<%@pageimport="dao.UserDAO"%>

<%@pageimport="dao.impl.UserDAOImpl"%>

<%

//post中文乱码处理

request.setCharacterEncoding("GBK");

Useruser=newUser();

StringUId=request.getParameter("hui");

StringUPass=request.getParameter("password");

StringUNickName=request.getParameter("Nike");

StringHead=request.getParameter("SelectAvatar");

StringGender=request.getParameter("xing");

Stringuname=request.getParameter("zname");

StringUCard=request.getParameter("card");

Stringquestion=request.getParameter("select");

StringUKey=request.getParameter("da");

user.setUId(UId);

user.setUPass(UPass);

user.setUNickName(UNickName);

user.setHead(Head);

user.setGender(Gender);

user.setUName(uname);

user.setUCard(UCard);

user.setQuestion(question);

user.setUKey(UKey);

UserDAOdao=newUserDAOImpl();

booleanbl=dao.addUser(user);

if(bl)

{

response.sendRedirect("/QNbbs/HTML/success.jsp");

}else

{

response.sendRedirect("/QNbbs/HTML/shibai.jsp");

%>

(2)用户登录:

用户在有帐号的前提下,可以在登录页面login.jsp或主页index.jsp中输入用户名和密码点击登录,系统将用户名和密码提交到doLogin.jsp中的处理,将用户提交的用户名和密码再转交给后台的Dao进行查询,如果有这样的一条记录存在则登录成功,将用户的个人信息保存在浏览器端的Session中,否则返回登录失败页面,并提示用户名或密码错误。

doLogin.jsp的代码如下:

<%@pagelanguage="java"pageEncoding="GBK"%>

<%@pageimport="entity.User"%>

<%@pageimport="dao.UserDAO"%>

<%@pageimport="dao.impl.UserDAOImpl"%>

<%

request.setCharacterEncoding("GBK");

Stringname=request.getParameter("name");

Stringpassword=request.getParameter("password");

UserDAOdao=newUserDAOImpl();

booleanbl=dao.qeury(name,password);

if(bl){

Useruser=dao.sendname(name,password);

Stringuname=user.getUNickName();

intuid=user.getID();

dao.updateUser(user);

response.sendRedirect("../HTML/index_logined.jsp");

session.setAttribute("name",uname);

session.setAttribute("uid",uid+"");

session.setAttribute("uname",user.getUNickName());

}else{

response.sendRedirect("../HTML/login_shibai.jsp");

}

%>

(3)用户注销:

已登录用户在退出网站时注销登录状态,系统将请求交给login_off.jsp处理,在login_off.jsp中修改用户最后离线时间,将修改保存到数据库中,并将浏览器端的Session的user属性移除,系统返回主页。

用户同时失去登录用户的权限,以游客身份访问网站,只能浏览主题,不能发表主题,也不能发表回复。

login_off.jsp的代码如下:

<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%>

<%@pageimport="dao.impl.UserDAOImpl"%>

<%@pageimport="entity.User"%>

<%

Stringid=session.getAttribute("uid").toString();

i

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1