JAVA基于web的师资管理系统,源码下载

大家好,我是全微毕设团队的创始人,本团队擅长JAVA(SSM,SSH,SPRINGBOOT)、PYTHON、PHP、C#、安卓等多项技术。
今天将为大家分析一个基于web的师资管理系统(当今世界是一个信息高度发展的世界,计算机技术的高度发展,并且广泛的运用到生活中的各个领域,给人类带来了快的进步的同时也带来了进一步的革新。特别是,近年来,高校的办学规模、教师队伍在不断扩大增加,这些因素导致我们传统的教学管理模式已不适用于高速发展的信息时代模式,高校教师的各方面素质也在不断提高,高校的管理方式也相应的需有所变化。在这样的需求下,完善、成熟的师资管理系统应运而生,根据自身特点建立师资管理系统,也就成了每个高校所必备的了,从而更好的提高办学效率。),该项目使用框架为SSM(MYECLIPSE),选用开发工具为MYECLIPSE。基于web的师资管理系统为一个 后台项目。
为了完成该系统,我们首先需要对该系统进行需求分析。一个基于web的师资管理系统应包含用户角色有管理员、教师、学校。为了能让用户顺利登陆系统完成相关操作,需要为每种登陆角色设置账户和密码字段。
为了完成系统的功能需要为学校设置所需教师表,记录所需教师信息。在所需教师表中定义了两者的关联关系,其中所需教师的学校与学校的mingzi字段对应

总结得出该系统所有数据为:管理员(admin)、教师(jiaoshi)、学校(xuexiao)、所需教师(suoxujiaoshi)

管理员表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 管理员id
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码

教师表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 教师id
mingzi | VARCHAR(255) | | 名字
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码
renkekemu | VARCHAR(255) | | 任课科目
renkexuexiao | VARCHAR(255) | | 任课学校

学校表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 学校id
mingzi | VARCHAR(255) | | 名字
fuzeren | VARCHAR(255) | | 负责人
lianxifangshi | VARCHAR(255) | | 联系方式
usernam | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码

所需教师表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 所需教师id
kemu | VARCHAR(255) | | 科目
xuexiao | VARCHAR(255) | | 学校
xuexiaoid | VARCHAR(255) | | 学校id
baomingrenshu | VARCHAR(255) | | 报名人数
shifoukebaoming | VARCHAR(255) | | 是否可报名

建表语句

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- ----------------------------

-- Table structure for ggshiziguanli

-- ----------------------------

DROP TABLE IF EXISTS `t_admin`;

CREATE TABLE `t_admin` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT ‘管理员id‘,`username` VARCHAR(255) DEFAULT NULL COMMENT ‘账号‘,`password` VARCHAR(255) DEFAULT NULL COMMENT ‘密码‘,PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT=‘管理员‘;

-- ----------------------------

DROP TABLE IF EXISTS `t_jiaoshi`;

CREATE TABLE `t_jiaoshi` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT ‘教师id‘,`mingzi` VARCHAR(255) DEFAULT NULL COMMENT ‘名字‘,`username` VARCHAR(255) DEFAULT NULL COMMENT ‘账号‘,`password` VARCHAR(255) DEFAULT NULL COMMENT ‘密码‘,`renkekemu` VARCHAR(255) DEFAULT NULL COMMENT ‘任课科目‘,`renkexuexiao` VARCHAR(255) DEFAULT NULL COMMENT ‘任课学校‘,PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT=‘教师‘;

-- ----------------------------

DROP TABLE IF EXISTS `t_xuexiao`;

CREATE TABLE `t_xuexiao` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT ‘学校id‘,`mingzi` VARCHAR(255) DEFAULT NULL COMMENT ‘名字‘,`fuzeren` VARCHAR(255) DEFAULT NULL COMMENT ‘负责人‘,`lianxifangshi` VARCHAR(255) DEFAULT NULL COMMENT ‘联系方式‘,`usernam` VARCHAR(255) DEFAULT NULL COMMENT ‘账号‘,`password` VARCHAR(255) DEFAULT NULL COMMENT ‘密码‘,PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT=‘学校‘;

-- ----------------------------

DROP TABLE IF EXISTS `t_suoxujiaoshi`;

