论文格式
电气工程 会计论文 金融论文 国际贸易 财务管理 人力资源 轻化工程 德语论文 工程管理 文化产业管理 信息计算科学 电气自动化 历史论文
机械设计 电子通信 英语论文 物流论文 电子商务 法律论文 工商管理 旅游管理 市场营销 电视制片管理 材料科学工程 汉语言文学 免费获取
制药工程 生物工程 包装工程 模具设计 测控专业 工业工程 教育管理 行政管理 应用物理 电子信息工程 服装设计工程 教育技术学 论文降重
通信工程 电子机电 印刷工程 土木工程 交通工程 食品科学 艺术设计 新闻专业 信息管理 给水排水工程 化学工程工艺 推广赚积分 付款方式
  • 首页 |
  • 毕业论文 |
  • 论文格式 |
  • 个人简历 |
  • 工作总结 |
  • 入党申请书 |
  • 求职信 |
  • 入团申请书 |
  • 工作计划 |
  • 免费论文 |
  • 现成论文 |
  • 论文同学网 |
搜索 高级搜索

当前位置:论文格式网 -> 免费论文 -> 其他论文

网络课程开发与管理系统(三)

本论文在其他论文栏目,由论文格式网整理,转载请注明来源www.lwgsw.com,更多论文,请点论文格式范文查看
教师编号 自动编号 4 主键,唯一
用户名 Varchar 50 登录系统的用户名
密码 Integer 4 登录系统的密码
真实姓名 Varchar 50 用户的真实姓名
性别 Varchar 50 用户的性别
民族 Varchar 50 用户的民族
身份证 Varchar 50 教师的身份号码
职称 Varchar 50 教师的职称
办公室电话 Varchar 15 教师办公室电话
手机 Varchar 15 教师手机号码
宅电 Varchar 15 教师家里电话
E-mail Varchar 50 教师的邮箱地址
所属学院 Varchar 50 教师所在的学院
家庭地址 Varchar 50 教师的家庭住址
来校时间 datetime 8 默认为“getdate()”
教师简介 Varchar 200 教师的自我介绍
教师标志 Integer 4 显示教师状态
 该表中教师编号为主键,增加记录时自动加1,用户名和密码字段保存了教师用于登录系统的信息。教师标记用于区分教师是否通过管理员审核,只有通过审核后,教师才可以正常登录该系统,其他字段则保存了教师的基本信息。

 邮件信息表(mails): 表结构如表3.4。
 表3.4 邮件信息表
字段名 字段类型 字段长度 说明
邮件编号 自动编号 4 主键,唯一
收信人编号 Varchar 50 用于保存收信人ID号
收信人姓名 Varchar 50 用于保存收信人姓名
发信人编号 Varchar 50 用于保存发信人ID 号
邮件标题 Varchar 8000 
邮件内容 Integer 4 
邮件发送日期 datetime 8 默认为“getdate()”
附件信息 Varchar 200 附件保存的地址和附件名称等
邮件标志 Integer 4 显示邮件状态
 在数据表设计时,采用了适当的冗余来提高编程的效率,程序执行的速度以及程序的可读性。例如在邮件表(mails)中,除了用于与表相关联的收信人编号字段外还保留了收信人姓名字段,这样在单独处理该事务时,不需要通过收信人编号从相应表中读出对应的收信人姓名,极大的提高了运行速度和编程效率,因此适当的冗余是完全合理的。
3.4 安全设计
 本系统在设计时从以下几个方面考虑系统的安全性。
 首先,本系统采用MVC(即Model-View-Controller)模式来开发,实现了业务逻辑、显示逻辑、控制逻辑的分离。Model表示Web应用程序的业务逻辑,常用JavaBean,View表应用程序显示的界面性程序,用JSP实现,Controller是应用程序的控制逻辑,用Servlet来控制。其中,JSP相对其他Web开发语言具有相对较高的安全性,而且业务逻辑程序修改时,对其他程序没有影响,不容易产生错误,便于程序的扩展。
 其次,登录本系统时都必须经过用户名、密码和验证码的验证,只有通过验证方可进入系统。并且在系统各个界面均设置了用户判断,用户不可通过直接在地址栏中输入页面路径进入该页面,或进入页面时间过长当session对象中保存值失效则不能进行相关操作,必须重新进入本系统,以防止用户忘记退出登录来保证安全。
 
4 系统详细设计
4.1 系统组件设计
 组件在整个系统开发模式中的位置是处于数据库与页面之间。在整个应用过程中,我们都需要进行字符或数据的交互处理,因此十分必要对字符进行组件的封装设计,以方便系统各种处理的需要。
 数据库处理组件是位于数据库最近的一层,这一层如何设计也是我们要详细介绍的,其他的组件都是在此组件之上进行开发设计的。因此该层组件至关重要。如果此层组件已经封装好了,可以直接调用了。
 系统要实现的功能主要包括如下几个方面:后台管理用户登录、退出功能,新课程申请,课程查看、初期设置、修改、删除,课程模块内容添加、删除,课件上传、排序,讨论区留言的添加、回复、删除,邮件的查看、恢复、删除以及写新邮件。要实现这些功能,我们就需要对这些功能的细节部分进行抽象与封装,形成固定组件,供页面直接调用。
