java servlet软件缺陷库管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点
    java servlet软件缺陷库管理系统是一套完善的java web信息管理系统 系统采用serlvet+dao+bean(mvc模式),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。

java serlvet 软件缺陷库系统1


二、功能介绍
(1)菜单管理:对菜单信息进行添加、删除、修改和查看
(2)角色管理:对角色信息进行添加、删除、修改和查看
(3)菜单角色管理:对菜单角色信息进行添加、删除、修改和查看
(4)用户管理:对用户信息进行添加、删除、修改和查看
(5)属性管理:对属性信息进行添加、删除、修改和查看
(6)缺陷管理:对缺陷信息进行添加、删除、修改和查看
(7)流程节点管理:对流程节点信息进行添加、删除、修改和查看
(8)审批管理:对审批信息进行删除、修改和查看 通过流程配置进行审批   

数据库设计

(1)菜单信息表如表5.1所示:

表5.1 菜单信息表

序号

字段名称

数据类型

长度

主键

描述

1

cdid

INTEGER

11

菜单编号

2

cdmc

VARCHAR

40

菜单名称

3

xh

VARCHAR

40

序号

4

lx

VARCHAR

40

类型

5

lj

VARCHAR

40

链接

6

f

VARCHAR

40

(2)角色如表5.2所示:

表5.2 角色表

序号

字段名称

数据类型

长度

主键

描述

1

jsid

INTEGER

11

角色编号

2

jsmc

VARCHAR

40

角色名称

3

js

VARCHAR

40

介绍

(3)菜单角色表如表5.3所示:

表5.3 菜单角色表

序号

字段名称

数据类型

长度

主键

描述

1

cdjsid

INTEGER

11

菜单角色编号

2

cd

VARCHAR

40

菜单

3

js

VARCHAR

40

角色

(4)用户管理表如表5.4所示:

表5.4 用户管理信息表

序号

字段名称

数据类型

长度

主键

描述

1

yhid

INTEGER

11

用户编号

2

yhm

VARCHAR

40

用户名

3

mm

VARCHAR

40

密码

4

xm

VARCHAR

40

姓名

5

lxdh

VARCHAR

40

联系电话

6

lxdz

VARCHAR

40

联系地址

7

js

VARCHAR

40

角色

(5)属性管理详情表如表5.5所示:

表5.5 属性管理详情表

序号

字段名称

数据类型

长度

主键

描述

1

sxid

INTEGER

11

属性编号

2

sxmc

VARCHAR

40

属性名称

3

sxz

VARCHAR

40

属性值

4

bj

VARCHAR

40

标记

(6)缺陷表如表5.6所示:

表5.缺陷表

序号

字段名称

数据类型

长度

主键

描述

1

qxid

INTEGER

11

缺陷编号

2

qxzt

VARCHAR

40

缺陷主题

3

ssxt

VARCHAR

40

所属系统

4

zxt

VARCHAR

40

子系统

5

ssxq

VARCHAR

40

所属需求

6

cshj

VARCHAR

40

测试环境

7

yxj

VARCHAR

40

优先级

8

yzdj

VARCHAR

40

严重等级

9

qxyy

VARCHAR

40

缺陷原因

10

yh

VARCHAR

40

用户

11

sj

VARCHAR

40

时间

12

zt

VARCHAR

40

状态

13

fj

VARCHAR

40

附件

14

ms

VARCHAR

40

描述

15

qxzht

VARCHAR

40

缺陷状态

ER图设计

