java SSM科研管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

news2024/11/19 1:44:00

一、源码特点
    java SSM科研管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,spring+springMVC+mybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。

ssm 科研管理系统

代码下载

https://download.csdn.net/download/qq_41221322/88915448


二、功能介绍
(1)管理员管理:对管理员信息进行添加、删除、修改和查看
(2)教师管理:对教师信息进行添加、删除、修改和查看
(3)论文课题管理:对论文课题信息进行添加、删除、修改和查看
(4)科研项目管理:对科研项目信息进行添加、删除、修改和查看
(5)获奖情况管理:对获奖情况信息进行添加、删除、修改和查看
(6)科研成果管理:对科研成果信息进行添加、删除、修改和查看
(7)学术期刊管理:对学术期刊信息进行添加、删除、修改和查看
(8)用户登录、个人信息修改

数据库设计

表4-1 管理员信息表

序号

字段名称

数据类型

长度

主键

描述

1

glyid

INTEGER

11

管理员编号

2

yhm

VARCHAR

40

用户名

3

mm

VARCHAR

40

密码

4

xm

VARCHAR

40

姓名


表4-2  教师信息表

序号

字段名称

数据类型

长度

主键

描述

1

jsid

INTEGER

11

教师编号

2

yhm

VARCHAR

40

用户名

3

mm

VARCHAR

40

密码

4

xm

VARCHAR

40

姓名

5

lxdh

VARCHAR

40

联系电话

6

lxdz

VARCHAR

40

联系地址

7

xy

VARCHAR

40

学院

表4-3  论文课题信息表

序号

字段名称

数据类型

长度

主键

描述

1

lwktid

INTEGER

11

论文课题编号

2

ktmc

VARCHAR

40

课题名称

3

lwzs

VARCHAR

40

论文字数

4

fj

VARCHAR

40

附件

5

sqr

VARCHAR

40

申请人

6

sm

VARCHAR

40

说明

7

yyly

VARCHAR

40

应用领域

8

zt

VARCHAR

40

状态

表4-4  科研项目信息表

序号

字段名称

数据类型

长度

主键

描述

1

kyxmid

INTEGER

11

科研项目编号

2

xmmc

VARCHAR

40

项目名称

3

js

VARCHAR

40

介绍

4

xmly

VARCHAR

40

项目领域

5

fzr

VARCHAR

40

负责人

6

cjsj

VARCHAR

40

创建时间

代码设计

/**添加 kycg
	 * 
	 */
	@RequestMapping(value="/add")
	public String add(kycg kycg,HttpServletRequest request){//添加方法
		Map<String,Object> map= new HashMap<String,Object>();//初始化对象
		//String name=(String)request.getParameter("name");

		map.put("kycgid", kycg.getKycgid());//科研成果编号

		map.put("kyxm", kycg.getKyxm());//科研项目

		map.put("bt", kycg.getBt());//标题

		map.put("cgsm", kycg.getCgsm());//成果说明

		map.put("jxsm", kycg.getJxsm());//奖项说明

		map.put("fbsj", kycg.getFbsj());//发布时间



		String kycgid=(String)kycg.getKycgid();//科研成果编号

		String kyxm=(String)kycg.getKyxm();//科研项目

		String bt=(String)kycg.getBt();//标题

		String cgsm=(String)kycg.getCgsm();//成果说明

		String jxsm=(String)kycg.getJxsm();//奖项说明

		String fbsj=(String)kycg.getFbsj();//发布时间

		kycgdao.save(map);//调用 add方法 保存kycg 数据
		
		
		request.setAttribute("msg", "<script>alert('添加成功');</script>");
		System.out.println("addok");
		return "kycg/kycgadd";
	}
	
	/**删除 kycg
	 * 
	 */
	@RequestMapping(value="/del")
	public String  del(Integer id,HttpServletRequest request,Map<String,Object> map){
	//	Map<String,Object> map= new HashMap<String,Object>();//初始化对象
		String a=(String)request.getParameter("keyid");//request 方式获得主键id
		id=Integer.parseInt(a);
		request.setAttribute("msg", "<script>alert('删除成功');</script>");
		kycgdao.del(id);//调用 删除方法
		return selectall(null,map,request);
	}
	/**
	 * 修改kycg信息
	 */
	@RequestMapping(value="/update")
	public String update(kycg kycg,HttpServletRequest request,Map<String,Object> map1){
		Map<String,Object> map= new HashMap<String,Object>();//初始化对象
		map.put("kycgid", kycg.getKycgid());//科研成果编号

		map.put("kyxm", kycg.getKyxm());//科研项目

		map.put("bt", kycg.getBt());//标题

		map.put("cgsm", kycg.getCgsm());//成果说明

		map.put("jxsm", kycg.getJxsm());//奖项说明

		map.put("fbsj", kycg.getFbsj());//发布时间



		String kycgid=(String)kycg.getKycgid();//科研成果编号

		String kyxm=(String)kycg.getKyxm();//科研项目

		String bt=(String)kycg.getBt();//标题

		String cgsm=(String)kycg.getCgsm();//成果说明

		String jxsm=(String)kycg.getJxsm();//奖项说明

		String fbsj=(String)kycg.getFbsj();//发布时间

		request.setAttribute("msg", "<script>alert('修改成功');</script>");
		kycgdao.update(map);//执行update 方法
		return selectall(null,map1,request);
	}
	/**
	 * 查询kycg信息
	 */
	@RequestMapping(value="/modify")
	public String modify(Integer id,Map<String,Object> map,HttpServletRequest request){
		String keyid=(String)request.getParameter("keyid");//request 方式获得主键id
		List<Map<String,Object>> list= new  ArrayList<Map<String,Object>>();//初始化对象
		list=kycgdao.select(Integer.parseInt(keyid));//根据id返回 kycg对象数据
		request.setAttribute("kycgid", list.get(0).get("kycgid"));//科研成果编号

		request.setAttribute("kyxm", list.get(0).get("kyxm"));//科研项目

		request.setAttribute("bt", list.get(0).get("bt"));//标题

		request.setAttribute("cgsm", list.get(0).get("cgsm"));//成果说明

		request.setAttribute("jxsm", list.get(0).get("jxsm"));//奖项说明

		request.setAttribute("fbsj", list.get(0).get("fbsj"));//发布时间

		
		return "kycg/kycgmodify";
	}

