一、源码特点
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
四 系统实现
源码获取 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