代码实现

	private void insertM(HttpServletRequest request, HttpServletResponse response){//缺陷添加
		quexianDao dao=new quexianDao();
		quexian quexian=new quexian();
		quexian.setQxid((String)request.getParameter("keyid"));
quexian.setQxzt((String)request.getParameter("qxzt"));
quexian.setSsxt((String)request.getParameter("ssxt"));
quexian.setZxt((String)request.getParameter("zxt"));
quexian.setSsxq((String)request.getParameter("ssxq"));
quexian.setCshj((String)request.getParameter("cshj"));
quexian.setYxj((String)request.getParameter("yxj"));
quexian.setYzdj((String)request.getParameter("yzdj"));
quexian.setQxyy((String)request.getParameter("qxyy"));
quexian.setYh((String)request.getParameter("yh"));
quexian.setSj((String)request.getParameter("sj"));
quexian.setZt((String)request.getParameter("zt"));
quexian.setFj((String)request.getParameter("fj"));
quexian.setMs((String)request.getParameter("ms"));
quexian.setQxzht((String)request.getParameter("qxzht"));
	response.setCharacterEncoding("gb2312");
		try {
			dao.insert(quexian);
			request.setAttribute("flag", "操作成功"); 
			
			
			
			request.getRequestDispatcher("quexian/quexianadd.jsp").forward(request, response);
		} catch (Exception e) {
			e.printStackTrace();
		}
				
	}
	private void ListM(HttpServletRequest request, HttpServletResponse response){//缺陷信息列表
		ResultSet rs=null;
		quexianDao dao = new quexianDao();
	   
	    String str=(String)request.getParameter("Page");
		String sql="";
		response.setCharacterEncoding("gb2312");
		try{
		if(str==null){
				str="0";
				}		
		String qxzt=(String)request.getParameter("qxzt"); 
		if(qxzt!=null&&!qxzt.equals("")){ //如果缺陷主题不为空 拼接sql语句
		sql+=" and qxzt like '%"+qxzt+"%'";//拼接sql语句 
		} 
		String ssxt=(String)request.getParameter("ssxt"); 
		if(ssxt!=null&&!ssxt.equals("")){ //如果所属系统不为空 拼接sql语句
		sql+=" and ssxt='"+ssxt+"'";//拼接sql语句 
		} 
		String zxt=(String)request.getParameter("zxt"); 
		if(zxt!=null&&!zxt.equals("")){ //如果子系统不为空 拼接sql语句
		sql+=" and zxt='"+zxt+"'";//拼接sql语句 
		} 
		String ssxq=(String)request.getParameter("ssxq"); 
		if(ssxq!=null&&!ssxq.equals("")){ //如果所属需求不为空 拼接sql语句
		sql+=" and ssxq='"+ssxq+"'";//拼接sql语句 
		} 
		String cshj=(String)request.getParameter("cshj"); 
		if(cshj!=null&&!cshj.equals("")){ //如果测试环境不为空 拼接sql语句
		sql+=" and cshj='"+cshj+"'";//拼接sql语句 
		} 
		String yxj=(String)request.getParameter("yxj"); 
		if(yxj!=null&&!yxj.equals("")){ //如果优先级不为空 拼接sql语句
		sql+=" and yxj='"+yxj+"'";//拼接sql语句 
		} 
		String yzdj=(String)request.getParameter("yzdj"); 
		if(yzdj!=null&&!yzdj.equals("")){ //如果严重等级不为空 拼接sql语句
		sql+=" and yzdj='"+yzdj+"'";//拼接sql语句 
		} 
		String qxyy=(String)request.getParameter("qxyy"); 
		if(qxyy!=null&&!qxyy.equals("")){ //如果缺陷原因不为空 拼接sql语句
		sql+=" and qxyy='"+qxyy+"'";//拼接sql语句 
		} 
	
		if(request.getSession().getAttribute("yhm")!=null){ //如果用户不为空 拼接sql语句
		sql+=" and yh='"+request.getSession().getAttribute("yhm").toString()+"'";//拼接sql语句 
		} 
		String sj=(String)request.getParameter("sj"); 
		if(sj!=null&&!sj.equals("")){ //如果时间不为空 拼接sql语句
		sql+=" and sj='"+sj+"'";//拼接sql语句 
		} 
		String zt=(String)request.getParameter("zt"); 
		if(zt!=null&&!zt.equals("")){ //如果状态不为空 拼接sql语句
		sql+=" and zt='"+zt+"'";//拼接sql语句 
		} 
		String fj=(String)request.getParameter("fj"); 
		if(fj!=null&&!fj.equals("")){ //如果附件不为空 拼接sql语句
		sql+=" and fj='"+fj+"'";//拼接sql语句 
		} 
		String ms=(String)request.getParameter("ms"); 
		if(ms!=null&&!ms.equals("")){ //如果描述不为空 拼接sql语句
		sql+=" and ms='"+ms+"'";//拼接sql语句 
		} 
		String qxzht=(String)request.getParameter("qxzht"); 
		if(qxzht!=null&&!qxzht.equals("")){ //如果缺陷状态不为空 拼接sql语句
		sql+=" and qxzht='"+qxzht+"'";//拼接sql语句 
		} 
			rs=dao.qlist(sql);

			PrintWriter out = response.getWriter();
			request.setAttribute("rs", rs); 
		

		request.getRequestDispatcher("quexian/quexianlist.jsp?Page="+str).forward(request, response);
		}catch(Exception e){
			e.toString();
			e.printStackTrace();
		}		


		
	}
	private void PListM(HttpServletRequest request, HttpServletResponse response){//测试信息列表
		
		ResultSet rs=null;
		quexianDao dao = new quexianDao();
	    System.out.println("alist");

		String sql="";
		response.setCharacterEncoding("gb2312");
		try{
			rs=dao.qlist(sql);

			PrintWriter out = response.getWriter();
			request.setAttribute("rs", rs); 
		

			request.getRequestDispatcher("quexian/quexianplist.jsp").forward(request, response);
		}catch(Exception e){
			e.toString();
			e.printStackTrace();
		}
		
	}
	private void modifyIndex(HttpServletRequest request, HttpServletResponse response){//缺陷修改首页
			ResultSet rs=null;
	response.setCharacterEncoding("gb2312");
		quexianDao dao = new quexianDao();
		
	
		String keyid=(String)request.getParameter("keyid");
		String sql="";
	
		
		if(keyid!=null&&!keyid.equals("")){
			
			sql+=" and qxid='"+keyid+"'";
			
		}
		try{
			rs=dao.qlist(sql);
			PrintWriter out = response.getWriter();
			request.setAttribute("rs", rs); 
			
			request.getRequestDispatcher("quexian/quexianmodify.jsp").forward(request, response);
			//response.sendRedirect("quexian/quexianmodify.jsp");
		}catch(Exception e){
			e.toString();
			e.printStackTrace();
		}
		
	}

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

