每天都要认真学习,才能更加进步。└(^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 = "/")publicclass KejianpinglunController {
private static finalLog logger =LogFactory.getLog(KejianpinglunController.class);@Autowiredprivate KejianpinglunMapper kejianpinglundao;//定义方法tianjiakejianpinglun,响应页面tianjiakejianpinglun请求@RequestMapping(VALUE ="tianjiakejianpinglun")publicString 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")publicString 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";