CREATE TABLE `t_suoxujiaoshi` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT ‘所需教师id‘,`kemu` VARCHAR(255) DEFAULT NULL COMMENT ‘科目‘,`xuexiao` VARCHAR(255) DEFAULT NULL COMMENT ‘学校‘,`xuexiaoid` INT(11) DEFAULT NULL COMMENT ‘学校id‘,`baomingrenshu` VARCHAR(255) DEFAULT NULL COMMENT ‘报名人数‘,`shifoukebaoming` VARCHAR(255) DEFAULT NULL COMMENT ‘是否可报名‘,PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT=‘所需教师‘;

学校操作控制层

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.XuexiaoMapper;

import org.mypro.entity.Xuexiao;

import org.mypro.entity.XuexiaoExample;

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 XuexiaoController {

private static final Log logger = LogFactory.getLog(XuexiaoController.class);

@Autowired
private XuexiaoMapper xuexiaodao;

//定义方法tianjiaxuexiao,响应页面tianjiaxuexiao请求

@RequestMapping(value = "tianjiaxuexiao")

public String tianjiaxuexiao(HttpServletRequest request, HttpServletResponse response,HttpSession session,String backurl) {

logger.debug("XuexiaoController.tianjiaxuexiao ......");

if(backurl != null && backurl.indexOf("tianjiaxuexiao.action") == -1){

return "forward:/" + backurl; }

return "tianjiaxuexiao";

}

@RequestMapping(value = "tianjiaxuexiaoact")

public String tianjiaxuexiaoact(HttpServletRequest request,HttpSession session, HttpServletResponse response,Xuexiao xuexiao,String backurl) throws IOException {

logger.debug("XuexiaoController.tianjiaxuexiaoact ......");

xuexiaodao.insert(xuexiao);

request.setAttribute("message", "添加学校成功");

if(backurl != null && backurl.indexOf("tianjiaxuexiaoact.action") == -1){

return "forward:/" + backurl; }

//返回tianjiaxuexiao方法

return "forward:/tianjiaxuexiao.action";

}

//定义xuexiaoguanli方法响应页面请求

@RequestMapping(value = "xuexiaoguanli")

public String xuexiaoguanli(HttpServletRequest request,HttpSession session, HttpServletResponse response,String backurl) {

logger.debug("XuexiaoController.xuexiaoguanli ......");

XuexiaoExample example = new XuexiaoExample();

List xuexiaoall = xuexiaodao.selectByExample(example);

request.setAttribute("xuexiaoall", xuexiaoall);

if(backurl != null && backurl.indexOf("xuexiaoguanli.action") == -1){

return "forward:/" + backurl; }

return "xuexiaoguanli";

}

// 定义 xuexiaochakan方法

@RequestMapping(value = "xuexiaochakan")

public String xuexiaochakan(HttpServletRequest request,HttpSession session, HttpServletResponse response,String backurl) {

logger.debug("XuexiaoController.xuexiaochakan ......");

XuexiaoExample example = new XuexiaoExample();

List xuexiaoall = xuexiaodao.selectByExample(example);

request.setAttribute("xuexiaoall", xuexiaoall);

if(backurl != null && backurl.indexOf("xuexiaochakan.action") == -1){

return "forward:/" + backurl; }

return "xuexiaochakan";

}

// 定义 xiugaixuexiao方法

@RequestMapping(value = "xiugaixuexiao")

public String xiugaixuexiao(HttpServletRequest request, HttpServletResponse response,HttpSession session,int id,String backurl){

logger.debug("XuexiaoController.xiugaixuexiao ......");

Xuexiao xuexiao = xuexiaodao.selectByPrimaryKey(id);

request.setAttribute("xuexiao", xuexiao);

if(backurl != null && backurl.indexOf("xiugaixuexiao.action") == -1){

return "forward:/" + backurl; }

return "xiugaixuexiao";

}

// 定义xiugaixuexiaoact处理学校修改

@RequestMapping(value = "xiugaixuexiaoact")

public String xiugaixuexiaoact(HttpServletRequest request, HttpServletResponse response,Xuexiao xuexiao,HttpSession session,String backurl) throws IOException {

logger.debug("XuexiaoController.xiugaixuexiaoact ......");

xuexiaodao.updateByPrimaryKeySelective(xuexiao);

request.setAttribute("message", "修改学校信息成功");

if(backurl != null && backurl.indexOf("xiugaixuexiaoact.action") == -1){

return "forward:/" + backurl; }

return "forward:/xuexiaoguanli.action";

}

// 定义shanchuxuexiao,处理删除学校

@RequestMapping(value = "shanchuxuexiao")

public String shanchuxuexiao(HttpServletRequest request, HttpServletResponse response,HttpSession session,int id,String backurl){

logger.debug("XuexiaoController.shanchuxuexiao ......");

xuexiaodao.deleteByPrimaryKey(id);

request.setAttribute("message", "删除学校成功");

if(backurl != null && backurl.indexOf("shanchuxuexiao.action") == -1){

return "forward:/" + backurl; }

return "forward:/xuexiaoguanli.action";

}

// 定义sousuoxuexiao方法,处理搜索操作

@RequestMapping(value = "sousuoxuexiao")

public String sousuoxuexiao(HttpServletRequest request, HttpServletResponse response,HttpSession session,String search,String backurl) {

logger.debug("XuexiaoController.sousuoxuexiao ......");

XuexiaoExample example = new XuexiaoExample();

XuexiaoExample.Criteria criteria = example.createCriteria();

if(search != null){

criteria.andMingziLike("%" + search + "%");

}

List xuexiaoall = xuexiaodao.selectByExample(example);

request.setAttribute("xuexiaoall", xuexiaoall);

if(backurl != null && backurl.indexOf("sousuoxuexiao.action") == -1){

return "forward:/" + backurl; }

return "sousuoxuexiao";

}

// 定义XuexiaopinglunMapper@RequestMapping

(value = "xuexiaoxiangqing")

public String xuexiaoxiangqing(HttpServletRequest request,HttpSession session, HttpServletResponse response,int id,String backurl) {logger.

debug("XuexiaoController.xuexiaoxiangqing ......");Xuexiao xuexiao 

= xuexiaodao.selectByPrimaryKey(id);request.

setAttribute("xuexiao", xuexiao);

if(backurl != null && backurl.indexOf("xuexiaoxiangqing.action") == -1){

return "forward:/" + backurl; }

return "xuexiaoxiangqing";

}

// 上传文件图片等

public String uploadUtile(MultipartFile file, HttpServletRequest request) throws IOException {

// 根据当前时间生成时间字符串

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS");

String res = sdf.format(new Date());

// uploads文件夹位置

String rootPath = request.getSession().getServletContext().getRealPath("resource/uploads/");

// 原始名称

String originalFileName = file.getOriginalFilename();

// 新文件名

String newFileName = "sliver" + res + originalFileName.substring(originalFileName.lastIndexOf("."));

// 创建年月文件夹

Calendar date = Calendar.getInstance();

File dateDirs = new File(date.get(Calendar.YEAR) + File.separator + (date.get(Calendar.MONTH)+1));

// 新文件

File newFile = new File(rootPath + File.separator + dateDirs + File.separator + newFileName);

// 判断目标文件所在目录是否存在

if( !newFile.getParentFile().exists()) {

// 如果目标文件所在的目录不存在,则创建父目录newFile.

getParentFile().mkdirs();

}

System.out.println(newFile);

// 将内存中的数据写入磁盘file.

transferTo(newFile);

// 完整的url

String fileUrl = date.get(Calendar.YEAR) + "/" + (date.get(Calendar.MONTH)+1) + "/" + newFileName;

return fileUrl;

}}

