基于SSM远程同步课堂系统的设计与实现
摘要
在这样一个网络数据大爆炸的时代,人们获取知识、获取信息的通道非常的多元化,通过网络来实现数据信息的获取成为了现在非常常见的一种方式,而通过网络进行教学,在网络上进行远程的课堂培训,能够根据学生不同的学习习惯、学习要求来实现远程的数据访问,从而实现实时的远程课堂服务工作。本次就是通过利用JSP技术、SSM框架技术和MySQL数据库来进行一款远程同步课堂系统的开发,通过该网站内的开发来实现在线的学生注册、课堂学习、视频播放等功能来实现具体的内容服务,为学生用户提供一个在线学习的平台,从而实现教育的线上化。
关键词:远程同步课堂;系统设计与实现;JSP技术;MySQL
系统的实现
首页
用户注册界面
论坛版块的信息添加
课程播放页面
系统管理员界面
可行性分析
本次的技术选择比较的常规,选择了JSP技术来作为主要的开发技术使用,并且通过SSM框架来更好的通过可视化的框架方式来进行整体的架构搭建和功能模块的设计。而本次的远程课堂系统的数据服务是通过以MySQL搭建数据库来实现数据的存储、处理等功能使用。通过本次的计算机编程技术能够有效的搭建此次的远程课堂系统,并且能够在在线的课程信息查看、在线的视频播放以及在线的学习讨论等功能的设计上,可以实现完整的、有效的内容开发。总体而言本次的设计中,技术的可行性强。
在经济的可行性上,本次所选择的开发技术、数据库的技术等都是免费的技术,并且这些技术都是开源的技术。所以在本次的技术选择上,需要支付的成本很低。而本次选择的这些技术对于硬件的要求也不高,通过现有的硬件技术就能够实现JSP、SSM等开发技术的安装。而MySQL数据库本身就是轻量级的数据库,占用硬件的硬盘空间很小。整体而言本次的设计所使用的软硬件都没有成本的支出,而此次的设计在素材的选择上,也是采用了免费的素材进行网站的背景布置等操作,整体在开发的过程中经济成本控制得当。而该程序在未来投入到使用中时,也能够为学生、教师提供有效的在线课堂的教学使用,具有很强的实用性。总体而言,此次的远程课堂的开发经济可行性强。
在操作的可行性上,本次远程课堂的操作是在B/S结构下的浏览器中进行系统的打开和使用。在操作的过程中,前端的用户仅仅需要通过输入远程课堂系统的网址就能够进入到前端的页面中进行注册以及内容的操作,而后台的管理操作也是通过简单的登录,来在后台的平台中实现很好的信息管理。整个操作过程与其他的网站并没有区别,因此整个系统的操作过程中,通过简单的鼠标操作,就能够实现很好的操作体验,因此本次设计的系统操作的可行性强。
部分代码
package com.controller;
import java.io.File;
import java.io.IOException;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.io.PrintWriter;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import com.entity.Tiezi;
import com.server.TieziServer;
import com.util.PageBean;
import net.sf.json.JSONObject;
import com.util.db;
import java.sql.SQLException;
import java.sql.*;
@Controller
public class TieziController {
@Resource
private TieziServer tieziService;
@RequestMapping("addTiezi.do")
public String addTiezi(HttpServletRequest request,Tiezi tiezi,HttpSession session) throws SQLException{
Timestamp time=new Timestamp(System.currentTimeMillis());
tiezi.setAddtime(time.toString().substring(0, 19));
tieziService.add(tiezi);
session.setAttribute("backxx", "添加成功");
session.setAttribute("backurl", request.getHeader("Referer"));
//session.setAttribute("backurl", "tieziList.do");
return "redirect:postback.jsp";
//return "redirect:tieziList.do";
}
// 处理编辑
@RequestMapping("doUpdateTiezi.do")
public String doUpdateTiezi(int id,ModelMap map,Tiezi tiezi){
tiezi=tieziService.getById(id);
map.put("tiezi", tiezi);
return "tiezi_updt";
}
// 后台详细
@RequestMapping("tieziDetail.do")
public String tieziDetail(int id,ModelMap map,Tiezi tiezi){
tiezi=tieziService.getById(id);
map.put("tiezi", tiezi);
return "tiezi_detail";
}
// 前台详细
@RequestMapping("tzDetail.do")
public String tzDetail(int id,ModelMap map,Tiezi tiezi){
tiezi=tieziService.getById(id);
map.put("tiezi", tiezi);
return "tiezidetail";
}
//
@RequestMapping("updateTiezi.do")
public String updateTiezi(int id,ModelMap map,Tiezi tiezi,HttpServletRequest request,HttpSession session){
tieziService.update(tiezi);
session.setAttribute("backxx", "修改成功");
session.setAttribute("backurl", request.getHeader("Referer"));
return "redirect:postback.jsp";
//String url = request.getHeader("Referer");
//return "redirect:"+url;
//return "redirect:tieziList.do";
}
// 分页查询
@RequestMapping("tieziList.do")
public String tieziList(@RequestParam(value="page",required=false)String page,
ModelMap map,HttpSession session,Tiezi tiezi, String bankuai, String biaoti, String leixing, String neirong, String fujian, String faburen){
if(page==null||page.equals("")){
page="1";
}
PageBean pageBean=new PageBean(Integer.parseInt(page), 15);
Map<String, Object> pmap=new HashMap<String,Object>();
pmap.put("pageno", pageBean.getStart());
pmap.put("pageSize", 15);
if(bankuai==null||bankuai.equals("")){pmap.put("bankuai", null);}else{pmap.put("bankuai", bankuai);}
if(biaoti==null||biaoti.equals("")){pmap.put("biaoti", null);}else{pmap.put("biaoti", biaoti);}
if(leixing==null||leixing.equals("")){pmap.put("leixing", null);}else{pmap.put("leixing", leixing);}
if(neirong==null||neirong.equals("")){pmap.put("neirong", null);}else{pmap.put("neirong", neirong);}
if(fujian==null||fujian.equals("")){pmap.put("fujian", null);}else{pmap.put("fujian", fujian);}
if(faburen==null||faburen.equals("")){pmap.put("faburen", null);}else{pmap.put("faburen", faburen);}
int total=tieziService.getCount(pmap);
pageBean.setTotal(total);
List<Tiezi> list=tieziService.getByPage(pmap);
map.put("page", pageBean);
map.put("list", list);
session.setAttribute("p", 1);
return "tiezi_list";
}
@RequestMapping("tieziList2.do")
public String tieziList2(@RequestParam(value="page",required=false)String page,
ModelMap map,HttpSession session,Tiezi tiezi, String bankuai, String biaoti, String leixing, String neirong, String fujian, String faburen,HttpServletRequest request){
/*if(session.getAttribute("user")==null){
return "login";
}*/
if(page==null||page.equals("")){
page="1";
}
PageBean pageBean=new PageBean(Integer.parseInt(page), 15);
Map<String, Object> pmap=new HashMap<String,Object>();
pmap.put("pageno", pageBean.getStart());
pmap.put("pageSize", 15);
pmap.put("faburen", (String)request.getSession().getAttribute("username"));
if(bankuai==null||bankuai.equals("")){pmap.put("bankuai", null);}else{pmap.put("bankuai", bankuai);}
if(biaoti==null||biaoti.equals("")){pmap.put("biaoti", null);}else{pmap.put("biaoti", biaoti);}
if(leixing==null||leixing.equals("")){pmap.put("leixing", null);}else{pmap.put("leixing", leixing);}
if(neirong==null||neirong.equals("")){pmap.put("neirong", null);}else{pmap.put("neirong", neirong);}
if(fujian==null||fujian.equals("")){pmap.put("fujian", null);}else{pmap.put("fujian", fujian);}
int total=tieziService.getCount(pmap);
pageBean.setTotal(total);
List<Tiezi> list=tieziService.getByPage(pmap);
map.put("page", pageBean);
map.put("list", list);
session.setAttribute("p", 1);
return "tiezi_list2";
}
@RequestMapping("tzList.do")
public String tzList(@RequestParam(value="page",required=false)String page,
ModelMap map,HttpSession session,Tiezi tiezi, String bankuai, String biaoti, String leixing, String neirong, String fujian, String faburen){
if(page==null||page.equals("")){
page="1";
}
PageBean pageBean=new PageBean(Integer.parseInt(page), 15);
Map<String, Object> pmap=new HashMap<String,Object>();
pmap.put("pageno", pageBean.getStart());
pmap.put("pageSize", 15);
if(bankuai==null||bankuai.equals("")){pmap.put("bankuai", null);}else{pmap.put("bankuai", bankuai);}
if(biaoti==null||biaoti.equals("")){pmap.put("biaoti", null);}else{pmap.put("biaoti", biaoti);}
if(leixing==null||leixing.equals("")){pmap.put("leixing", null);}else{pmap.put("leixing", leixing);}
if(neirong==null||neirong.equals("")){pmap.put("neirong", null);}else{pmap.put("neirong", neirong);}
if(fujian==null||fujian.equals("")){pmap.put("fujian", null);}else{pmap.put("fujian", fujian);}
if(faburen==null||faburen.equals("")){pmap.put("faburen", null);}else{pmap.put("faburen", faburen);}
int total=tieziService.getCount(pmap);
pageBean.setTotal(total);
List<Tiezi> list=tieziService.getByPage(pmap);
map.put("page", pageBean);
map.put("list", list);
session.setAttribute("p", 1);
return "tiezilist";
}
@RequestMapping("deleteTiezi.do")
public String deleteTiezi(int id,HttpServletRequest request){
tieziService.delete(id);
String url = request.getHeader("Referer");
return "redirect:"+url;
//return "redirect:tieziList.do";
}
}
系统测试
首先是通过对系统的功能进行测试,在对其功能进行测试时,通过利用不同的角色来进行不同的内容操作使用。通过学生角色进入到系统中,先进行注册,再进行论坛的帖子发布,在帖子发布上,通过新增帖子,在帖子下进行留言的方式来对该功能进行测试。通过在线课程查看,进入到课程信息中通过点击视频播放来进行课程的播放测试,确保视频可以进行流畅的播放。而在后台的测试过程中,本次是通过对管理员的角色下的管理权限内容来进行详细的使用,通过详细的内容操作来实现对整个后台的整体功能完整测试的实现。
其次是在非功能的测试环节上,在该环节上,通过对系统的响应时间进行有效的测试,确保整个系统能有效的实现快速的运行,在视频的播放、留言的服务上都能够实现快速稳定的显示和信息的反馈。后台管理员在数据的管理上,通过对数据的维护需要进行使用的检测,确保修改数据库内容可以实现快速完整的修改,并且在数据库中的内容存储上,也能够实现完整的内容存储实现。对数据库口令的内容设计也要实现有效的设计,对数据库的安全性进行合理的设计确保数据库的存储信息完整、准确。
最后是在页面的测试上,需要保证页面的整体显示正常,内容显示完整,整个内容都可以有很好的展示服务,保证文字、图片都能够清晰的展示。
结论
远程课堂服务,在当下已经为学校提供了很好的线上化教育的功能实现,通过线上化的视频播放、线上的师生交流,能够很好的实现多媒体、多样化的教学方式的实现。本次通过利用SSM框架、JSP技术的设计来为设计一款远程课堂系统,本次是通过利用对远程教学的课题背景研究,对于此次的系统开发进行了很好的开发意义总结。通过对本次所采用的技术进行简单的介绍,通过对此次的开发需求进行良好的内容调研,在对整个系统的可行性分析进行有效的判断,总结出了此次的整体框架,在框架搭建完毕之后,通过对整个系统进行有效的功能、数据库等内容的设计开发,从而实现了整个系统的有效开发实现。最后,通过测试,可以确定本次的系统测试可以有效地实现运行服务。