中小学通用作业管理平台doc
上海电力学院
应用软件设计课程报告
题 目: 基于Spring mvc 的中小学通用作业管理平台 学 号: 20133020 姓 名: 刘亚金 学 号: 2013018 姓 名: 包立峰 院 系: 计算机科学与技术学院 专业年级: 软件工程2013级
2015 年 11月 25日
目录
目录 .................................................................................................................................................. 2
第一章 系统需求与分析 . .............................................................................................................. 4
1.1系统需求的描述 . ................................................................................................................ 4
1.2需求分析 . ............................................................................................................................ 5
1.2.1、中小学通用作业管理平台的用例图 . .................................................................. 5
1.2.2识别参与者和用例 . ................................................................................................. 7
第二章 系统设计 . ............................................................................................................................ 7
2.1系统构架 . ............................................................................................................................ 7
2.2系统概要设计 . .................................................................................................................... 8
2.3系统详细设计 . .................................................................................................................... 9
2.3.1功能模块的划分 . ..................................................................................................... 9
2.4. 数据库设计 . ...................................................................................................................... 10
2.4.1 E-R 图: .............................................................................................................. 10
2.4.2数据库表设计 . ....................................................................................................... 11
2.5. 分层描述 . .......................................................................................................................... 13
2.5.2控制处理层(控制器,即各Controller ler); ................................................... 14
2.5.3业务逻辑层(模型,即各dao,service ); .......................................................... 14
2.5.4实体类; . ............................................................................................................... 15
第三章 系统关键模块实现 . ........................................................................................................ 16
3.1 后台模块 . ....................................................................................................................... 16
3.1.1学校管理员登陆 . ................................................................................................... 16
3.1.3 学校学生信息管理 . .............................................................................................. 18
3.1.4 学校教师信息管理 . .............................................................................................. 20
3.1.5 学校课程信息管理 . .............................................................................................. 22
3.2 教师用户模块 . ................................................................................................................. 26
3.2.1教师登录和主页 . ................................................................................................... 26
3.2.2 教师查看作业 . ...................................................................................................... 27
3.2.4教师布置作业 . ....................................................................................................... 29
3.2.5 查看自己被分配的课程 . ...................................................................................... 30
3.2 教师用户模块 . ................................................................................................................. 31
3.2.1学生登录和主页 . ................................................................................................... 31
3.2.2学生上交作业 . ....................................................................................................... 32
第四章 系统测试 . ........................................................................................................................ 33
4.1基本内容 . .......................................................................................................................... 33
4.1.1、项目背景 . ........................................................................................................... 33
4.1.2、定义..................................................................................................................... 34
4.1.3、参考资料 . ............................................................................................................ 34
4.2任务概述 . .......................................................................................................................... 34
4.2.1、目标..................................................................................................................... 34
4.2.2、运行环境 . ............................................................................................................ 34
4.3计划 . .................................................................................................................................. 35
4.3.1、测试方案 . ............................................................................................................ 35
4.3.2、测试准备 . ............................................................................................................ 35
4.4 功能测试 . ......................................................................................................................... 35
4.4.1公共功能模块测试 . ............................................................................................... 35
4.4.2教师模块功能测试 . ............................................................................................... 37
4.4.3学生模块功能测试 . ............................................................................................... 39
4.4.4学校管理员功能模块测试 . ................................................................................... 43
4.5、测试机构人员 . ....................................................................................................... 48
4.6、测试结果 . ............................................................................................................... 48
4.7 评价 . ................................................................................................................................. 48
4.7.1、软件能力 . ............................................................................................................ 48
4.7.2、缺陷和限制 . ........................................................................................................ 48
4.7.3、建议..................................................................................................................... 48
4.7.4、测试结论 . ............................................................................................................ 49
第五章 系统开发总结与心得体会 . ............................................................................................ 49
参考文献......................................................................................................................................... 49
第一章 系统需求与分析
1.1系统需求的描述
当前处于互联网高速发展的阶段,互联网网络技术遍及到各个行业,影响各行各业的发展。毫不夸张的说当今时代脱离了互联网的行业终将走向终结。
当然,在互联网盛行的今天,有很多学校也利用到了互联网技术进行学校讯息的管理。
很多学校信息管理平台就是基于互联网科技制作出的管理平台,方便了学生在学校的一些活动,也方便了管理员管理学校的信息,也方便了教师对班级作业布置和收作业的情况,极力加快解决了学校一些繁杂的事情,使学校机构运行更快捷,更高效,更方便。
此系统就是针对中小学学校学生作业管理平台,教师布置作业只需要通过操作此平台就可以轻松搞定学生要写的作业;然而学生可以通过平台登录自己的账号,查看教师布置的作业并下载。
中小学作业平台管理系统有三个角色,学生,教师和管理员。每个学校都有对应的一个管理员,每个学校的管理员只有一个。学校管理员可以管理学生信息,教师信息,和课程信息等学校信息,主要功能还是基于一些信息的增,删,改,查。学生和教师的使用权限只能有管理注册使用,任何人都不能自行注册账号。
利用网站平台很好的管理一些学校纷繁事情,高效简洁的学生作业管理系统。
1.2需求分析
1.2.1、中小学通用作业管理平台的用例图
1.2.2识别参与者和用例
通过对系统的分析,可以确定系统有三个参与者,分别是学生用户,教师用户和学校管理员。各个参与者的描述如下:
□学生用户:学生可以查看并下载老师布置的作业,也可以把自己的作业上传 至作业管理平台上,以供教师检查或者下载查看。
□教师用户:教师可以查看并下载学生上传的作业,教师也可以给学生布置作 业(以上传的形式),以供学生查看布置的作业以及要求。
□学校管理员:主要负责管理整个系统,学校基本信息的管理(学生信息,教 师信息,课程信息等)。
1)学生用户请求服务的用例图
用例图说明如下:
●登陆用例 完成登陆功能,验证身份以保证系统的安全。
●查看作业用例 查看并下载教师布置的作业及对作业的要求
●查看已上交作业用例 学生查看自己已经上交过的作业,并可以重新上交 重新上交之前需要删掉之前交作业的记录。
2)教师用户请求服务的用例
●登陆用例 完成登陆功能,验证身份以保证系统的安全。
●教师布置作业用例 教师布置作业,上传作业题目或者作业要求(文件形式) ●教师查看作业用例 教师查看学生上交的作业(以下载的形式)
●查看分配的课程用例 教师授课主要是通过管理分配的科目而定。
第二章 系统设计
2.1系统构架
系统基于SpringMVC(Model-View-Controller ler)设计模式,即把一个应用的输入、处理输出流程按照Model ,View ,Controller ler来设计,如图
图3 系统MVC 构架
2.2系统概要设计
在软件需求分析阶段,搞清楚了软件“做什么”的问题,形成了目标系统的逻辑模型。现在我们所要做的就是要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现软件的需求。
系统的概要设计中最重要的就是系统的模块化。模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干个模块的过程。每个模块完成一个特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。
将系统划分为多个模块是为了降低软件系统的复杂性,提高可读性、可维护性,但模块的划分不能是任意的,应尽量保持其独立性。也就是说,每个模块只完成系统要求的子功能,并且与其他模块的联系最少且接口简单,即尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。
在系统的概要设计中本系统采用结构化设计(Structure Design ,SD ),SD 以需求分析阶段产生的数据流图DFD 为基础,按一定的步骤映射成软件结构。本文首先将整个系统划分成几个小模块,小问题。
2.2.1系统架构设计
系统整个架构分为UI 层、BLL 层、DAL 层以及数据库。其中、UI 层使用安卓界面编辑窗体设计界面。在xml 文件中使用不同的界面结构对相应的功能模块进行设计。然后将UI
层获取到的数据传给BLL 层,之后BLL 层通过调用DAL 中的方法把从UI 层获得的对象传递给DAL 层,最后DAL 调用database 命名空间的类把从BLL 层获得的对象来对数据库进行相应的操作。同样的,DAL 层通过相应的类从数据库中取出数据,然后把数据传递给BLL 层,再传递给UI 层。
2.3系统详细设计
2.3.1功能模块的划分
从功能描述内容可以看到,教材管理系统划分为三大模块:系统基本功能、基本信息管理,基本信息查看。而每一个大的模块又可以划分为许多个小的模块,所有模块图,如图所示:
如图所示,在功能模块示意图的树状结构中,每一个叶节点都是一个最小的功能模块。每一个功能模块都需要针对不同的表完成相同的数据操作,即相应的增删改查。
2.4. 数据库设计
2.4.1 E-R 图:
2.4.2数据库表设计
本系统使用MySql 数据库 1. 学校管理员表
2. 教师信息表
3. 学生信息表
4. 课程信息表
5. 教室布置作业表(学生查看作业表)
6. 学生上交作业表(教师查看已交作业表)
2.5. 分层描述
2.5.1用户表示层(视图,即各jsp 文件)
2.5.2控制处理层(控制器,即各Controller ler);
2.5.3业务逻辑层(模型,即各dao,service );
2.5.4实体类;
第三章 系统关键模块实现
3.1 后台模块 3.1.1学校管理员登陆
Controller :
//////-----------管理员登录----------/////// @RequestMapping(value="/adminlog")
public String adminlogin(Map map,HttpSession session,Admin
session.setAttribute("schoolname" , admin.getScname()); session.setAttribute("AID" , admin.getAid()); map.put("scname" , admin.getScname()); map.put("AID" , admin.getAid()); System. out .println(">>管理
admin){
员>"+admin.getAid()+admin.getApwd()+admin.getScname());
if (adminservice .adminlog(admin.getAid(),admin.getApwd(),admin.getScname()))
}
return "adminmain" ; return "adminlogin" ;
3.1.2学校管理员首页
Controller :
//////-----------管理员登录----------/////// @RequestMapping(value="/adminlog")
public String adminlogin(Map map,HttpSession session,Admin
session.setAttribute("schoolname" , admin.getScname()); session.setAttribute("AID" , admin.getAid()); map.put("scname" , admin.getScname()); map.put("AID" , admin.getAid()); System. out .println(">>管理
admin){
员>"+admin.getAid()+admin.getApwd()+admin.getScname());
if (adminservice .adminlog(admin.getAid(),admin.getApwd(),admin.getScname()))
}
return "adminmain" ; return "adminlogin" ;
3.1.3 学校学生信息管理
Controller :
@RequestMapping(value="/student-manage")
public String stumanage(Mapmap,Admin admin){ }
System. out .println(" 管理员管理学校名称是:"+admin.getScname()); map.put("school" , admin.getScname()); return "student-manage" ;
@RequestMapping(value="delstu" )
public String delStudent(Student stu){
stuservice .delStuById(stu.getSid());
}
System. out .println(">>>>>>>>>>>"+stu.getSid()+stu.getScname()); return "student-manage" ;
@RequestMapping(value="/addstu",method=RequestMethod.POST ) public String addStudent(Student stu){ }
@RequestMapping(value="/updatestu",method=RequestMethod.POST ) public String updateStudent(Student stu){ }
stuservice .saveStudent(stu);
System. out .println(">>>>>>>>>>>"+stu.getSid()+stu.getSpwd()); return "adminmain" ;
stuservice .saveStudent(stu);
System. out .println(">>>>>>>>>>>"+stu.getSid()+stu.getSpwd()); return "student-manage" ;
@RequestMapping(value="/allstu")
public String allstudents(Map map,HttpSession }
List allstus=stuservice .allStudents(admin.getScname()); map.put("allstudents" , allstus); map.put("number" ,allstus.size());
System. out .println(" 所有学生人数是:"+allstus.size()+" 名" ); return "allstudents" ;
session,Admin admin){
3.1.4 学校教师信息管理
Controller : 1. 删除教师
@RequestMapping(value="deltea" )
public String delTeacher(Teacher tea){ } @RequestMapping(value="/addtea",method=RequestMethod.POST ) public String addTeacher(Teacher tea){ } @RequestMapping(value="/updatetea",method=RequestMethod.POST ) public String updateTeacher(Teacher tea){ } @RequestMapping(value="/alltea") public String allteachers(Map map,Admin admin){ } @RequestMapping(value="/deletetea") public String deletetea(Map map,Admin admin){ } @RequestMapping(value="/tearegister") public String tearegister(){ return "tearegister" ;
teaservice .delTeaById(tea.getTid()); System. out .println(" 删除教师信return "teacher-manage" ; 息>>>>>>>>>>>"+tea.getTid()+tea.getScname()); teaservice .saveTeacher(tea); System. out .println(" 添加教return "teacher-manage" ; 师>>>>>>>>>>>"+tea.getTid()+tea.getTpwd()); 2. 更改教师信息 teaservice .saveTeacher(tea); System. out .println(" 更新教师信return "adminmain" ; 息>>>>>>>>>>>"+tea.getTid()+tea.getTpwd()); List allteas=teaservice .allTeachers(admin.getScname()); map.put("allteachers" , allteas); map.put("number" , allteas.size()); System. out .println(" 教师人数:" +allteas.size()); return "allteachers" ; 3. 删除教师信息 List allteas=teaservice .allTeachers(admin.getScname()); map.put("allteachers" , allteas); map.put("number" ,allteas.size()); System. out .println(" 所有教师人数是:"+allteas.size()+" 名" ); return "deletetea" ;
}
3.1.5 学校课程信息管理
Controller :
////////////////////--------------课程信息管理
-----------------//////////////////////
查询所有课程
@RequestMapping(value="/allcourse") public String allcourses(Map map,HttpSession session,Admin } List all=courseService .allCourses(admin.getScname()); map.put("allcourses" , all); map.put("number" ,all.size()); System. out .println(" 所有课程数是:"+all.size()+" 课程" ); return "allcourses" ; admin){
分配课程指定教师:
@RequestMapping(value="/updatecourse") public String updatecourse(Course course,Map } System. out .println(admin.getScname()); List all=courseService .allCourses(admin.getScname()); map.put("teachers" , teaservice .allTeachers(admin.getScname())); map.put("allcourses" , all); map.put("number" , all.size()); return "courseupdate" ; map,HttpSession session,Admin admin){
查看已分配教师的课程
@RequestMapping(value="/isnotnull") public String isnotnull(Course course,Map map,HttpSession } System. out .println(admin.getScname()); List all=courseService .isnotnull(admin.getScname()); map.put("teachers" , teaservice .allTeachers(admin.getScname())); map.put("allcourses" , all); map.put("number" , all.size()); return "isnotnull" ; session,Admin admin){
查看还没有分配课程的教师
@RequestMapping(value="/isnull") public String isnull(Course course,Map map,HttpSession } System. out .println(admin.getScname()); List all=courseService .isnull(admin.getScname()); map.put("teachers" , teaservice .allTeachers(admin.getScname())); map.put("allcourses" , all); map.put("number" , all.size()); return "courseupdate" ; session,Admin admin){
}
添加课程信息 @RequestMapping(value="/addcourse") public String addcourse(Course course){ } @RequestMapping(value="/add") public String add(){ return "addcourse" ; courseService .addCourse(course); return "course-manage" ;
3.2 教师用户模块
3.2.1教师登录和主页
Controller:
@RequestMapping(value="/login") public String login(){ } return "tealogin" ;
@RequestMapping(value="/teamain") public String main(HttpSession session ,Teacher tea){ } session.setAttribute("tid" , tea.getTid()); if (teaservice .queryTeachers(tea.getTid(), tea.getTpwd()).size()==1){ } else return "tealogin" ; session.setAttribute("tname" , return "teamain" ; teaservice .queryTeachers(tea.getTid(), tea.getTpwd()).get(0).getTname());
3.2.2 教师查看作业
Ctroller:
@RequestMapping(value="/xianshi",method = RequestMethod.POST)
public String xianshi(Handhomework hdw,Map map){
String a=hdw.getSclass();
String b=hdw.getCname();
teaservice.allhandhomework(a,b);
map.put("allhomework", teaservice.allhandhomework(a,b));
return "teadownload";
}
@RequestMapping(value="/allcourse",method = RequestMethod.GET)
public String allcourse(Course cou,Teacher tea,Map map,HttpSession session){
String c=tea.getTid();
teaservice.allcourse(c);
map.put("allcou", teaservice.allcourse(c));
return "teacourse";
}
3.2.3 教师下载学生上交作业
Ctroller:
@RequestMapping("/download")
public void downloadFile(String fileName,HttpServletResponse response,HttpServletRequest request){
response.setCharacterEncoding("utf-8");
response.setContentType("multipart/form-data");
response.setHeader("Content-Disposition", "attachment;fileName="+fileName);
try {
String path = request.getSession().getServletContext().getRealPath("/upload"); System.out.println("a"+fileName);
InputStream
+fileName));
OutputStream os=response.getOutputStream();
byte[] b=new byte[1024];
int length;
while((length=inputStream.read(b))>0){
os.write(b,0,length);
}
os.close();
inputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} inputStream=new FileInputStream(new File(path + File.separator
3.2.4教师布置作业
Controller:
@RequestMapping(value="/teaupload" ,method = RequestMethod.POST)
public String upload(@RequestParam(value = "file", required = false) MultipartFile file, HttpServletRequest request, ModelMap model,Arrhomework hw) {
System.out.println("开始");
String path = request.getSession().getServletContext().getRealPath("/upload"); String fileName = file.getOriginalFilename();
// String fileName = new Date().getTime()+".jpg";
System.out.println(path);
File targetFile = new File(path, fileName);
if(!targetFile.exists()){
targetFile.mkdirs();
}
hw.setFilename(fileName);
teaservice.homework(hw);
//保存
try {
file.transferTo(targetFile);
} catch (Exception e) {
e.printStackTrace();
}
model.addAttribute("fileUrl", request.getContextPath()+"/upload/"+fileName);
return "teaupload";
}
3.2.5 查看自己被分配的课程
@Controller
@RequestMapping(value="/allcourse",method = RequestMethod.GET)
public String allcourse(Course cou,Teacher tea,Map map,HttpSession session){
S tring c=tea.getTid();
t easervice.allcourse(c);
m ap.put("allcou", teaservice.allcourse(c));
} return "teacourse";
3.2 教师用户模块 3.2.1学生登录和主页
@RequestMapping(value="/stulog",method = RequestMethod.POST)
public String xianshi(Student stu,Map map,HttpSession session){ String a=stu.getSid(); String c=stu.getSpwd(); String d=stu.getScname();
session.setAttribute("studentid", a); session.setAttribute("studentschool", d);
session.setAttribute("studentclass", stuservice.logStudent(a, c, d).get(0).getSclass()); List e=stuservice.logStudent(a, c, d); if(a==""||c==""){ return "stulogin"; }
else if(a!=""||c!=""||e.size()>0){ return "stumain"; }
else if(e.size()==0){ return "stulogin"; }
return "stulogin"; }
3.2.2学生上交作业
@RequestMapping(value="/stuupload" ,method = RequestMethod.POST)
public String upload(@RequestParam(value = "file", required = false) MultipartFile file, HttpServletRequest request, ModelMap model,Handhomework hdw) { System.out.println("开始");
String path = request.getSession().getServletContext().getRealPath("/upload"); String fileName = file.getOriginalFilename(); // String fileName = new Date().getTime()+".jpg"; System.out.println(path);
File targetFile = new File(path, fileName); if(!targetFile.exists()){ targetFile.mkdirs(); }
hdw.setFilename(fileName);
stuservice.handhomework(hdw); //保存 try {
file.transferTo(targetFile); } catch (Exception e) { e.printStackTrace(); }
model.addAttribute("fileUrl", request.getContextPath()+"/upload/"+fileName); return "stuupload"; }
3.2.3 学生删除重复提交的作业
@RequestMapping(value="/revise",method = RequestMethod.GET)
public String revise(Handhomework hdw,Map map,HttpSession session){ String f=hdw.getHhtime(); stuservice.dehandhomeworkbyhhtime(f); return "stuquery"; }
3.2.3 学生查看下载布置的作业
第四章 系统测试
4.1基本内容 4.1.1、项目背景
所开发软件名称: 中小学通用作业管理平台
项目委托单位:上海电力学院计算机科学与技术学院 项目开发单位:20123095-20123096-开发小组 软件用途: 用于中小学作业管理
4.1.2、定义
静态测试:主要方法有审阅,检查。 单元测试,组装测试,系统测试
主键:数据库表中与其他表主键关联的域。
4.1.3、参考资料
a. b. c. d. e.
项目开发计划; 需求规格说明书; 概要设计说明书; 详细设计说明书; 用户操作手册;
4.2任务概述 4.2.1、目标
测试是“为了尽可能地发现软件中的错误,而不是为了证明程序的正确性”,测试的目的就是在软件投入生产性运行之前,按照测试的原则要求,尽可能多的发现软件中的错误。
4.2.2、运行环境
硬件要求:
● 客户机:普通PC
⏹ CPU : 1.8GHz ⏹ 内存:2GB 以上
⏹ 分辨率:推荐使用1024*768像素 ● WEB 服务器
⏹ CPU : 1.8GHz ⏹ 内存:256MB 以上 ● 数据库服务器
⏹ CPU : 1.8GHz ⏹ 内存:1GB 以上
运行环境:
windows 7操作系统下各浏览器(Firefox,Google,IE 等)
4.3计划 4.3.1、测试方案
测试方法:单元测试,功能测试,界面测试
选取测试用例的原则: 全面考虑所有可能会出现的结果,对系统全方位进行测试
4.3.2、测试准备
1. 确定代码运行环境并正常运行 2. 测试机构及人员 负责人:吴泽稳
职责: 部分功能测试及单元测试内容 负责人:张思图
职责:部分功能测试及单元测试
4.4 功能测试
4.4.1公共功能模块测试
1. 登陆模块测试
图1.1 登陆界面(测试界面)
前台登录成功后跳转页面
教师登录成功后跳转页面
4.4.2教师模块功能测试
1. 教师布置作业用例
图 2.1(测试界面)
结果截图:
图 2.2
2教师查看学生上交作业且下载查看用例测试
3. 教师查看自己要教学科目用例测试
4.4.3学生模块功能测试
1、学生登录模块测试用例
2. 学生查看作业且下载作业要求用例测试
结果截图:
3. 学生上交作业用例测试
结果截图:
4. 学生查询上交的作业且删除错误作业用例测试
结果截图:
4.4.4学校管理员功能模块测试
1. 登陆模块测试
图1.1 登陆界面(测试界面)
前台登录成功后跳转页面
登录成功后跳转页面 2. 学生信息管理功能测试
图 2.1(测试界面)
结果截图:
3. 教师信息管理功能测试
结果截图:
显示教师信息
删除页面
4. 课程管理功能测试
结果截图:
4.5、测试机构人员
吴泽稳 张思图
4.6、测试结果
通过本次测试,我进一步意识到了我们写程序的一些不良习惯和弊端,发现了一些严重缺陷,主要原因如下: 1、浏览器兼容问题
系统在不同的浏览器中显示的效果会发现一些细微的差别,甚至有一些按钮无法点击 2、提示信息不明确
系统在运行的过程中出错时,系统的错误信息提示不明确
4.7 评价 4.7.1、软件能力
测试项目名称:中小学通用作业管理平台 测试主要包括以下几个: ①教师模块 ②学生模块 ③管理员模块
我们可以从以上三个模块的测试的内容、目的和结果中,得出这个结论:该系统能够实现基本的信息的维护,日常业务,和查询功能。
4.7.2、缺陷和限制
1、由于各种插件与框架的使用,使得模块之间的兼容性不稳定,从而导致不同浏览器的展示效果不一样,有些甚至无法使用。
4.7.3、建议
需要找到更加稳定而且成熟的编写优美网页的框架,这样可以使得浏览器更加兼容。 而且在线编辑的插件应该使用开源的,使用起来没有时间限制,而且无需注册,也不需要购买。
4.7.4、测试结论
通过上面各项测试用例测试下来说明, 该系统相对稳定, 测试用例的选择能够适时地满足测试用例设计需求, 基本上达到项目测试所应具有的水平, 相对较客观完善, 与预期效果相差无几, 满足了用户的相应需求.
第五章 系统开发总结与心得体会
在这次课程设计中我们学会了不少东西,同时进一步锻炼了总结解决问题的能力。在设计数据库时,花费了我们大量的时间和精力,考虑的面面俱到,但在后面的编程中发现数据库过于复杂,以致后面的编程很吃力。所以在中途我们又重新设计数据库。在编程过程中,使用了css 样式和java script 来弄前台界面这样的话很省时间和构造框架的时候很方便,虽然是拿来的东西,但是还要经过自己的改造和掺进自己的想法,不然是达不到自己的目的的。操作类和实体类的使用使得jsp 页面的代码更简洁明了。
在整编程中我们还遇到了乱码问题,各种数据类型的转换问题,及偶尔程序崩溃问题。通过看书,以及上网查阅各种资料,尝试了各种办法,重装Mysql ,设置编码格式,进行转码等。最终终于解决了问题
总之,在这次编程过程中,细节是很关键的,我只要是在细节上抓到了问题所在和发现自己在哪里的不足,相信通过这次的锻炼会给自己一个很好的练习机会,使得自己明白以后该怎么去着手一个完整, 实用的项目工程,相信自己会从中学到很多。
参考文献
A 专著
[1]周平 .J2EE 大学教程[M].北京:清华出版社,2008. [2]雷景生 . 数据库原理及应用[M].北京:清华出版社,2008. [3]王慧芳. 毕建全 . 软件工程[M].浙江:浙江大学出版社,2006. [4]麻志毅 . 面向对象的分析与设计[M].机械工业出版社,2013.