源码下载地址

原文地址:https://www.cnblogs.com/qwcx/p/11520824.html

时间: 2024-08-24 20:03:23

JAVA基于web的师资管理系统,源码下载的相关文章

Asp.Net MVC4+EF6 Code First 权限管理系统 源码下载

这个权限管理系统是基于在@TZHSWEET 的权限管理系统之上做的修改.@TZHSWEET 那个是DB first. 这个是Code First.源码下载:http://download.csdn.net/detail/wode551120/7280559 http://pan.baidu.com/s/1o6uM2Ae 具体设计思路请参考@TZHSWEET  文章. 项目运行: 1.修改web.config 数据库连接 2.修改Global.asax Application_start方法中.取

10款基于jquery的web前端特效及源码下载

1.jQuery时间轴插件:jQuery Timelinr 这是一款可用于展示历史和计划的时间轴插件,尤其比较适合一些网站展示发展历程.大事件等场景.该插件基于jQuery,可以滑动切换.水平和垂直滚动.支持键盘方向键.经过扩展后可以支持鼠标滚轮事件. 在线演示一 在线演示二 在线演示三 源码下载 2.使用Ctrl+Enter提交表单 我们发表微博或论坛发帖时,在内容输入框中输入完内容后,可以点击 提交 按钮来发表内容.可是,如果你够 懒 ,你可以不用动鼠标,只需按住键盘上的Ctrl+Enter

