世界三大男高音网站 论文
《网站开发》实验课设计报告
设计题目: 世界三大男高音网站 学 院: 计算机科学与技术学院 班 级:
学 号:
姓 名:
指导教师:
设计时间: 2011年5月
1
目录
一、设计目的 ................................................................................................................................... 3
二、设计内容 ................................................................................................................................... 4
1. 设计的题目及简介 ....................................................................................................... 4
1.1 设计题目 ................................................................................................................... 4
1.2 简介 ........................................................................................................................... 4
2. 设计说明 ....................................................................................................................... 4
3. 设计流程 ....................................................................................................................... 4
3.1 需求
................................................................................................................. 4
3.2 系统流程 ................................................................................................................. 5
3.3 数据库 ..................................................................................................................... 7
4. 实现功能 ....................................................................................................................... 8
4.1 网站主页面 ............................................................................................................... 8
4.2 用户注册 ................................................................................................................... 9
4.3 歌曲下载 ................................................................................................................... 9
4.4 留言 ......................................................................................................................... 10
4.5 管理员登录 ............................................................................................................. 11
4.6 删除留言 ................................................................................................................. 12
5. 关键源代码清单 ......................................................................................................... 13
5.1 用户登录关键代码 ................................................................................................. 13
5.2 歌曲下载关键代码 ................................................................................................. 15
5.3 留言关键代码 ......................................................................................................... 17
5.4 删除留言关键代码 ................................................................................................. 19 三、设计
................................................................................................................................. 22
2
一、设计目的
JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术
。它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段 (Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
设计是为了练习JSP技术,结合课堂上所学的相关知识,制作一个合适此次
的网站。对于制作过程中所遇到的各种问题,可以通过查找资料或询问老师同学来解决。在解决问题的途中,逐步掌握JSP所用的各种技术和分析解决问题的能力。
在这个信息化时代,对于从事计算机专业的人员,一定要掌握一些技术,能够独立开发一个项目。网站是现代信息化时代必不可少的东西,JSP本来就是用来制作网站的,能够精通JSP,对于今后从事IT行业是非常有帮助的。
3
二、设计内容 1. 设计的题目及简介
1.1 设计题目
“世界三大男高音网站”。
1.2 简介
该设计对于世界三大男高音作了简单的介绍,并提供了部分并且可供下载的
他们所唱的歌曲,同时也可以进行留言,对其进行合理的评价。
2. 设计说明
该课程设计用了以下平台:
1) 操作系统:windowsXP;
2) 数据库:access2003;
3) 开发语言:HTML与JAVA;
4) 开发工具:Dreamweaver;
3. 设计流程
3.1 需求分析
3.1.1 系统功能需求
1) 普通用户访问:只能浏览一些基本信息。
2) 普通用户注册:任何用户可以注册一个账号。
4
3) 普通用户登录:登录后能下载歌曲,也能在留言板进行留言。
4) 管理员登陆:能够删除普通用户的留言。
3.1.2 系统非功能需求
可靠性:要求网站在一定条件下无故障地执行指定功能的能力。
可支持性:支持大多数的windows的操作系统,具有广泛的可移植性。
容错性:要求网站对于错误操作能够提供必要的措施。
3.2 系统流程
3.2.1 普通用户登录流程图:
3.2.2 下载歌曲:用户登录后可以下载歌曲,没有登录则不能。流程图:
5
3.2.3 留言:用户登录后也可以进行留言,没有登录则不能。流程图:
3.2.4 管理员登录:管理员登录后可以对留言进行删除。流程图:
6
3.3 数据库
系统的E-R图如下所示:
7
secret adminnam
e
管理 admin Passwo
rd
register 删除
留言
Name liuyan
message
user
4. 实现功能
4.1 网站主页面
8
4.2 用户注册
点击注册即可出现以下界面:
注册完之后点击提交即可。注册成功后会出现如下界面:
点击“回主页”,即可回到主页,然后再次输入用户名密码即可登录,登录过后界面:
4.3 歌曲下载
登录成功后即可下载歌曲:
9
在歌曲处点击右键“另存为”即可。
4.4 留言
登录成功后可以进行留言:
10
4.5 管理员登录
点击“进入后台管理”:
然后出现如下界面:
点击“登录”即。界面如下:
11
4.6 删除留言
管理员登录之后可以对留言进行删除,避免不合法的留言出现在页面上。
点击“删除”
12
留言删除成功。
5. 关键源代码清单
5.1 用户登录关键代码
<%
request.setCharacterEncoding("gbk");
String logname=request.getParameter("logname");
String logpass=request.getParameter("logpass");
if(logname.length()>5&&logpass.length()>5) {
try{
String spath = "/register.mdb";
String url ="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+application.getRealPath(spath);
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection(url);
Statement smt =
13
con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_U
PDATABLE);
String sql = "select password from register where name='"+logname+"'";//查询账
号是否存在
ResultSet rs = smt.executeQuery(sql);
rs.last(); //移动到最后行
int rsrow=rs.getRow(); //返回当前行
rs.beforeFirst(); //移动到第一行
if(rsrow<1)
{
out.println("
账号密码不存在~
//");
}
else
{
String dbpassw="";
while(rs.next())
{
dbpassw=rs.getString("password");
}
if(dbpassw.equals(logpass))//验证密码是否一致
{
session.setAttribute("islogin","yes");
session.setAttribute("name",logname);
out.println("
登陆成功~欢迎
");
out.println("");
14
}
else
{
out.println("
请正确填写账号密码~
");
out.println("");
}
}
}catch(Exception e){
out.print("数据库连接错误~,错误信息如下:
");
out.print(e.getMessage());
}
}
else
{
out.println("请正确填写账号密码~~");
out.println("");
}
%>
5.2 歌曲下载关键代码
<%
Object islogin=session.getAttribute("islogin");
if(islogin==null)
{
15
%>
鲁契亚诺?帕瓦罗蒂 歌曲:今夜无法入睡
普拉西多?多明戈
歌曲:爱的火焰
何塞•卡雷拉斯
歌曲:咏叹调
合唱歌曲
歌曲:黎明
如需下载,请先登录~
<%
}
else{
%>
<%
}
%>
16
5.3 留言关键代码
<%
Object isadmin=session.getAttribute("isadmin");
try{
String spath = "/register.mdb";
String url ="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+application.getRealPath(spath);
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection(url);
Statement smt =
con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_
UPDATABLE);
String sql = "select mid,user,message from liuyan";
ResultSet rs = smt.executeQuery(sql);
rs.last(); //移动到最后行
int rsrow=rs.getRow(); //返回当前行
rs.beforeFirst(); //移动到第一行
if(rsrow<1)
{
out.println("目前没有任何留言~");
}
else
{
int i=0;
while(rs.next())
{
i++;
17
%>
#<%=i%>
-
<%=rs.getString("user")%>:
-
<%=rs.getString("message")%>
<%
if(isadmin!=null)
{
out.println("
删除");
}
%>
<%
}
}
rs.close(); //关闭记录集对象
smt.close(); //关闭语句对象
con.close(); //关闭连接对象
}catch(Exception e){
out.print("数据库连接错误~,错误信息如下:
");
out.print(e.getMessage()); }
18
Object name=session.getAttribute("name"); String strname;
if(name==null)
{strname="";}
else
{strname=name.toString();}
%>
<%
Object islogin=session.getAttribute("islogin");
if(islogin==null)
{
out.println("如要留言,请先登录~");
}
else{
%>
5.4 删除留言关键代码
<%
Object isadmin=session.getAttribute("isadmin");
19
if(isadmin!=null){
String message=request.getParameter("message");
if(message!=null)
{
try{
String spath = "/register.mdb";
String url ="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+application. getRealPath(spath);
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection(url);
Statement smt =
con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_
UPDATABLE);
String sql ="DELETE FROM liuyan where mid="+message;
smt.executeUpdate(sql);
smt.close(); //关闭语句对象
con.close(); //关闭连接对象
out.println("删除成功~");
out.println("");
}catch(Exception e){
out.print("数据库连接错误~,错误信息如下:
");
out.print(e.getMessage());
}
}
else{
20
out.println("参数错误~@~");
out.println("");
}
}
else
{
out.println("你无权进行此操作~~");
out.println("");
}
%>
21
三、设计总结
这次设计学到了不少JSP的相关知识。起初对于JSP也有一定的认识。在实验课上也做了不少相关的实验,对于JSP里面的一些技术也有大概的了解和初步的掌握。设计主要就是综合所学的内容,并结合实际的情况,设计一个合适的网站。虽然自己在设计的过程中也遇到了不少的困难,不过在老师的指导和同学的帮助下,顺利解决了一些问题。对于JSP,我认为学好的关键就是在于多加练习,其实很多的程序设计的语言也是如此,只有多做练习,才能熟悉命令。这次也学习到了一些面向对象的设计的一些知识。相比之前面向过程的设计来说,面向对象设计更有效率,也容易排错。现在主流的设计思想基本上都是面向对象的程序设计,所以,对其有比较好的理解对于今后学习程序语言来说是非常关键的。希望今后自己在这方面的学习能够逐渐进步。
22