基于Java web的校园网分析与设计
2018-03-02杨娟
杨娟
摘要:校园网是为学校师生提供教学资源及综合信息服务的平台,同时,也是学校和学生之间沟通的桥梁。本文运用MVC运行模式,分析并设计基于Java web平台的校园网站。
关键词:Java web;校园网;MVC
中图分类号:TP311.52 文献标识码:A 文章编号:1007-9416(2018)12-0162-02
0 引言
随着现代社会的发展,信息的飞速交替,为了方便学校对学生信息的管理,以及学校信息的发布等,校园网应运而生。校园网系统的研究开发,对信息的交互、信息的管理、新闻资讯的传播等都有裨益,另一方面,也是学校展示教学资源、优秀教师和学生展示自我提供的平台。因此,开发校园网系统,建立师生沟通的桥梁尤其重要。
1 校园网架构设计
本文基于Java web平台进行校园网站的分析与设计。该网站拥有六大板块,分别为首页、校园简介、校园新闻、教务系统、校园论坛以及教务系统模块,主要功能分别对应校园网首页、学校历史信息介绍、学校各种新闻趣事分享、学生或教师的信息操作、链接校园BBS论坛以及对校园的建议留言。
在技术方面上,运用Eclipse和SqlServer數据库进行关联,前台合计,运用HTML语言和CSS、JavaScript以及jQuery样式对前台的页面样式进行美化编辑,在代码编写过程运用企业最基本的三层架构的模式—MVC运行模式,对代码的职责进行了单一化的划分,做到了一处编写,多处运行的原则,避免的代码的冗余。
2 系统分析与设计
2.1 数据库设计
本设计所用到的数据库表有以下:学生表、教师表、课程表、选课表、新闻表、论坛模块表、主题表、帖子表、回帖表。数据项以及数据结构如下:
(1)学生表:(ID,学生学号,学生姓名,学生性别,学生年龄,学生密码,学生专业,学生地址,学生籍贯);(2)教师表:(ID,教师职工编号,教师姓名,教师性别,教师年龄,教师密码,教师所在二级院系,教师地址,教师籍贯);(3)课程表:(ID,课程编号,课程名,授课教师ID);(4)选课表:(ID,选课学生ID,选课教师ID,所选课程ID);(5)新闻表:(ID,新闻名称,新闻内容);(6)论坛模块表:(ID,论坛模块名称,论坛模块简介);(7)主题表:(ID,所属模块ID,主题名);(8)帖子表:(ID,帖子所属模块ID,帖子所属主题ID,帖子发帖学生ID,帖子名,帖子内容简介,帖子的具体内容);(9)回复表:(ID,回复所属帖子ID,回帖学生ID,回帖内容)。
本系统使用微软数据库提供的Jdbc-Helper帮助文档,是对数据库访问的轻量级封装。能够方便数据之间的链接,数据的输出,简化了操作人员对数据库信息的变更。使用Jdbc-Helper需要配置一些文件,一个是访问链接数据库字符串,用来编写链接数据库的编码信息。一个是RUNTIME实现类,用于提供链接字符串的读取。另一个是监听器,用于实现类的加载。通过这三个文件的联动使用,完成Ecplise与数据库之间的链接。
2.2 控制层的设计
控制层的设计用到的是Servlet和Jsp的方式进行编写的,利用MVC的编写方式,所谓MVC就是指客户端发送请求,通过所有设置的监听器之后,才会被前端控制器捕获,前端控制器即Controller,对从客户端捕获的请求进行解析,找到相应的后台控制器,并将请求发送给后台控制器,后台控制器接受请求之后,对请求进行识别,创建Modal,然后将创建的Modal返回给前段控制器,由前段控制器找到相应的视图层即VIEWS,然后将视图返回给客户端。而之中的后台控制器又分多个层面,即后台控制器在接受到请求之后,会先到业务逻辑层,接着将获取到的请求再转手到数据访问层,在数据访问层对数据库进行连接,之后就可以进行数据的访问,即在数据访问层可以进行数据的交互,对数据库中的信息进行符合权限的增删查改。
2.3 系统主要功能模块设计
2.3.1 校园简介页面设计
当用户在导航上点击校园简介按钮后,会对按钮标注的控制器名进行读取,然后调到控制器页面,在从控制器找到相应的JSP页面,最终将视图显示出来。在导航栏按钮点击之后,会跳转到控制器页面,而控制器跳转到jsp页面代码以及其跳转到的jsp页面代码如下:
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.getRequestDispatcher("views/client/First.jsp").forward(request, response);
}
2.3.2 校园新闻页面
从前台的链接中获取新闻的ID属性,在数据库中获取对应了数据,在页面中进行显示:获取相应的新闻ID后从数据库中获取数据的部分代码如下:
public static List<News> gets() {
// TODO Auto-generated method stub
String sql = "SELECT * FROM News";
JdbcHelper jdbc=new JdbcHelper(RuntimeContext.getDataSource());
List<News> news = jdbc.queryForList(sql, NewsMapper.selector());
return news;