1、课程实训论文题 目 基于 JSP 的科普网站制作 学 院 专 业 年 级 学 号 姓 名 指 导 教 师 成 绩 2012 年 05 月 11 日目录前言 .2一、实训目的 .3二、需求分析 .3三、系统流程图 .4四、详细设计 .54.1、数据库设计 .54.2、前台功能模块设计 .64.3、过程代码 .7五、结束语 .15六、参考文献 .16致 谢 .16基于 JSP 的科普网站制作摘要:随着网络技术的迅猛发展,网上信息的爆发,人们在众多的网络信息中,不知所从。因此我选择一个科普网站的设计和后台管理作为我的项目。本论文所研究的是如何建设一个符合大众化要求的科普网站及后台数据库管理系统,意在
2、通过设计一个具有数据管理功能的系统来管理前台页面中不断更新的数据,方便网站管理员日后对网站的维护和数据更新。本论文所提出的方案是采用现在比较流行的 JSP 技术配合Dreamweaver、Servlet 、Access 等制作工具来设计和建设一个企业网站及后台数据库管理系统。该系统的基本功能有知识介绍、客户留言、后台的管理等等。关键词:JSP;Access 数据;科普知识网站;Based on JSP Popular Science Website productionAbstract:With the outbreak of the rapid development of network
3、technology and online information, people in a large number of network information, I do not know from. So I chose a science web site design and back-office management as my project. hat this thesis study is how constuct a popular science sitewebsite and the management system of the backstage databa
4、se which meets a popularize request, the idea is pass to design a system which has a data management function to manage the data that the stage continuously renews in the page and the convenient website managing person renews maintenance and data of website in the days to come. The project that this
5、 thesis put forward is an adoption now more popular JSP technique match web page three swordsman dreamweaver, servlet, access etc. creation tool to design and constuct the management system of a opular Science Website website and backstage database.The basic function of that system has the knowledge
6、 introduction, Client Message , Management of the background etc.Key word:JSP;Access database;Scientific knowledge Website;前言现在网络的发展已呈现商业化、全民化、全球化的趋势。目前,几乎世界上所有的公司都在利用网络获取信息、传递商业信息,进行商业活动,从宣传企业、发布广告、招聘雇员、传递商业档乃至拓展市场、网上销售等,无所不能。如今网络已成为人们获取知识的主要途径,网络的方便快捷,价格低廉,使很多年轻的人,喜欢从网上获取知识,而网上信息过多,使人们不知道从何入手。一个专业
7、的四大家鱼网站,使人们避免了扎入众多的信息中。专业知识网站的出现,让人们更方便、更快捷、更科学的获取知识。科普知识网站是一个可供发布信息,提供顾客服务。而在开发设计人员看来,企业网站使一些功能模块,通过网页的形式将前台和后台结合起来。一个完整的企业网站,无论多么复杂或多么简单,都要划分为四个组成部分:结构、内容、服务、功能。网站结构:是为了向用户表达企业信息所采用的网站栏目设置、网页布局、网站导航、网址层次结构等信息的表现形式等。网站内容:内容是用户通过企业网站可以看到的所有信息,也就是企业希望通过网站向用户传递的所有信息。网站内容包括所有可以在网上被用户通过视觉或听觉感知的信息,如文字、图片
8、、视频、音频等。一般来说,文字信息是企业网站的主要表现形式。网站功能:是为了实现发布各种信息,提供各种服务等必须得技术支持系统。网站服务:即网站可以提供给用户的价值,如问题解答、优惠信息、资料下载等。网站服务是通过网站功能和内容而实现的。一、实训目的1、培养应用 Dreamweaver 制作网页的能力;2、培养应用 JSP 语句制作网页的能力;3、应用所学的 JSP 知识制作简单的循环网页;4、实现 JDBC-ODBC 桥连接器连接数据库;5、培养 Dreamweaver、JSP、Access 数据库的综合应用能力。二、需求分析在制作网站系统之前,首先要知道所做的系统要实现那些功能,要清楚不同
9、级别的用户所具有的功能,实现的界面。在对其他水产类网站进行考察、分析,从中吸取经验,并结合本系统的要求和实际情况,设计出合理的系统网站。本系统指在构建一个四大家鱼养殖技术科普网站。实现不同的功能模块。进入系统之后首先是网站首页,根据用户的需求,想要实现留言功能,可进入登录页面进行登录。系统根据用户输入的内容判断用户的合法身份。合法用户分为系统管理员和普通会员,其中,系统管理员拥有删除留言的权限,而普通用户没有此项权限。系统规定的管理员可以查看所有页面信息和对留言进行审核。任何一个网络用户都可以注册成为该系统的固定用户,要记录的信息有用户名、密码、性别、邮箱、工作等。注册用户方可登录系统,浏览系
10、统中的已有的留言和发表留言。系统客服端用浏览器来运行该系统。由以上的分析可以得知,四大家鱼养殖技术科普网站的角色可以划分为两类。(1)系统管理员:负责管理网站、审核留言。(2)注册用户:浏览网站,发表留言。这两类用户分别拥有自己的操作功能。每一个操作模块都要实现自身的功能,并且在整个操作流程中负责承上启下。下面来分别描述要实现的功能。(1)管理员登录:系统初始化网站管理员用户,这些管理员能够通过登录页面进入到后台进行管理操作。(2)管理员管理留言:首先要求的是管理员已登入管理系统,进入留言板管理页面,对已经添加的留言可以进行删除。(3)用户注册:网络用户均能够注册。注册的用户信息包括登录用户名
11、、密码、确认密码、性别、联系邮箱、工作。用户名不能重复。(4)用户登录:系统注册用户使用自己注册的用户名登录系统,进行浏览,发表留言,发表留言包括用户名、标题、内容等。三、系统流程图图 1 描述的是整个系统的操作流程图。用户登录以后判断用户级别,普通用户拥有浏览和发表留言的功能,系统管理员拥有浏览,发表留言和删除留言的功能,未注册用户跳转到注册页面。系统首页登录 注册普通用户 系统管理员浏览 发表留言 删除留言发表留言浏览图 1 系统流程图四、详细设计4.1、数据库设计Access 功能强大,使用方便,是最优秀的桌面数据库开发工具之一。Access 与其他数据库开发系统之间有相当显著的区别就是
12、:Access 数据库系统把数据库应用程序的建立移到了用户环境中,用户不用写一行代码,就可以在很短的时间里开发出一个功能强大而且相当专业的数据库应用程序,并且这一过程完全是可视的。Access 与其他桌面数据库的另一个重要区别是:Access 中的数据库档既包括存储数据的表,又包括操作或控制数据的其他对象。Access 支 持 ODBC( 开 发 数 据 库 互 连 , Open Data Base Connectivity) , 利 用 Access 强 大 的 DDE( 动 态 数 据 交 换 ) 和 OLE( 对 象的 联 接 和 嵌 入 ) 特 性 , 可 以 在 一 个 数 据 表
13、中 嵌 入 位 图 、 声 音 、 Excel 表 格 、Word 文 档 , 还 可 以 建 立 动 态 的 数 据 库 报 表 和 窗 体 等 。 Access 还 可 以 将 程 序应 用 于 网 络 , 并 与 网 络 上 的 动 态 数 据 相 联 接 。 利 用 数 据 库 访 问 页 对 象 生 成HTML 档 , 轻 松 构 建 Internet/Intranet 的 应 用 。根据功能模块设计的结果可知,本系统中要记录用户的数据和留言的数据。(1)注册用户数据实体:包括用户 ID 编号、用户名、密码、性别、联系邮箱、工作。这些数据由用户自己进行维护。(2)留言数据实体:留言
14、ID 编号、用户 ID 编号、标题、留言内容。根据以上的分析,每组数据实体都有自己的 ID 编号作为它的唯一标志。本系统所选用的数据库是 Access 数据库。设计出系统所需要的数据库,数据库名称是“member1.mdb” 。在数据库中共包括两个数据库表:用户表(member):用于存放注册用户的记录。 (表 1)留言表(message):用于存放用户的留言记录。 (表 2)字段名称 数据类型 说明userid 自动编号username 文本password 文本email 文本sex 文本job 文本表 1 用户表(member)字段名称 数据类型 说明messageid 自动编号user
15、id 数字title 文本comment 文本表 2 留言表(message)4.2、前台功能模块设计网站前台是面向网站访问用户的,通俗的说也就是给访问网站的人看的内容和页面,网站前台访问可以浏览公开发布的内容,如草鱼、青鱼、鲢鱼、鳙鱼、关于我们、养殖技术、登录、注册、提交留言等模块。前台功能结构图如图 2。首页草鱼模块青鱼模块鲢鱼模块关于我们鳙鱼模块注册模块登录模块图 2 前台功能结构图(1)关于我们模块:介绍我们的基本信息资料,联系方式。让用户了解我们。(2)清草鲢鳙模块:主要是分别介绍了四大家鱼的基本信息。(3)登录模块:当用户输入用户名、密码,系统自动将输入的信息和相关数据表中的内容进
16、行比较,如果该用户输入的内容和数据表中的内容相符,则通过验证,此次登录成功;否则登录失败。比较的过程是由浏览器将指令,数据发送到 Web 服务器,Web 服务器通过对数据库进行查询将结果返回到浏览器,从而端显示成功的消息,用户只有成功登陆系统后才能进行一系列的操作。(4)注册模块:主要是用户首次访问该网站时,为使用户成为该网站的用户,享受更多的权限。4.3、过程代码Dreamweaver是一个功能强大的网页设计工具,有着方便实用的工具和所见即所得的排版功能,见面十分友好,使用方便。在不需要掌握HTML语言的情况下,即可利用其强大的功能开发出专业的网页。Dreamweaver也是一个方便的编程工
17、具,可以方便地编写ASP、PHP 、JSP代码,软件的自动提示填充功能和代码染色功能可以有效地帮助用户编写和调试各种代码。它集网页设计、网站开发和站点管理功能于一身,具有可视化、支持多平台和跨浏览器的特性,是目前网站设计、开发、制作的首选工具。借助于Dreamweaver可以快速方便地开发出各种动态或静态网站。JSP是一个强大的网页编程工具,它具有一次编写,到处运行;除了系统之外,代码不用做任何更改;系统的多平台支持;基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展;相比ASP/.net的局限性是显而易见的;强大的可伸缩性,从只有一个小的Jar文件就可以运行J
18、SP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力; JSP多样化和功能强大的开发工具支持,这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下;支持服务器端组件,web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能;JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能等优点。(1)在 ROOT 中新建一个名为 Fishnet 的 Web 应用文件
19、,在Dreamweaver CS3 中新建一个站点名字为 yuer,保存到新建的 Fishnet 文件中。(如图 3)图 3 站点管理(2)在 dreamweaver 中构建首页。运行 tomcat 服务器后,在浏览器地址栏中输入http:/localhost:8080/Fishnet/ Webpage/shouye.html 之后,荧幕中将显示如图 4 所示的四大家鱼网网站首页,顶部为一行导航菜单,可以链接到网站的各个功能模块,右部分为养殖技术相关文档,右上边为用户管理登陆的链接。图 4 网站首页(3)将数据库驱动加入 java bean 文件中,加入驱动程序:try Class.forNa
20、me(“sun.jdbc.odbc.JdbcOdbcDriver“); /注册驱动catch(ClassNotFoundException e) System.out.print(e);连接数据库所用关键代码:con=DriverManager.getConnection(“jdbc:odbc:member“,“,“);(4)运用 JSP 创建注册页面,当用户注册时输入不合格规定是会显示相应的提示消息。 (如图 5)图 5 注册错误时的提示信息具体实现代码具体如下:页面将在 2 秒后前往登录页面 “);%实现数据存入数据库的具体代码如下:try con=DriverManager.getCon
21、nection(“jdbc:odbc:member“,“,“);sql=con.createStatement();rs=sql.executeQuery(“select * from member where username=“+getUsername()+“); /查询用户名是否已经存在if(rs.next() result=“该用户名已注册,请更换后重试!“;else /未注册过则添加记录到数据库返回成功信息Int i=sql.executeUpdate(“insert into member(username,password,email,sex,job) values(“+getU
22、sername()+“,“+getPassword()+“,“+getEmail()+“,“+getSex()+“,“+getJob()+“)“);if(i!=0)result=“注册成功!“;elseresult=“注册失败!请与管理员联系“;con.close();catch(SQLException e)System.out.print(e);return result;(5)登录界面(图 6,图 7)图 6 登录界面图 7 登录成功页面具体实现登录判断时代码如下:public boolean isLoginSuc() /登录验证处理,返回布尔型登录结果Connection con;St
23、atement sql;ResultSet rs;try con=DriverManager.getConnection(“jdbc:odbc:member“,“,“); /获取连接sql=con.createStatement(); /创建语句rs=sql.executeQuery(“select * from member where username=“+getUsername()+“ and password=“+getPassword()+“); /执行查询if(rs.next() /有结果集则返回 true 成功return true;con.close();catch(SQLEx
24、ception e)System.out.print(e);return false; (6)留言界面(图 8,图 9)图 8 发表留言界面图 9 浏览留言界面留言信息存入数据库中的具体实现代码如下:con=DriverManager.getConnection(“jdbc:odbc:member“,“,“);sql=con.createStatement();rs=sql.executeQuery(“select userid from member where username=“+getAuthor()+“); /获取用户名对应的 useridif(rs.next() /能找到对应的信息
25、 int id = rs.getInt(1);n=sql.executeUpdate(“insert into message(userid,title,comment) values(“+id+“,“+getTitle()+“,“+getArticle()+“)“); /数据库添加留言 删除功能实现的具体代码如下:public boolean delete() /删除记录处理,返回布尔型结果 boolean b=false; Connection con;Statement sql; int rs;try con=DriverManager.getConnection(“jdbc:odbc:
26、member“,“,“); sql=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rs=sql.executeUpdate(“delete from message where messageid=“+getRownum(); if(rs0) /删除结果大于 0 则成功b=true;else b=false;con.close();catch(SQLException e)System.out.print(e); return b; public synchronized St
27、ringBuffer getMessagepage()Connection con;Statement sql;ResultSet rs;try con=DriverManager.getConnection(“jdbc:odbc:member“,“,“);sql=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); rs=sql.executeQuery(“selectmessageid,title,username,comment from message,member wher
28、e message.userid=member.userid “); if(rs.next()int fr=(getShowpage()-1)*sm.getPagesize()+1; /定位显示页的第一条记录号 rs.absolute(fr); messagepage.append(“); for(int i=0;i“);messagepage.append(id+“.标题:“+rs.getString(2)+“ “);messagepage.append(“作者 :“+rs.getString(3)+“);messagepage.append(“删除本篇 “);messagepage.app
29、end(“+rs.getString(4)+“); if(rs.next()fr+;continue;elsebreak; messagepage.append(“);messagepage.append(“共“+sm.getPagecount()+“页现在是第“+getShowpage()+“页“);messagepage.append(“首页“);messagepage.append(“上一页“);messagepage.append(“下一页“);messagepage.append(“尾页“);messagepage.append(“新增留言 “);else messagepage.a
30、ppend(“目前还没有文章!“);con.close();catch(SQLException e)System.out.print(e); return messagepage;(7)session 在网站中的具体应用:session.setAttribute(“author“,aut);向 session 存储值;String aut=(String)session.getAttribute(“author“);读取 session 传递过来的值。五、结束语经过一段时间的学习与制作,四大家鱼网网站设计基本上已经告一段落。总结这次实训的设计的过程,对我来说是一次从书本上转移到实际上的体验,
31、通过这次设计使我真正地了解到了创建一个网站形成的基本过程和基本框架结构,加深了我对网络技术的认识,还对设计网站技术所用到的JSP,Dreamweaver 等技术的认识,以及后台数据连接的的操作,从这次实训中,我深刻地体会到了制作网站过程的辛酸与不易,当中的经验使我受益匪浅,在这次实训中获得的经验将对我以后发展有很大的帮助。这次设计由于时间、条件和个人能力的限制,加之设计的经验不足,在网站整体设计模块以及一些模板功能可能设计得不完全,有待进一步的完善和解决。这些情况希望能在今后的学习中弥补不足之处,以适应不同的需求,同时现在网站技术的要求在不断提高,我想在今后的学习中努力学习与实践,才能在设计与
32、制作网站方面有所完善。现请指导老师对我这段时间努力学习,努力设计制作所得的作品进行检测,并加以指正。参考文献:1张跃平.耿祥义 JSP 程序设计.北京:清华大学出版社,2009.82邹婷.Dreamweaver CS3 标准教程 .北京: 中国青年出版社 ,2006,153-1653邱加勇.JAVA 程序设计标准教程.北京:人民邮电出版社, 2010.24胡书敏译.Servlet 与 JSP 核心编程.北京:清华大学出版社,2009,6致 谢:在论文即将完成之际,回忆在紧张但又充实的学习以及设计过程,本人在此特别向帮助我的老师以及同学致以最真诚的感谢。在本次实训论文中,特别感谢*老师的细心指导。他认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到很大的提高,这对于我以后的学习和工作有很大的帮助,在此感谢他耐心的辅导。