四 系统实现



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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Axure鲜花商城网站原型图,网上花店订花O2O本地生活电商平台

作品概况 页面数量:共 30 页 兼容软件:仅支持Axure RP 9/10,非程序软件无源代码 应用领域:鲜花网、花店网站、本地生活电商 作品特色 本作品为「鲜花购物商城」网站模板,高保真高交互,属于O2O本地生活电…

翻转课堂是什么意思

在教育方面,老师们常听到各种新颖的教学理念和模式,但翻转课堂无疑是最具颠覆性和创新性的一个。那么,翻转课堂究竟怎么翻转呢? 让我们先了解一下“翻转”二字。在传统的课堂上,教师是知识的传授者,学生则是…

阿里云服务器系统盘高效云盘、ESSD Entry云盘、SSD云盘、ESSD云盘测评

阿里云服务器系统盘或数据盘支持多种云盘类型,如高效云盘、ESSD Entry云盘、SSD云盘、ESSD云盘、ESSD PL-X云盘及ESSD AutoPL云盘等,阿里云百科aliyunbaike.com详细介绍不同云盘说明及单盘容量、最大/最小IOPS、最大/最小吞吐量、单路随机写平均时延等性…

Python电能质量扰动信号分类(四)基于CNN-BiLSTM的一维信号分类模型

往期精彩内容: 引言 1 数据集制作与加载 1.1 导入数据 1.2 制作数据集 2 CNN-BiLSTM分类模型和超参数选取 2.1定义CNN-BiLSTM分类模型 2.2 设置参数,训练模型 3 模型评估 3.1 准确率、精确率、召回率、F1 Score 3.2 十分类混淆矩阵&#xff1a…

【算法】链表每k个节点反转 (js)

牛客链接:https://www.nowcoder.com/practice/b49c3dc907814e9bbfa8437c251b028e?tpId196&&tqId37080&rp1&ru/ta/job-code-total&qru/ta/job-code-total/question-ranking 本人题解: 有点绕,好好理解 /** function Li…

Javaweb之Mybatis的基础操作的详细解析

1. Mybatis基础操作 学习完mybatis入门后,我们继续学习mybatis基础操作。 1.1 需求 需求说明 通过分析以上的页面原型和需求,我们确定了功能列表: 查询 根据主键ID查询 条件查询 新增 更新 删除 根据主键ID删除 根据主键ID批量删除 …

LeetCode 84. 柱状图中最大的矩形