4.1.1 文件组成结构
 此系统采用了标准的MVC架构,所有的JSP页面的请求都提交给一个Servlet控制器统一进行分发处理,然后再由该控制器进行页面跳转。

 

 

 

 

 

图4.1 程序目录结构图
 文件目录结构如图4.1所示,在 WEB-INF目录下包含classes和lib两个子目录,classes目录下包含action、bean、com三个目录,bean目录下又包含了dbBean、dataBean、dealBean和logicBean四个目录。分别介绍如下:
 Action: 顾名思义,是执行动作的类文件。控制器在执行相关操作时会调用该目录下的相应类文件。该包下所有的类均继承自一个父类Action.java,该父类定义了操作动作的接口函数perform,这样在控制器调用该类的任何一个子类时都可以统一地写该函数来执行对应动作了。具体的可以参见API;
 dbBean: 封装了数据库连接、查询、删除和更新等操作的相关类,本系统中所有数据库操作的类均继承自该目录下的ConnBean.java类。
 dataBean: 该包下的所有类文件,用于页面和控制器等类进行交互时存储所需要的所有数据的,相当于一个临时的全局变量,在一个操作动作的开始把所需要的数据加载进该包下相应的类,在执行操作时都提取相应类的数据,结束时释放该对象。该对象成为了一个数据的中转站,便于数据集中管理。
 dealBean: 该包下封装了一个字符串处理类dealDtring.java,该类中包含了本系统所用到了所有字符串处理的函数。
 logicBean: 包含了系统中的所有逻辑处理类。
4.1.2 底层组件
 在图5.1所示的目录lib下放置的是已经打包成JAR文件的底层组件。通过这些封装好的组件,可以完成以下的功能:数据库连接和处理、文件上传与下载、Struts框架的实现。其中,jspSmartUpload是由www.jspSmart.com网站开发的一个可免费使用的全功能的文件上传下载组件,不仅可以实现文件地上传和下载,还可以限制文件的大小、上传文件的类型等等,我们在JSP中使用jspSmartUpload开发包时,实际上是调用了开发包中几个JavaBean类中的方法来实现文件的上串和下载功能的。Struts等开发包则是定义了Struts框架的核心类,标记库以及相关规则等,我们应用Struts框架所用的所有技术或方法均在这些开发包中有定义。
4.1.3 数据库组件
 该组件是ConnBean.java,它完成了数据库的连接和相关操作。一般对数据库的操作有增加记录、更新记录、删除记录,还有查询所有的记录,查询某一条记录的属性数据。从实际界面操作的需求来说,这些是最基本的操作要求,因此在此组件中设计了这几个操作。该组件中定义了如下的功能函数:
完成初始化连接
    Public ConnBean ()
查询记录
    Public ResultSet exeQuery (String sql)
更新与插入记录
    Public void exeUpdate (String sql)
删除记录
    Public void exeDelete (String sql)
关闭数据库连接
 Public void close ()
 在执行数据库操作只需调用该组件中的相关函数即可。
4.1.4 数据操作组件集
 该数据操作组件集同时由UserloginBo.java、TeacherInfoBo.java、NewClasssimBo.java、FileBo.java、ModelBo.java、SendMailBo.java、StudentInfoBo.java等组件组成,分别完成了用户登录、教师信息、课程信息、文件信息、模块信息、邮件信息以及学生信息等数据的相关操作。这些类文件的编写继承了组件ConnBean.class。根据继承的思想,这些组件同样拥有ConnBean.class中的类函数:exeQuery (String sql)、exeUpdate (String sql)、exeDelete (String sql)。以下选取了类似的关键功能函数:
public void getoneinfo()
    取得一条记录的信息
public List getopeninfo()
    取得表中所有的记录
public void addnew()
    增加表中数据记录
public void updatamodel()
    修改表中数据记录
public void deleteinfo()
 删除表中数据记录
 接下来举例介绍功能函数的设计。
 取得表中所有记录的函数的编程思想:先写出相应的SQL语句,然后调用ConnBean中的SQL查询函数exeQuery()。因为这些组件均是继承ConnBean的,所以可以直接使用exeQuery()。该查询函数返回一个ResultSet,然后从ResultSet中按顺序取出里面的数据记录,存入相应的Form(该函数保存于dataBean目录下)中,然后将这些Form放入一个List中,该List就是函数的返回值。如果没有相应的记录,则返回的List为空。下面给出的是取得所有申请课程信息记录的程序段:
