目录
1 概述
2 数据库表
3 关键代码
4 效果演示
1 概述
电力生产安全评价系统,是一个集电力生产安全评价于一体的系统,融合了文件的上传和下载功能。它具有项目提交与评价的一般功能,在现有的项目提交与评价系统的基础上更注重系统的规范性以及易管理性。注册员工可以随时查看所提交的项目的评价状态,随时了解自己所提交项目的评价进程,并及时查看评价结果,让整个评价过程变得更加清晰。
本系统是一个基于MVC模式的Web系统,采用JSP+SERVLET+MYSQL来实现这样一款B/S架构的系统。该系统主要为员工提供了注册,电力生产安全提交以及评价进程和结果查看,管理员初审项目,评价专家信息管理,评价专家评价项目,员工个人信息管理等功能,重点在于项目文件的上传和下载的实现。
本文首先介绍了电力生产安全评价系统的现状和前景、本系统运用到的理论支持和应用技术,然后对电力生产安全评价系统的总体框架和功能模块进行了规划和设计,并对各功能模块的作用进行的描述,接下来集中介绍了系统的实现方案,对各个功能模块的实现进行了详细的说明,最后对系统进行了测试,并对主要测试用例和核心功能模块的测试结果进行了说明,整个过程严格遵循软件开发的基本过程。
2 数据库表
表3-3 项目信息表
表名 |
Article |
|||
描述 |
存放所提交的期刊以及项目的基本信息 |
|||
字段名 |
数据类型 |
长度 |
是否为空 |
描述 |
Ar_id |
int |
|
Notnull |
项目编号[主键] |
Ar _title |
varchar |
|
Notnull |
标题 |
Ar _abstract |
varchar |
500 |
Notnull |
备注 |
Ar _key |
varchar |
100 |
Notnull |
关键字 |
Ar _name |
varchar |
100 |
Notnull |
文件名称 |
User_id |
int |
|
Notnull |
员工编号,外键引用(User)[User_id] |
Ar_time |
Varchar |
100 |
Notnull |
提交时间 |
Ar_state |
Varchar |
100 |
Notnull |
安全评价状态 |
Ar_result |
Varchar |
100 |
|
评价结果 |
writer1_name |
varchar |
100 |
Notnull |
第一负责人姓名 |
writer1_unit |
varchar |
100 |
Notnull |
第一负责人单位 |
writer1_email |
varchar |
100 |
Notnull |
第一负责人邮箱 |
writer1_code |
varchar |
500 |
Notnull |
第一负责人邮编 |
writer1_adr |
varchar |
100 |
|
第一负责人地址 |
Writer2_name |
varchar |
100 |
Notnull |
第二负责人姓名 |
Writer2_unit |
varchar |
100 |
Notnull |
第二负责人单位 |
Writer2_email |
varchar |
100 |
Notnull |
第二负责人邮箱 |
Writer2_code |
varchar |
500 |
Notnull |
第二负责人邮编 |
Writer2_adr |
varchar |
100 |
|
第二负责人地址 |
Writer3_name |
varchar |
100 |
Notnull |
第三负责人姓名 |
Writer3_unit |
varchar |
100 |
Notnull |
第三负责人单位 |
Writer3_email |
varchar |
100 |
Notnull |
第三负责人邮箱 |
Writer3_code |
varchar |
500 |
Notnull |
第三负责人邮编 |
Writer3_adr |
varchar |
100 |
|
第三负责人地址 |
Writer4_name |
varchar |
100 |
Notnull |
第四负责人姓名 |
Writer4_unit |
varchar |
100 |
Notnull |
第四负责人单位 |
Writer4_email |
varchar |
100 |
Notnull |
第四负责人邮箱 |
Writer4_code |
varchar |
500 |
Notnull |
第四负责人邮编 |
Writer4_adr |
varchar |
100 |
|
第四负责人地址 |
Writer5_name |
varchar |
100 |
Notnull |
第五负责人姓名 |
Writer5_unit |
varchar |
100 |
Notnull |
第五负责人单位 |
Writer5_email |
varchar |
100 |
Notnull |
第五负责人邮箱 |
Writer5_code |
varchar |
500 |
Notnull |
第五负责人邮编 |
Writer5_adr |
varchar |
100 |
|
第五负责人地址 |
表3-4 评价专家信息表
表名 |
Expert |
|||
描述 |
存放所有安全评价专家的基本信息,管理员来对其进行管理 |
|||
字段名 |
数据类型 |
长度 |
是否为空 |
描述 |
EX_id |
int |
|
Notnull |
专家编号[主键] |
EX _name |
varchar |
100 |
Notnull |
姓名 |
Ex_sex |
varchar |
20 |
Notnull |
性别 |
EX _title |
varchar |
100 |
Notnull |
职称 |
EX _unit |
Varchar |
100 |
Notnull |
单位 |
Ex_ads |
Varchar |
100 |
|
地址 |
EX_code |
Varchar |
100 |
|
邮编 |
EX _tel |
Varchar |
100 |
Notnull |
联系电话 |
EX _email |
Varchar |
100 |
Notnull |
电子邮箱 |
EX _domain1 |
Varchar |
500 |
Notnull |
研究领域一 |
EX _domain2 |
Varchar |
500 |
|
研究领域二 |
EX _domain3 |
Varchar |
500 |
|
研究领域三 |
表3-5 安全评价意见表
表名 |
Comment |
|||
描述 |
存放评价专家对所评价的项目发表的评价意见 |
|||
字段名 |
数据类型 |
长度 |
是否为空 |
描述 |
Com _id |
int |
|
Notnull |
意见编号[主键] |
Ar_id |
int |
|
Notnull |
项目编号,外键,引用(Article)[Ar_id] |
Ex_id |
int |
|
Notnull |
评价者编号,外键,引用(Reader)[Reader_id] |
Com_note |
varchar |
1000 |
|
评价意见 |
3 关键代码
package servlet;import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import dao.*;
import entity.*;
import java.util.*;public class ExpertServlet extends HttpServlet {public ExpertServlet() {super();}public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request,response); }public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//获取操作名String oper=request.getParameter("oper");if(oper!=null){//登陆if(oper.equals("add")){ //添加add(request,response);}else if(oper.equals("delete")){ //删除delete(request,response);}else if(oper.equals("update")){ //管理员进行修改update(request,response);}else if(oper.equals("ex_update")){ //专家自己进行修改ex_update(request,response);} else if(oper.equals("add_exid")){ //添加专家登录帐号add_exid(request,response);}}}//添加专家private void add(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{//设置编码request.setCharacterEncoding("gb2312");response.setCharacterEncoding("gb2312"); //获取页面上传过来的数据String name=request.getParameter("name");String sex=request.getParameter("sex");String title=request.getParameter("title");String unit=request.getParameter("unit");String ads=request.getParameter("address");String code=request.getParameter("code");String tel=request.getParameter("tel");String email=request.getParameter("email");String domain1=request.getParameter("domain1");String domain2=request.getParameter("domain2");String domain3=request.getParameter("domain3");expert obj=new expert();obj.setEx_name(name);obj.setEx_sex(sex);obj.setEx_title(title);obj.setEx_unit(unit);obj.setEx_ads(ads);obj.setEx_code(code);obj.setEx_tel(tel);obj.setEx_email(email);obj.setEx_domain1(domain1);obj.setEx_domain2(domain2);obj.setEx_domain3(domain3);ExpertDAO dao=new ExpertDAO();boolean result=dao.add(obj);if(result){System.out.println("添加专家成功");response.sendRedirect("expert_add_ok.jsp");}else{System.out.println("添加专家成功");response.sendRedirect("MyJsptest.jsp");}}//删除专家private void delete(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{//设置编码request.setCharacterEncoding("gb2312");response.setCharacterEncoding("gb2312"); //删除---获取传过来的idint expert_id=Integer.parseInt(request.getParameter("id"));ExpertDAO dao=new ExpertDAO();int result=dao.delete(expert_id);// boolean result=dao.delete(expert_id);//表示comment表中有数据,不能进行删除if(result==0){System.out.println("comment表中有数据,不能进行删除");//String msg="该评价专家有评价项目不能进行删除!";//弹出消息框提示注册成功StringBuffer sb = new StringBuffer();sb.append("<script>");sb.append("alert(\"该评价专家有评价项目不能进行删除!\")");sb.append("</script>");request.setAttribute("sb",sb);request.getRequestDispatcher("expert_list.jsp").forward(request, response);// response.sendRedirect("expert_list.jsp");}else if(result==1){System.out.println("删除成功!");response.sendRedirect("expert_list.jsp");}else{System.out.println("删除失败!");response.sendRedirect("MyJsptest.jsp");}}//修改专家private void update(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{//设置编码request.setCharacterEncoding("gb2312");response.setCharacterEncoding("gb2312"); //获取页面上传过来的数据//获取idint id=Integer.parseInt(request.getParameter("id"));String name=request.getParameter("name");String sex=request.getParameter("sex");String title=request.getParameter("title");String unit=request.getParameter("unit");String ads=request.getParameter("address");String code=request.getParameter("code");String tel=request.getParameter("tel");String email=request.getParameter("email");String domain1=request.getParameter("domain1");String domain2=request.getParameter("domain2");String domain3=request.getParameter("domain3");expert obj=new expert();obj.setEx_id(id);obj.setEx_name(name);obj.setEx_sex(sex);obj.setEx_title(title);obj.setEx_unit(unit);obj.setEx_ads(ads);obj.setEx_code(code);obj.setEx_tel(tel);obj.setEx_email(email);obj.setEx_domain1(domain1);obj.setEx_domain2(domain2);obj.setEx_domain3(domain3);ExpertDAO dao=new ExpertDAO();boolean result=dao.upadate(obj);if(result){System.out.println("编辑专家成功");response.sendRedirect("expert_list.jsp");}else{System.out.println("编辑专家失败!");response.sendRedirect("MyJsptest.jsp");}}//修改专家------------专家自己修改private void ex_update(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{System.out.println("进入ex_update");//设置编码request.setCharacterEncoding("gb2312");response.setCharacterEncoding("gb2312"); //获取页面上传过来的数据//获取idint id=Integer.parseInt(request.getParameter("id"));String name=request.getParameter("name");String sex=request.getParameter("sex");String title=request.getParameter("title");String unit=request.getParameter("unit");String ads=request.getParameter("address");String code=request.getParameter("code");String tel=request.getParameter("tel");String email=request.getParameter("email");String domain1=request.getParameter("domain1");String domain2=request.getParameter("domain2");String domain3=request.getParameter("domain3");expert obj=new expert();obj.setEx_id(id);obj.setEx_name(name);obj.setEx_sex(sex);obj.setEx_title(title);obj.setEx_unit(unit);obj.setEx_ads(ads);obj.setEx_code(code);obj.setEx_tel(tel);obj.setEx_email(email);obj.setEx_domain1(domain1);obj.setEx_domain2(domain2);obj.setEx_domain3(domain3);ExpertDAO dao=new ExpertDAO();boolean result=dao.upadate(obj);if(result){System.out.println("编辑专家成功");response.sendRedirect("expert_information.jsp");}else{System.out.println("编辑专家失败!");response.sendRedirect("MyJsptest.jsp");}}//添加专家登陆账号private void add_exid(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{//设置编码request.setCharacterEncoding("gb2312");response.setCharacterEncoding("gb2312"); String exid=request.getParameter("exid");String pwd=request.getParameter("pwd");//用该exid对该专家信息进行查询,查询该专家的对应信息存入user表中int ex_id=Integer.parseInt(exid);ExpertDAO edao=new ExpertDAO();expert eobj=edao.queryByid(ex_id);String name=eobj.getEx_name(); //用户名String email=eobj.getEx_email(); //邮箱//设置用户基本信息User user=new User();user.setUser_name(name); //用户名user.setUser_pwd(pwd); //密码user.setUser_email(email); //邮箱user.setRole_id(3); //role_id====3user.setEx_id(ex_id); //ex_id//执行添加UserDAO udao=new UserDAO();boolean result=udao.add(user);if(result){System.out.println("添加专家登陆账号成功!");response.sendRedirect("expert_login_nbr.jsp");}else{System.out.println("添加专家失败");response.sendRedirect("MyJsptest.jsp");}}}
4 效果演示
idea或eclipse开发,mysql数据库