每天都要认真学习,才能更加进步。└(^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";

源码下载

01-22 10:41