对象层设计



	public String getKycgid(){
          return kycgid;
   }

public void setKycgid(String kycgid){
 this.kycgid = kycgid;
   }

public String getKyxm(){
          return kyxm;
   }

public void setKyxm(String kyxm){
 this.kyxm = kyxm;
   }

public String getBt(){
          return bt;
   }

public void setBt(String bt){
 this.bt = bt;
   }

public String getCgsm(){
          return cgsm;
   }

public void setCgsm(String cgsm){
 this.cgsm = cgsm;
   }

public String getJxsm(){
          return jxsm;
   }

public void setJxsm(String jxsm){
 this.jxsm = jxsm;
   }

public String getFbsj(){
          return fbsj;
   }

public void setFbsj(String fbsj){
 this.fbsj = fbsj;
   }

  





}


三、注意事项
    1、管理员账号:admin 密码:admin 数据库配置文件datasource.properties
     2、开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。
    3、数据库文件名是jspssmkeyan.sql,系统名称ssmkeyan
    4、系统首页地址:http://127.0.0.1:8080/ssmkeyan/login.jsp

四 系统实现


源码获取 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1498845.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OPC UA 学习笔记:状态机/有限状态机

有限状态机 有限状态机 &#xff08;FSM&#xff09; 是程序员、数学家、工程师和其他专业人士用来描述具有有限数量条件状态的系统的数学模型。 有限状态机的构成包括以下内容&#xff1a; 一组潜在的输入事件。与潜在输入事件相对应的一组可能的输出事件。系统可以显示的一…

19.题目:编号3865 Alice与Bob的爱恨情仇

题目&#xff1a; ###该题主要考察思维、和博弈 &#xff08;写起来容易&#xff0c;但是不太好想&#xff09; #include<bits/stdc.h> using namespace std; int main(){int n,k;cin>>n>>k;int ans0,x;while(n--){cin>>x;ansx%2;}if(ans%2){cout<…

Effective C++ 学习笔记 条款16 成对使用new和delete时要采取相同形式

以下动作有什么错&#xff1f; std::string *stringArray new std::string[100]; // ... delete stringArray;每件事看起来都井然有序&#xff0c;使用了new&#xff0c;也搭配了对应的delete。但还是有某样东西完全错误&#xff1a;你的程序行为未定义。至少&#xff0c;str…

进程:守护进程

一、守护进程的概念 守护进程是脱离于终端控制&#xff0c;且运行在后端的进程。&#xff08;孤儿进程&#xff09;守护进程不会将信息显示在任何终端上影响前端的操作&#xff0c;也不会被终端产生的任何信息打断&#xff0c;例如&#xff08;ctrlc&#xff09;.守护进程独立…

[密码学]入门篇——加密方式

一、概述 加密方法主要分为两大类&#xff1a; 单钥加密&#xff08;private key cryptography&#xff09;&#xff1a;加密和解密过程都用同一套密码双钥加密&#xff08;public key cryptography&#xff09;&#xff1a;加密和解密过程用的是两套密码 历史上&#xff0c…

POS 之 最终确定性

Gasper Casper 是一种能将特定区块更新为 最终确定 状态的机制&#xff0c;使网络的新加入者确信他们正在同步规范链。当区块链出现多个分叉时&#xff0c;分叉选择算法使用累计投票来确保节点可以轻松选择正确的分叉。 最终确定性 最终确定性是某些区块的属性&#xff0c;意味…

离散数学例题——5.图论基础

基本的图 关联矩阵 子图和补图 度数和握手定理 注意&#xff01;&#xff01;&#xff01;无向图的度数&#xff0c;要行/列和对角线值 根据度数序列判定是否为无向图 度和握手定理证明题 竞赛图 同构图 自补图 通路和回路数量 通路和回路数量 最短路径——dijkstra算法 连通…

21、状态模式(行为性模式)