84. 柱状图中最大的矩形 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例 1: 输入:heights [2,1,5,6,2,3] 输出:10 解释…

【Python机器学习】构建简单的k近邻算法模型

k近邻算法是一个很容易理解的算法,构建模型只需要保存训练数据集。要对一个新的数据点做出预测,算法会在训练集中寻找与这个新数据点距离最近的数据点,然后将找到的数据点的标签赋值给这个新数据点。 l近邻算法中k的含义是:我们可…

阿里云系统盘测评ESSD、SSD和高效云盘IOPS、吞吐量性能参数表

阿里云服务器系统盘或数据盘支持多种云盘类型,如高效云盘、ESSD Entry云盘、SSD云盘、ESSD云盘、ESSD PL-X云盘及ESSD AutoPL云盘等,阿里云百科aliyunbaike.com详细介绍不同云盘说明及单盘容量、最大/最小IOPS、最大/最小吞吐量、单路随机写平均时延等性…

H5C3练习心得 2024.01.03(文字加载动画效果)--transition,动画渲染,遮罩层

(一)transition(过渡效果) 1.详解 通常将css的属性值更改后,浏览器会立即更新新的样式,例如在鼠标悬停在元素上时,通过 :hover 选择器定义的样式会立即应用在元素上。 在 CSS3 中加入了一项过…

IDEA多实例启动

IDEA多实例启动 1、基本使用 打开它 如果想一个model多实例化启动,选择对应实例,点击 点击apply,出去就有了,但是,创建完之后,还以可点击这里选择compound 真的很nice

Spring ApplicationEvent事件处理

Spring的事件 ApplicationEvent以及Listener是Spring为我们提供的一个事件监听、订阅的实现,内部实现原理是观察者设计模式,设计初衷也是为了系统业务逻辑之间的解耦,提高可扩展性以及可维护性。 ApplicationEvent就是Spring的事件接口Applic…

C++ 实现Windows WIFI管理器

文章目录 前言一、代码二、补充知识三、遇到的问题字符集转换 四、剩余问题总结 前言 出于项目需要,需要用C开发一个wifi界面,实现wifi扫描、wifi连接与断开、wifi密码记住的基础功能。 一、代码 话不多说,直接上代码。 #pragma once #inc…

迎接数字化,亿发专业MES制造管理解决方案,助力湖南企业智能制造管理

在20世纪80年代末,美国先进制造研究机构(AMT)率先提出了MES(Manufacturing Execution System)的概念,即制造执行系统或生产实施系统。面向车间的生产过程管理与实时信息管理,解决车间生产任务的…

EasyExcel解决导出字符串变成数字问题

🍁 作者:知识浅谈,CSDN博客专家,阿里云签约博主,InfoQ签约博主,华为云云享专家,51CTO明日之星 📌 擅长领域:全栈工程师、爬虫、ACM算法 💒 公众号&#xff1a…

CMake入门教程【基础篇】在Windows、Linux上安装CMake

😈「CSDN主页」:传送门 😈「Bilibil首页」:传送门 😈「本文的内容」:CMake入门教程 😈「动动你的小手」:点赞👍收藏⭐️评论📝 文章目录 1.windows平台第1步&…

市场复盘总结 20240103

仅用于记录当天的市场情况,用于统计交易策略的适用情况,以便程序回测 短线核心:不参与任何级别的调整 昨日回顾: 方法一:指标选股 select * from dbo.ResultAll where 入选类型 like %指标选股% and 入选日期=20240103;方法二:趋势选股法 1、最低价持续3日上涨 2、均价…

c 编码(进行中)

编码出来的jpeg图片只有红&#xff0c;绿色。排查中 ​​​​​​​ #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <stdlib.h> #include <unistd.h> #include <sys/ioctl.h> #in…

jar包反编译

tips&#xff1a;下载地址在评论区 一、解压出来单击.exe文件 二、 将jar包拖到灰色区域 如图所示 三、保存 1.File->Save All Sourses->解压缩 2.快捷键CtrlAltS

C++面向对象语法总结(一)

一、类 C中可以使用struct、class两个关键字来定义一个类struct和class的区别 struct的默认成员权限是publicclass的默认成员权限是private实际开发中&#xff0c;用class表示类的比较多&#xff0c;因为涉及到封装的思想 在函数中创建的对象&#xff0c;都是在栈空间&#xf…