基于S2SH开发车辆租赁管理系统 源码 BL

开发环境: Windows操作系统开发工具:MyEclipse/Eclipse + JDK+ Tomcat + MySQL 数据库 项目截图: 获取源码请联系博主-Q:782827013 原文地址:https://www.cnblogs.com/xlrjgzs/p/11145870.html

Java -- 基于JDK1.8的ThreadLocal源码分析

1,最近在做一个需求的时候需要对外部暴露一个值得应用  ,一般来说直接写个单例,将这个成员变量的值暴露出去就ok了,但是当时突然灵机一动(现在回想是个多余的想法),想到handle源码里面有使用过ThreadLocal这个类,想了想为什么不想直接用ThreadLocal保存数据源然后使用静态方法暴露出去呢,结果发现使用ThreadLocal有时候会获取不到值,查了下原因原来同事是在子线程中调用的(捂脸哭泣),所以还是要来看一波源码,看看ThreadLocal底层实现,适用于哪些场景 2,我们现在

基于WEB的小型酒店管理系统,源码下载

大家好,我是全微毕设团队的创始人,本团队擅长JAVA(SSM,SSH,SPRINGBOOT).PYTHON.PHP.C#.安卓等多项技术. 今天将为大家分析一个小型酒店管理系统(当前酒店管理系统已经得到了充足的发展和完善,一些大的酒店购买了功能强大.数据量处理快速.客户行为研究的软件,借此来提升酒店的核心竞争力.但是对于一些中小规模的酒店而言,昂贵的系统花费.专人的维护是不现实的,也是非常不灵活的.一款简单.灵活.经济适用的中小型酒店管理系统的开发非常具有市场前景. 本文针对上面提到的问题,基于

基于SSM的车辆故障管理系统程序设计,源码下载

大家好,我是全微毕设团队的创始人,本团队擅长JAVA(SSM,SSH,SPRINGBOOT).PYTHON.PHP.C#.安卓等多项技术. 今天将为大家分析一个车辆故障管理系统(本文针对汽车故障诊断专家系统 中知识库的特点,设计了一种基于Windows平台的知识库管理系统(KnowledgebaseManagementSystem以下简称KBMS), 该系统充分利用了数据库技术,实现了对知识库中知识的存储.增加.删除.修改和查询,以及对知识进行一致性和完整性校验,为汽车故障诊断专家系统的开发和

PHP基于MVC模式下的停车场车位管理系统、448源码下载

大家好,我是全微毕设团队的创始人,本团队擅长JAVA(SSM,SSH,SPRINGBOOT).PYTHON.PHP.C#.安卓等多项技术. 今天将为大家分析一个停车场车位管理系,统本系统的设计是基于php+apache+mysql的方式设计,以zendstudio和mysql5.1.2为开发工具,并运用Photoshop CS6技术美化界面,辅之以CSS技术,本系统是基于面向对象编程的web应用程序.至今为止,越来越多停车场管理停车业务都已经实现了软件化的管理功能,提高了业务的运营工作效率,停车

基于JSP的病历管理系统开发与设计,源码下载

大家好,我是全微毕设团队的创始人,本团队擅长JAVA(SSM,SSH,SPRINGBOOT).PYTHON.PHP.C#.安卓等多项技术. 今天将为大家分析一个病历管理系统(指出传统病案管理模式存在的问题,从新旧病案归档整理.电子病案的使用等方面介绍电子病案管理系统的实施,阐明实施电子病案管理的意义,包括节省存储空间,提高检索效率.病案质量与规范管理等.),该项目使用框架为SSM(MYECLIPSE),选用开发工具为MYECLIPSE.病历管理系统为一个 后台项目. 为了完成该系统,我们首先需要

10个web前端基于jQuery动画插件及源码

1.超赞的页面加载进度自动指示和 Ajax 导航效果 在页面中引入 Pace.js 和您所选择主题的 CSS 文件,就可以让你的页面拥有漂亮的加载进度和 Ajax 导航效果.不需要挂接到任何代码,自动检测进展.您可以选择颜色和多种效果,有简约,闪光灯,MAC OSX,左侧填充,顶部填充,计数器和弹跳等等. 在线演示 源码下载 2.ProgressBar.js – 漂亮的响应式 SVG 进度条 ProgressBar.js 是一个借助动态 SVG 路径的漂亮的,响应式的进度条效果.使用 Progr