每天都要认真学习,才能更加进步。└(^o^)┘
在工作和学习的过程中要善于思考,勤于学习。并做出适当的记录,才能最快速的学习并掌握一项知识。希望在这个平台和大家一起共同成长,和大家分享一个SSM(MYECLIPSE)项目,该项目名称为基于javaweb的课程资源管理系统。形成体现课程建设、教师教学、学生学习等功能的教学资源库,也是集资源存储、资源管理、资源评价为一体的教学资源管理平台。采用当前非常流行的B/S体系结构,以JAVA作为开发技术,主要依赖SSM技术框架,mysql数据库建立本系统。
大家在学习中编写SSM(MYECLIPSE)框架的项目时常选用的开发工具是MYECLIPSE,从上面的项目背景中,我们可以得出基于javaweb的课程资源管理系统拥有前台 后台。才能让用户完整的使用该项目。
基于javaweb的课程资源管理系统项目的登录角色包括了管理员、学生、老师,系统中所有的用户都是拥有账号密码字段的。其中管理员只能在后台和数据库进行添加。而其余的登录角色可以通过注册的方式成功拥有系统账号密码。
在系统中许多表之间是存在关联的,例如学生、作业与学生作业。在学生作业表中关联了前者之间的关系,其关联关系为学生作业的学生名字与学生的mingzi字段对应、学生作业的学生id与学生的id字段对应、学生作业的作业题目与作业的biaoti字段对应、学生作业的作业id与作业的id字段对应
。系统中学生、作品之间具有较强的联系性。他们之间的关系为作品的学生名字与学生的mingzi字段对应、作品的学生id与学生的id字段对应
。在作品表中可以体现出这种关系。
课件、作业、作品表名是具有详情页的,在详情页中可以查看到课件、作业、作品的所有详细信息
在课件详情页中可以完成下载操作。在作业详情页中,用户可以通过点击页面的操作按钮,完成提交作业操作。用户可以对作品表进行操作,在对应的详细信息页中,用户可以看到对应操作的操作按钮,通过点击操作按钮完成下载操作。
总结得出基于javaweb的课程资源管理系统项目所有数据为:管理员(admin)、课件(kejian)、作业(zuoye)、学生作业(xueshengzuoye)、作品(zuoping)、学生(xuesheng)、课件评论(kejianpinglun)、老师(laoshi)
基于javaweb的课程资源管理系统之管理员表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 管理员id username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
基于javaweb的课程资源管理系统之课件表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 课件id biaoti | VARCHAR(255) | | 标题 biaoqian | VARCHAR(255) | | 标签 tupian | VARCHAR(255) | | 图片 wenjian | VARCHAR(255) | | 文件 shuoming | VARCHAR(255) | | 说明 llcs | VARCHAR(255) | | 浏览次数
基于javaweb的课程资源管理系统之作业表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 作业id biaoti | VARCHAR(255) | | 作业题目 tupian | VARCHAR(255) | | 图片 fujian | VARCHAR(255) | | 作业附件 shangchuanshijian | VARCHAR(255) | | 上传时间
基于javaweb的课程资源管理系统之学生作业表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 学生作业id xuesheng | VARCHAR(255) | | 学生名字 xueshengid | VARCHAR(255) | | 学生id zuoye | VARCHAR(255) | | 作业题目 zuoyeid | VARCHAR(255) | | 作业id zuoyewenjian | VARCHAR(255) | | 作业文件 shangchuanshijian | VARCHAR(255) | | 上传时间 fenshu | VARCHAR(255) | | 分数
基于javaweb的课程资源管理系统之作品表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 作品id biaoti | VARCHAR(255) | | 标题 biaoqian | VARCHAR(255) | | 标签 tupian | VARCHAR(255) | | 图片 shuoming | VARCHAR(255) | | 说明 wenjian | VARCHAR(255) | | 文件 shangchuanshijian | VARCHAR(255) | | 上传时间 xuesheng | VARCHAR(255) | | 学生名字 xueshengid | VARCHAR(255) | | 学生id llcs | VARCHAR(255) | | 浏览次数
基于javaweb的课程资源管理系统之学生表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 学生id mingzi | VARCHAR(255) | | 名字 username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
基于javaweb的课程资源管理系统之课件评论表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 评论id kejian | VARCHAR(255) | | 课件标题 kejianid | VARCHAR(255) | | 课件id neirong | VARCHAR(255) | | 评论内容 pinglunrenmingzi | VARCHAR(255) | | 评论人名字 pinglunrenid | VARCHAR(255) | | 评论人id pinglunshijian | VARCHAR(255) | | 评论时间
基于javaweb的课程资源管理系统之老师表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 老师id mingzi | VARCHAR(255) | | 名字 username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
package org.mypro.front; import java.io.File; import java.io.IOException; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Collections; import java.util.Date; import java.util.List; import javax.jms.Session; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.mypro.dao.KejianpinglunMapper; import org.mypro.entity.Kejianpinglun; import org.mypro.entity.KejianpinglunExample; import org.mypro.entity.Xuesheng;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.multipart.MultipartFile; @Controller @RequestMapping(VALUE = "/") public class KejianpinglunController { private static final Log logger = LogFactory.getLog(KejianpinglunController.class); @Autowired private KejianpinglunMapper kejianpinglundao; //定义方法tianjiakejianpinglun,响应页面tianjiakejianpinglun请求 @RequestMapping(VALUE = "tianjiakejianpinglun") public String tianjiakejianpinglun(HttpServletRequest request, HttpServletResponse response,HttpSession SESSION,String backurl) { logger.debug("KejianpinglunController.tianjiakejianpinglun ......"); IF(backurl != NULL && backurl.indexOf("tianjiakejianpinglun.action") == -1){ RETURN "forward:/" + backurl; } RETURN "tianjiakejianpinglun"; } @RequestMapping(VALUE = "xueshengtianjiakejianpinglun") public String xueshengtianjiakejianpinglun(HttpServletRequest request, HttpServletResponse response,HttpSession SESSION,String backurl) { logger.debug("KejianpinglunController.xueshengtianjiakejianpinglun ......"); IF(backurl != NULL && backurl.indexOf("xueshengtianjiakejianpinglun.action") == -1){ RETURN "forward:/" + backurl; } RETURN "xueshengtianjiakejianpinglun"; }
添加作品模块:
在zuopingController中定义tianjiazuopingact接收页面传入的作品参数,定义为zuoping。其中zuoping包含字段:标题,标签,图片,说明,文件,上传时间,学生名字,学生id,浏览次数,使用tianjiazuopingact将该作品对象存入数据库中,在zuopingMapper中定义了insert方法,匹配数据库中的insert into zuoping语句实现将作品数据存入数据库的操作。该部分核心代码如下:
通过zuopingdao的insert方法将页面传输的作品添加到数据库中 zuopingdao.insert(zuoping);
将添加作品成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加作品成功");
返回作品管理界面
return "forward:/tianjiazuoping.action";
查询作品模块:
在浏览器中进入作品查询页面时,此时浏览器的地址栏为zuopingguanli.action,该地址将响应zuopingController类中的zuopingguanli,在该方法中,通过selectByexample方法获取所有的作品信息,并将该信息保存到request中,在页面进行循环展示。该部分核心代码如下:
生成作品样例类,通过example定义查询条件 ZuopingExample example = new ZuopingExample();
通过zuopingdao的selectByExample方法查询出所有的作品信息 List zuopingall = zuopingdao.selectByExample(example);
将作品信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("zuopingall", zuopingall);
返回作品管理界面
return "forward:/zuopingguanli.action";
修改作品模块:
在页面填写完修改信息后,点击修改按钮,将数据提交到xiugaizuoping中,封装为一个作品
,使用update方法修改该作品信息,将数据同步到数据库,完成修改操作。
定义修改成功提示信息,修改作品成功,并保存到request中具体代码如下:
通过zuopingdao的修改方法根据id修改对应的作品 zuopingdao.updateByPrimaryKeySelective(zuoping);
将修改作品成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改作品信息成功");
返回作品管理界面
return "forward:/zuopingguanli.action";
删除作品模块:
删除作品功能实现在zuopingController中,实现方法为shanchuzuoping。在页面中通过get方法shanchuzuoping.action?Id的形式将需要删除的作品id上传到服务器中,响应对应的方法,调用zuopingdao中的deleteByPrimaryKey方法,完成删除操作。将删除成功的提示信息返回到页面中,完成删除数据的操作。该部分核心代码:
通过zuopingdao的删除方法根据id删除对应的作品 zuopingdao.deleteByPrimaryKey(id);
将删除作品成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除作品成功");
返回作品管理界面
return "forward:/zuopingguanli.action";