版本一、get状态指针 #include <iostream> using namespace std;//前置声明 class Context;//状态 class State{ public://4个状态virtual void toUp (Context& context){ }virtual void toDown (Context& context){ }virtual void toLeft (Context& cont…

打造一款用于照片局部修复的“在线橡皮擦”应用(基于Django5和Pytorch,含完整代码)

目录 一、任务概述二、Django微服务开发2.1 创建项目2.1.1 创建Django项目2.1.2 创建主页面2.1.3 编写视图处理函数2.1.4 配置访问路由url2.1.5 启动项目 2.2 前端开发2.2.1 集成Bootstrap52.2.2 初始化各组件2.2.3 自适应展示图像2.2.4 橡皮擦涂抹2.2.5 使用Ajax传输图像 2.3 …

本地部署推理TextDiffuser-2:释放语言模型用于文本渲染的力量

系列文章目录 文章目录 系列文章目录一、模型下载和环境配置二、模型训练&#xff08;一&#xff09;训练布局规划器&#xff08;二&#xff09;训练扩散模型 三、模型推理&#xff08;一&#xff09;准备训练好的模型checkpoint&#xff08;二&#xff09;全参数推理&#xff…

简站wordpress主题看上去差不多 实际大不一样

有人说简站wordpress主题&#xff0c;都差不多嘛。我表示无语。表面看上去是差不多的&#xff0c;实际的细节是不一样的。 下面以编号&#xff1a;JZP4431和编号&#xff1a;JZP4878这两个主题为例子来讲一下&#xff0c;简站wordpress主题&#xff0c;在细节方面的不一样之处…

最简单的基于 FFmpeg 的内存读写的例子:内存视频播放器

最简单的基于 FFmpeg 的内存读写的例子&#xff1a;内存视频播放器 最简单的基于 FFmpeg 的内存读写的例子&#xff1a;内存视频播放器正文源程序结果工程文件下载参考链接 最简单的基于 FFmpeg 的内存读写的例子&#xff1a;内存视频播放器 参考雷霄骅博士的文章&#xff0c;…

Mysql深入学习 基础篇 Ss.05多表查询语法及案例

世界总是在推着我走&#xff0c;我自己一个人也能站稳 —— 24.3.7 一、多表关系 1.概述 项目开发中&#xff0c;在进行数据库表结构设计时&#xff0c;会根据业务需求及业务模块之间的关系&#xff0c;分析并设计表结构&#xff0c;由于业务之间相互关联&#xff0c;所以各个…

Mr. Young‘s Picture Permutations

Mr. Young’s Picture Permutations 看了李煜东老师的答案。 对dp的转移有了一点别的理解。 之前都是按y总那样考虑当前状态是由那些状态转移过来的。 这道题目看算阶上的思考方式&#xff0c;考虑的是当前状态能够转移到那些状态。 更具体点就是说&#xff0c;考虑 f [ i ] […

千帆AppBuilder使用指南-组件中心

应用中心 百度智能云千帆AppBuilder&#xff08;以下简称为AppBuilder&#xff09;应用中心&#xff0c;提供了大量可以立即体验的应用示例&#xff0c;开发者可以在这里搜索感兴趣的应用进行使用。 官方应用&#xff1a;AppBuilder官方提供的应用&#xff0c;可以立即体验应用…

input输入框的23中类型

HTML 的 <input> 元素支持多种类型&#xff0c;这些类型决定了用户如何与表单控件进行交互。以下是 HTML5 中 <input> 元素的 23 种类型&#xff0c;以及每种类型的代码示例和效果图的描述&#xff08;请注意&#xff0c;由于文本的限制&#xff0c;我无法直接在这…

利用OpenCV 抽取视频的图片,并制作目标检测数据集

1、前言 目标检测中&#xff0c;图片的数据可以从视频中抽取&#xff0c;而OpenCV的VideoCapture可以实现这样的操作 需要的库文件 opencv pip下载&#xff1a; pip install opencv-contrib-python 更换镜像源下载&#xff1a; pip install opencv-contrib-python -i htt…

Python笔记(三)—— Python循环语句

循环普遍存在于日常生活中&#xff0c;同样&#xff0c;在程序中&#xff0c;循环功能也是至关重要的基础功能。 循环在程序中同判断一样&#xff0c;也是广泛存在的&#xff0c;是非常多功能实现的基础&#xff1a; bilibili循环轮播图 循环和判断一样&#xff0c;同样是程序…

算法---双指针练习-1(移动零)

移动零 1. 题目解析2. 讲解算法原理数组划分&#xff0c;数组分块&#xff08;核心思想&#xff09;如何做到 3. 编写代码 1. 题目解析 题目地址&#xff1a;点这里 2. 讲解算法原理 数组划分&#xff0c;数组分块&#xff08;核心思想&#xff09; dest一般初始化为-1&#x…

无限debugger的几种处理方式

不少网站会在代码中加入‘debugger’&#xff0c;使你F12时一直卡在debugger&#xff0c;这种措施会让新手朋友束手无策。 js中创建debugger的方式有很多&#xff0c;基础的形式有&#xff1a; ①直接创建debugger debugger; ②通过eval创建debugger&#xff08;在虚拟机中…