题目要求:
使用JSP+Servlet+JavaBean构成的MVC模型,完成课程后台管理系统
运行效果图:
参见演示视频
一、语言和环境
l 实现技术
Java Web技术
l 环境要求及开发工具
JDK1.7以上、Eclipse或IntelliJ IDEA、Tomcat 8.0以上
二、程序整体要求
主要功能:
1、登录功能
权限分为超级管理员和普通管理员。超级管理员用户名密码固定为imooc,普通管理员需由超级管理员进行添加和删除。要有验证码。
2、用户管理
此分类只能由超级管理员操作。普通管理员可以看到界面,但是点链接无权限。使用过滤器阻止普通管理员登录。
3、课程管理
课程添加(通过表单添加):内容包括课程id、课程名、方向、课程内容描述、时长,操作人的用户名
课程添加(通过导入文档进行添加):还可以使用导入功能,导入课程信息,Excel文档导入
课程导出:可以将课程信息导出成Excel
课程查询:列出所有课程信息,支持分页
备注:静态页面已提供,可以在素材区进行下载使用。
三、思路分析:
由场景和运行效果,可以分析出项目中可以抽取如下类:
l 课程类:
类型描述:能够描述课程ID、课程名、课程方向、描述、时长、操作人等
方法:构造方法、get和set方法,toString方法
l 工具类
Excel导出工具类ExcelHelper
文本工具类:包括读取Excel文件方法
验证工具类:利用正则表达式,对一系列信息进行验证
l 数据处理类CourseDao:
方法:
用户登录: public int login(String username, String password) {}.
普通管理员添加方法:public void addUser(String username, String password);
查询所有管理员:public List<Map<String, Object>> getAllUsers();
删除管理员:public void delUser(String username);
添加课程:public void addCourse(Course couse);
查询所有课程信息:public List<Course> getAllCourse();
批量导入Excel课程表数据:public void importCourse(ArrayList<ArrayList<String>> courseList);
l 服务类CourseDaoImpl:
类型:
用户表:private static final List<Map<String, Object>> usersTable
课程表:private static final List<Course> coursesTable
方法:
静态代码块:用于添加超级管理员imooc到usersTable中。
此类中的方法形式与CourseDao类一致,用于对CourseDao中对应方法的调用。
l 数据处理类CourseService:
方法:
用户登录: public int login(String username, String password) {}.
普通管理员添加方法:public void addUser(String username, String password);
查询所有管理员:public List<Map<String, Object>> getAllUsers();
删除管理员:public void delUser(String username);
添加课程:public void addCourse(Course course);
查询所有课程信息:public List<Course> getAllCourse();
批量导入Excel课程表数据:public void importCourse(ArrayList<ArrayList<String>> courseList);
课程导出:public void exportCourse(HttpServletResponse response);
l 服务类CourseServiceImpl:
类型描述:
创建CourseDao对象,用于调用方法的返回值。
private CourseDao cd = new CourseDaoImpl();
方法:
此类中的方法形式与CourseService类完全一致,用于对CourseService中对应方法的调用。
l 过滤器相关类:处理中文乱码的过滤器:EncodeFilter
l Servlet相关类:
根据需要自行定义
l JSP页面:
素材中已提供部分所需的静态页面,可以改成jsp页面
注意:同学们在提交作业时,务必要提交一个excel的导入数据的模板,以便于作业批复时进行导入功能的验证。
规范【10分】
每个类都封装在自己独立的 ".java"文件中;
文件、class、成员变量命名规范;
代码结构要层次分明;
Java代码规范及添加适量注释。
登录模块【10分】
分超级管理员和普通管理员
普通管理员由超级管理员进行添加
用户管理模块【22分】
只能超级管理员完成
使用过滤器技术阻止普通管理员访问
课程添加模块【34分】
添加字段信息无缺失
自动获取操作人的用户名
课程导入功能
课程导出功能
课程查询模块【24分】
显示所有课程信息
分页功能
作业素材仅供学习与参考,请按要求完成作业