多,涉及到的属性主要是用户编号,姓名,用户名,密码,姓名,性别,出生年月,联系QQ,邮箱,电话,身份证,头像,地址,备注录入时间,审核等,根据这个表,可以在数据库中随时增删改查用户的详细信息。如表5-3所示。
表5-3 yonghuzhuce表结构
字段名 ID yonghuming mima xingming xingbie chushengnianyue QQ youxiang dianhua shenfenzheng touxiang dizhi beizhu addtime issh 字段描述 用户编号 用户名 密码 姓名 性别 出生年月 联系QQ 邮箱 电话 身份证 头像 地址 备注 注册时间 审核 数据类型 INT(4) VARCHAR(50) VARCHAR(50) VARCHAR(50) VARCHAR(2) VARCHAR(50) VARCHAR(50) VARCHAR(50) VARCHAR(50) VARCHAR(50) VARCHAR(50) VARCHAR(300) VARCHAR(500) DATETIME VARCHAR(2) 约束 主键 唯一 非空 非空 唯一 非空 非空 非空 非空 唯一 非空 非空 非空 唯一 非空 (4)留言板表(liuyanban)
留言板表主要是针对用问必答模块的数据操作,主要包括ID,昵称,性别,邮箱,QQ,电话,留言内容,录入时间,回复时间。学生留言和教师回复的内容都存储在这个表中如表5-4所示。
24
表5-4 liuyanban表结构
字段名 ID cheng xingbie QQ youxiang dianhua neirong addtime huifuneirong 字段描述 用户编号 昵称 性别 联系QQ 注册邮箱 电话 内容 注册时间 回复内容 数据类型 INT(4) VARCHAR(50) VARCHAR(2) VARCHAR(50) VARCHAR(50) VARCHAR(50) VARCHAR(500) DATETIME VARCHAR(500) 约束 主键 唯一 非空 非空 唯一 非空 非空 唯一 非空 (5)专业信息表(zhuanyexinxi)
专业信息表主要是针对专业信息相关的专业编号,所在专业,录入时间的操作,如表5-5所示。
表5-5 zhuanyexinxi表结构
字段名 ID zhuanye addtime 字段描述 编号 专业 注册时间 数据类型 INT(4) VARCHAR(50) DATETIME 约束 主键 唯一 非空 5.4 本章小结
本章讲述了网站的部分详细设计过程,从规划网站结构到系统流程再到部分具体功能的设计,最后进行了数据库的详细设计。下一章将选取网站中采用JSP技术实现的几个有代表性的功能进行讨论和研究,加上丰富的客户端效果展示,明显可以感受到JSP带来的效果与便利。
25
第6章 《操作系统》课程网站的具体实现
本章将主要通过利用JSP技术开发《操作系统》课程网站的实际案例,研究在开发Web应用程序过程中如何通过综合运用JSP技术来提高网站的性能。作为基于JSP技术的开发来说,与其他语言开发的Web开发有着明显的差异,仍涉及到浏览器客户端、Web服务器和数据库服务器三个层次的开发;这里我们将会探讨浏览器客户端和Web服务器端的开发。
6.1 网站首页
网站首页涉及的内容最全面,可以说是其他页面的缩影,要让访客看到首页就了解《操作系统》课程网站的最近动态,点击感兴趣的内容直接跳转到相应页面。本系统采用了动态网页技术;外部的修饰全部用CSS控制,一些表单的验证用JavaScript验证,把Java代码嵌入到HTML中,实现动态网页。 6.1.1 首页展示
页面加载完成后,呈现出来的是一个完整的网站形象,菜单栏,分块的框架;首页是
工程名为Bysj下面的index.jsp,路径为/Bysj/index.jsp;对应的它由几部分组成菜单栏部分的qttop.jsp负责显示头部信息,配合CSS修饰字体颜色大小,控制flash显示等;qtleft.jsp负责控制系统公告,用户登录,站内搜索,友情链接这些功能;qtdown.jsp负责前台页面的底部显示;index.jsp的另一部分就是嵌入其中的Java代码,负责实现动态网页,控制新闻公告和系统简介的内容。现在看看首页效果,如图6-1所示。
图6-1 网站首页
26
在这个首页中涉及到有几个操作数据库的语句,从这些SQL语句中我们可以了解到我们操作了那些表。可见操作了三个表:xinwentongzhi表、xinwentongzhi表、dx表、说明这三个表中的数据在数据库中发生了读取。
sql=\
sqlbht=\shouyetupian<>'null' order by id desc\
sql=\系统简介'\
6.1.2 用户注册
对于网站我想大家并不陌生,但是最关心的还是注册之后成为合法成员的问题。下面我们看看如何进行注册。点击菜单栏的用户注册看到URL地址栏跳转到如下链接:http://localhost:8085/Bysj/userreg.jsp,说明是用户注册页面。我们按规定输入所有信息后才能有权限接受超级管理员审核,审核通过方可登录。这里介绍一下表单验证;JSP是HTML嵌入Java代码构成,所以验证表单的时候一般通过JavaScript来判断,比如常见的请输入用户名,请输入密码,请输入姓名等。而表单提交的方式有get和post两种方法,出于安全起见,我们选取post方式因为安全;;如图6-2所示。
图6-2用户注册
定义一个check()函数用来验证表单form1的元素,如果输入的用户名,密码,姓名的value值为空,则返回错误,document.form1.yonghuming.focus()指的是光标返回当前文本框。定义gow()函数指的是如果输入正确,则将跳转到yonghuzhuce_add.jsp页面。这个功能的核心代码块是。
function check(){
if(document.form1.yonghuming.value==\
27
alert(\请输入用户名\
document.form1.yonghuming.focus(); return false; }
if(document.form1.mima.value==\alert(\请输入密码\document.form1.mima.focus(); return false; }
if(document.form1.xingming.value==\alert(\请输入姓名\
document.form1.xingming.focus(); return false; } }
function gow(){
document.location.href=\;}
6.1.3 JSP中内置对象session的作用
自我测试是课堂教学版块设计过程中一个非常重要的部分,对于每次提交的答案,对其进行比较判断。JSP中有一个重要对象session,用于记录用户的相关信息,维持会话状态,Servlet提供了一个在多个请求之间持续有效的会话对象。session支持这个功能,session保存个人信息,以下为学生提交自测题后,用于评判的程序,如图6-3所示。
图6-3交卷中的session技术
28