public List getclassinfo(String teachername,String tag){
 ……
 sql="select * from classes where teachername='"+teachername+"'";
 }else{
    sql="select * from classes where teachername= '"+teachername+"' and tag='"+tag+"'";
    }
    List list = new ArrayList();
    try{
    ResultSet rs=cn.exeQuery(sql);
    while(rs.next()){
     NewClasssimForm clasiminfo = new NewClasssimForm();
     clasiminfo.setClassID(rs.getString("classID"));
     clasiminfo.setTag(rs.getString("tag"));
     clasiminfo.setClassname(rs.getString("classname"));
     clasiminfo.setClassintr(rs.getString("classintr"));
     list.add(clasiminfo);
 }
 ……
  
4.2 主要功能模块设计
 本节详细介绍了系统中几个主要功能模块的设计思想、流程及其代码,另附上相关界面。
4.2.1 登录模块设计
登录流程图如图4.2所示。


 
图4.2 登录流程示意图
 
 中间判断代码程序段如下所示。
 ……
  String trcheckpass =(String)session.getAttribute("rand");   //获取正确的验证码
  if(checkpass.equals(trcheckpass)){                     //验证码判断
    String validated = "";
    try{
    UserLoginBo userLoginBo=new UserLoginBo();
    validated =userLoginBo.validatePwd(username,password,type);
    if(validated.equals("true")){                       //访问数据库成功
      //保存正确信息
      session.setAttribute("username",username);
        if(type.equals("teachers")){
         return mapping.findForward("tesuccess");       //返回到教师管理界面
        }
        else if(type.equals("manages")){
        return mapping.findForward("masuccess");       //返回到管理员管理界面
        }
    }
    else{
     ActionError error=new ActionError("error.nosuchuser");
        errors.add(ActionErrors.GLOBAL_ERROR,error);  //保存出错信息
    ……


 本系统教师和管理员登录界面在设计时重点突出清晰简洁的风格,让使用者有耳目一新的感觉。登录界面上主要由一个表单、三个文本框、两个单选按钮和一个提交按钮组成,文本框主要是用来输入用户名、密码和验证码的,单选按钮则用于让用户选择其登录的身份。另外还有一些提示性文本和美化界面的图片以及正确的验证码图片。以管理员登录为例,当用户输入用户名、密码以及验证码,按下“提交”按钮后,将激活登录信息验证程序,首先进行验证码的验证,验证通过后由JDBC访问数据库,将登录信息与管理员表(manages)的信息进行比较验证,如果一致就进入相应的页面,否则报错并返回。教师和管理员登录界面命名为admin_login.jsp,该登录界面如图4.3所示。
 
 图4.3 管理员与教师登录主界面
4.2.2 导航目录模块设计
 本系统采用了框架形式开发,框架的左部分为整个管理界面的导航目录,目录下又细分为若干个子目录。以教师管理界面为例,(如图4.4所示)导航目录分为新课程开发、课程管理、消息管理、讨论区管理和用户信息管理五个部分,初始各目录为闭合状态,单击其中某一目录,则显示相应的子目录,其他子目录仍为隐藏状态,采用此设计的目的是为了提高版面布局合理性和界面美观。
 图4.4  导航目录界面
 具体实现方法为在页面中用java script编写了如下代码程序段。
<script>
function hideAll() {
  for(i=0;i<odiv.length;i++) {
    odiv[i].style.display="none";
  }
}

function showObj(num) {
  if (odiv[num].style.display=="none") {
    hideAll();
    odiv[num].style.display="inline";
  }
  else {
    odiv[num].style.display="none";
  }
}
</script>

首页 上一页 1 2 3 4 5 下一页 尾页 3/5/5


相关论文
上一篇:哈希表的应用-英语单词频率统计 下一篇:输油泵模糊故障诊断
Tags:网络课程 开发 管理系统 【收藏】 【返回顶部】
人力资源论文
金融论文
会计论文
财务论文
法律论文
物流论文
工商管理论文
其他论文
保险学免费论文
财政学免费论文
工程管理免费论文
经济学免费论文
市场营销免费论文
投资学免费论文
信息管理免费论文
行政管理免费论文
财务会计论文格式
数学教育论文格式
数学与应用数学论文
物流论文格式范文
财务管理论文格式
营销论文格式范文
人力资源论文格式
电子商务毕业论文
法律专业毕业论文
工商管理毕业论文
汉语言文学论文
计算机毕业论文
教育管理毕业论文
现代教育技术论文
小学教育毕业论文
心理学毕业论文
学前教育毕业论文
中文系文学论文
最新文章
热门文章
计算机论文
推荐文章

本站部分文章来自网络,如发现侵犯了您的权益,请联系指出,本站及时确认删除 E-mail:349991040@qq.com

论文格式网(www.lwgsw.com--论文格式网拼音首字母组合)提供其他论文毕业论文格式,论文格式范文,毕业论文范文

Copyright@ 2010-2018 LWGSW.com 论文格式网 版权所有