基于JSP和MYSQL数据库实现的知识产权管理系统

基于JSP和MYSQL数据库实现的知识产权管理系统 1 前言 1,1 主要功能 默认系统中,有三种角色,分别为:系统管理员,执法管理员,机构用户, 系统管理员功能:系统管理

本文包含相关资料包-----> 点击直达获取<-------

基于JSP和MYSQL数据库实现的知识产权管理系统

1 前言

1.1 主要功能

默认系统中,有三种角色,分别为:系统管理员、执法管理员、机构用户。

  • 系统管理员功能:系统管理、角色管理、权限管理、用户管理

  • 执法管理员功能:执法部门管理、执法人员管理、服务机构管理、网络检测、惩戒信息、邮箱回复、新闻政策

  • 机构用户功能:邮箱提问、浏览新闻

1.2 使用方法

2 设计思路

2.1 数据库设计

2.1.1 E-R图

2.1.2 建表明细

根据 E-R图,设计出符合 BC范式的数据库,一共建立 13张表。如下:

  • 系统表 system:主键 sysID

  • 菜单表:主键 menuID

  • 角色表 role:主键 roleID、外键 roleSystem->system(sysID)

  • 权限表 authority:主键(roleID,menuID)、外键 roleID->role(roleID) menuID->menu(menuID)

  • 用户表 usr:主键 userID、外键 userRole->role(roleID)

  • 字典表 dictionary:主键 dicID

  • 执法部门表 department:主键 departID

  • 执法人员表 enforceman:主键 enManID、外键 enManDepart->department(departID)

  • 服务机构表 organization:主键:organID (10)网络检测表 netmonitor:主键:monitorID、外键:organization->organization(organID)、enforceMan->enforceman(enManID)

  • 惩戒信息表 punishinfo:主键:punishID、外键:organization->organization(organID)、enforceMan->enforceman(enManID)

  • 邮箱回复表 mailrequire:主键:requireID

  • 新闻政策表 newspolicy:主键:newsID

2.1.3 书写脚本

用 sql语句书写建数据库、建表、插入数据的脚本。

2.2 主要模块

2.2.1 登录模块

用户登录后,将用户的信息和所属角色已授权的菜单项查询出来,放在 session中供页面中使用。

2.2.2 系统管理员

系统管理

点击系统管理,对所有系统进行管理。包括新增系统,修改系统,删除系统等。

角色管理

点击角色管理,对可登录服务机构监管系统的所有角色进行管理。包括新增角色, 修改角色,删除角色等。

新增角色时,新增字段包括角色名,所属系统和备注。其中所属系统通过下拉框选填。 指派系统时,选定用户后可对该角色指定所属系统。

用户管理

点击用户管理,对可登录服务机构监管系统的所有用户进行管理。包括新增用户, 修改用户信息,修改用户登录密码,指派角色和删除等。

新增用户时, 新增字段包括用户代码,用户名,手机号,电子邮件,密码,服务机构类型,地区,用户类型和备注。其中服务机构类型,地区和用户类型通过下拉框选填。

修改用户时, 除用户代码外都可进行修改。

指派角色时,选定用户后可对该用户指派角色。

权限管理

可指定每个角色登录系统后的菜单选项。

2.2.3 执法管理员

执法部门管理

点击执法部门管理,对所有执法部门进行管理。包括新增执法部门,修改执法部门,删除执法部门等。

执法人员管理

点击执法人员管理,对所有的执法人员信息进行管理。包括新增执法人员,修改执法人员,删除执法人员等。 指派执法部门时,选定用户后可对该执法人员指定所属执法部门。

服务机构管理

点击服务机构管理,对所有服务机构进行管理。包括新增服务机构,修改服务机构,删除服务机构等。

网络检测

网络监测可查询和发布监测报告,包含一个报告查询的菜单。点击报告查询,显示区域列出已发布的网络监测报告。包括机构名称,检查时间,检查人员,检查结果等信息。

点击发布,可发布服务机构的网络监测情况。点击在线发布后,可选择机构,是否合格,并可添加检查人员和备注。点击确认按钮,即可发送监测报告至服务机构。

监测报告可以通过机构名称,检查人,是否合格及日期等条件进行过滤,查看符合条件的监测报告。

惩戒信息

惩戒信息菜单包括在线发布和历史管理两个二级菜单。

点击在线发布菜单,选择江苏省的 13 个市,点击市名,显示该市所有的服务机构, 可选择需要接收网络监测报告的服务机构。选择完成后填写对该机构的惩戒信息详情, 最后点击发布按钮,进行发布。

历史管理菜单中可以查看已发布的惩戒信息。

邮箱回复

点击邮箱回复菜单。点击信箱回复,右侧显示区域显示待回复的问题。逐条显示, 点击每个问题,可查看问题详细,并可回复。

新闻政策

点击新闻政策菜单,显示区域显示已发布的新闻政策,包括新闻标题,新闻类型,文件类型,新闻状态等信息。同时显示区域上方可对新闻政策信息进行过滤查询,并有发布新闻,启用或禁用某条新闻,修改新闻和预览新闻等按钮。

新闻查询通过新闻标题对新闻进行过滤,筛选出符合条件的新闻。

点击发布新闻,可在线填写新闻标题,选择文件类型和新闻分类,并可在线编辑要发布的新闻或政策的内容。

点击启用/禁用,可改变单条新闻的状态,启用或禁用该条新闻。

选中新闻后,点击修改新闻,可对新闻标题,新闻类型和新闻内容进行更改。

2.2.4 机构用户

邮箱提问

点击邮箱提问菜单。可以向执法管理员提问,并可以浏览历史提问信息。

新闻浏览

点击新闻浏览菜单,并可以浏览历史新闻政策的信息。

2.3 工作原理

  • 系统分为四层:实体层(vo)、数据访问层(dao)、控制层(servlet)、显示层(jsp)

  • 实体层:实现对数据对象的封装,将每个实体作为整体进行封装,在上层调用时,均使用实体进行传参

  • 数据访问层:实现对数据库的访问,一切对数据库的操作,均在此层实现

  • 控制层:用 servlet 进行实现,每个工作页面 jsp 均有一个 servlet 对其进行控制,在此层调用 dao层中的方法,完成对数据库的操作,从而为 jsp层提供必要的数据和操作控制

  • 显示层:用 jsp进行实现,根据 servlet提供的数据进行显示,同时接受客户端的请求,返回给 servlet 做出反应

3 模块详细设计

3.1 数据访问层详细

数据访问层以一个类 BaseDao作为父类,在 BaseDao中,完成对数据库连接相关 的配置的封装,使继承此类的子类只需要考虑 sql语句和填充项即可完成对数据库的操作,主要代码如下:

重要参数

java private static final String DRIVER="com.mysql.jdbc.Driver"; private static final String URL="jdbc:mysql://localhost:3306/agencydb"; private static final String UNAME="root"; private static final String UPWD="baihaoran960524"; protected Connection conn=null; protected PreparedStatement pstmt=null;

加载驱动

java private void getConn(){ try { conn=DriverManager.getConnection(URL, UNAME, UPWD); } catch (SQLException e) { JOptionPane.showMessageDialog(null, "数据库连接失败!"); e.printStackTrace(); } }

关闭数据库连接

java public void closeAll(){ if(null!=pstmt){ try { pstmt.close(); } catch (SQLException e) { JOptionPane.showMessageDialog(null, "数据库预编译 SQL关闭失败!"); e.printStackTrace(); } } if(null!=conn){ try { conn.close(); } catch (SQLException e) { JOptionPane.showMessageDialog(null, "数据库连接关闭失败!"); e.printStackTrace(); } } }

查询数据库操作

java public ResultSet excuteQuery(String sql,Object[] params) throws SQLException{ this.getConn(); ResultSet rs=null; pstmt=conn.prepareStatement(sql); if(params!=null){ for(int i=0;i<params.length;i++){ pstmt.setObject(i+1, params[i]); } } rs=pstmt.executeQuery(); return rs; }

更新数据库操作

java public int excuteUpdate(String sql,Object[] params) throws SQLException{ int count=0; this.getConn(); pstmt=conn.prepareStatement(sql); if(params!=null){ for(int i=0;i<params.length;i++){ pstmt.setObject(i+1, params[i]); } } count=pstmt.executeUpdate(); this.closeAll(); return count; }

3.2 登录模块

登陆模块主要原理如下:

  • 客户端在 login.jsp页面中输入用户名 userName和密码 password,点击登录后跳转到 servlet层的 loginSkip进行处理操作

  • loginSkip 中,获取 userName 和 password 后,调用 dao层中的 userDao 进行查询, 将查询的数据封装在 vo层中的 User类的 user对象中,在根据的 user的所属角色调用 dao层中的 authorDao 查询此角色可以操作的菜单项。每个菜单项所对应的调用路径已经保存在 WEB-INF文件夹下的 menuInfo.xml中,此时,加载此文件,根据查询的菜单项查询相关的路径,保存在 HashMap类的 menus中。此刻,将 user和 menus保存在 session对象中,然后跳转到主界面 mainWorkPage.jsp

  • 在 mainWorkPage中完成对 user信息和 menus菜单项连接的布置工作,完成登陆模块。 登陆界面 login.jsp如下:

主界面 mainWorkPage.jsp如下:

3.3 系统管理模块

系统管理模块主要原理如下:

  • 点击系统管理菜单项,跳转到 servlet中的 systemWorkPageSkip中

  • 在 systemWorkPageSkip 中,调用 dao 层方法,查询相关数据,保存在 session 中, 并跳转到 systemWorkPage.jsp中进行显示

  • 在 systemWorkPage.jsp中,点击刷新/插入/修改/删除操作时,利用表单跳转到 systemWorkPageSkip,在其中进行处理,在跳回 jsp中进行显示

系统管理界面 systemWorkPage.jsp如下:

3.4 角色管理模块

角色管理模块主要原理如下:

  • 点击角色管理菜单项,跳转到 servlet中的 roleWorkPageSkip中

  • 在 roleWorkPageSkip中,调用 dao层方法,查询相关数据,保存在 session中, 并跳转到 roleWorkPage.jsp中进行显示

  • 在 roleWorkPage.jsp中,点击刷新/插入/修改/删除操作时,利用表单跳转到roleWorkPageSkip,在其中进行处理,在跳回 jsp中进行显示

角色管理界面 roleWorkPage.jsp如下:

3.5 权限管理模块

权限管理模块主要原理如下:

  • 点击权限管理菜单项,跳转到 servlet中的 authorWorkPageSkip中

  • 在 authorWorkPageSkip 中,调用 dao 层方法,查询相关数据,保存在 session 中, 并跳转到 authorWorkPage.jsp中进行显示

  • 在 authorWorkPage.jsp中,点击刷新/插入/修改/删除操作时,利用表单跳转到authorWorkPageSkip,在其中进行处理,在跳回 jsp中进行显示

权限管理界面 authorWorkPage.jsp如下:

3.6 用户管理模块

用户管理模块主要原理如下:

  • 点击用户管理菜单项,跳转到 servlet中的 userWorkPageSkip中

  • 在 userWorkPageSkip中,调用 dao层方法,查询相关数据,保存在 session中, 并跳转到 userWorkPage.jsp中进行显示

  • 在 userWorkPage.jsp中,点击刷新/插入/修改/删除操作时,利用表单跳转到 userWorkPageSkip,在其中进行处理,在跳回 jsp中进行显示

用户管理界面 userWorkPage.jsp如下:

3.7 执法部门管理模块

执法部门管理模块主要原理如下:

  • 点击执法部门管理菜单项,跳转到 servlet中的 departWorkPageSkip中

  • 在 departWorkPageSkip 中,调用 dao 层方法,查询相关数据,保存在 session 中, 并跳转到 departWorkPage.jsp中进行显示

  • 在 departWorkPage.jsp中,点击刷新/插入/修改/删除操作时,利用表单跳转到 departWorkPageSkip,在其中进行处理,在跳回 jsp中进行显示

执法部门管理 departWorkPage.jsp如下:

3.8 执法人员管理

执法人员管理模块主要原理如下:

  • 点击执法人员管理菜单项,跳转到 servlet中的 enManWorkPageSkip中

  • 在 enManWorkPageSkip 中,调用 dao 层方法,查询相关数据,保存在 session 中, 并跳转到 enManWorkPage.jsp中进行显示

  • 在 enManWorkPage.jsp中,点击刷新/插入/修改/删除操作时,利用表单跳转到 enManWorkPageSkip,在其中进行处理,在跳回 jsp中进行显示

执法人员管理界面 enManWorkPage.jsp如下:

3.9 服务机构管理

服务机构管理模块主要原理如下:

  • 点击服务机构管理菜单项,跳转到 servlet中的 organWorkPageSkip中

  • 在 organWorkPageSkip 中,调用 dao 层方法,查询相关数据,保存在 session 中, 并跳转到 organWorkPage.jsp中进行显示

  • 在 organWorkPage.jsp中,点击刷新/插入/修改/删除操作时,利用表单跳转到 organWorkPageSkip,在其中进行处理,在跳回 jsp中进行显示

服务机构管理界面 organWorkPage.jsp如下:

3.10 网络监测

网络监测模块主要原理如下:

  • 点击网络监测菜单项,跳转到 servlet中的 monitorWorkPageSkip中

  • 在 monitorWorkPageSkip中,调用 dao层方法,查询相关数据,保存在 session 中,并跳转到 monitorWorkPage.jsp中进行显示

  • 在 monitorWorkPage.jsp中,点击刷新/发布检测/筛选操作时,利用表单跳转到 monitorWorkPageSkip,在其中进行处理,在跳回 jsp中进行显示

  • 可以根据下拉列表选择筛选类型,有按日期、机构、人员和结果筛选

网络检测界面 monitorWorkPage.jsp如下:

3.11 惩戒信息

惩戒信息模块主要原理如下:

  • 点击惩戒信息菜单项,跳转到 servlet中的 punishWorkPageSkip中

  • 在 punishWorkPageSkip 中,调用 dao 层方法,查询相关数据,保存在 session 中, 并跳转到 punishWorkPage.jsp中进行显示

  • 在 punishWorkPage.jsp中,点击刷新/发布惩戒信息/筛选操作时,利用表单跳转 到 punishWorkPageSkip,在其中进行处理,在跳回 jsp中进行显示

  • 可以根据下拉列表选择筛选类型,有按日期、机构、人员和结果筛选

惩戒信息界面 punishWorkPage.jsp如下:

3.12 邮箱回复

邮箱回复模块主要原理如下:

  • 点击邮箱回复菜单项,跳转到 servlet中的 requireWorkPageSkip中

  • 在 requireWorkPageSkip 中,调用 dao层方法,查询相关数据,保存在 session 中, 并跳转到 requireWorkPage.jsp中进行显示

  • 在 requireWorkPage.jsp中,点击刷新/回复提问操作时,利用表单跳转到 requireWorkPageSkip,在其中进行处理,在跳回 jsp中进行显示

邮箱回复界面 requireWorkPage.jsp如下:

3.13 新闻政策

新闻政策模块主要原理如下:

  • 点击新闻政策菜单项,跳转到 servlet中的 newsWorkPageSkip中

  • 在 newsWorkPageSkip 中,调用 dao 层方法,查询相关数据,保存在 session 中, 并跳转到 newsWorkPage.jsp中进行显示

  • 在 newsWorkPage.jsp中,点击刷新/发布新闻/修改/启用/禁用/筛选操作时,利用 表单跳转到 newsWorkPageSkip,在其中进行处理,在跳回 jsp中进行显示

  • 可以根据新闻标题进行筛选

新闻政策界面 newsWorkPage.jsp如下:

3.14 邮箱提问

邮箱提问模块主要原理如下:

  • 点击邮箱提问菜单项,跳转到 servlet中的 mailWorkPageSkip中

  • 在 mailWorkPageSkip中,调用 dao层方法,查询相关数据,保存在 session中, 并跳转到 mailWorkPage.jsp中进行显示

  • 在 mailWorkPage.jsp 中,点击刷新/发起提问操作时,利用表单跳转到 mailWorkPageSkip,在其中进行处理,在跳回 jsp中进行显示

邮箱提问界面 mailWorkPage.jsp如下:

3.15 新闻浏览

新闻浏览管理模块主要原理如下:

  • 点击新闻浏览菜单项,跳转到 servlet中的 browserWorkPageSkip中

  • 在 browserWorkPageSkip中,调用 dao层方法,查询相关数据,保存在 session 中,并跳转到 browserWorkPage.jsp中进行显示

  • 在 browserWorkPage.jsp中,点击筛选操作时,利用表单跳转到 browserWorkPageSkip,在其中进行处理,在跳回 jsp中进行显示

  • 可以根据新闻标题进行筛选

新闻浏览界面 browserWorkPage.jsp如下:

3.16 界面中按钮操作详细

界面初始只显示数据库中的查询的数据,并显示对数据库进行增/删/改所需要的表单。是利用了 DIV图层的 display属性,在初始时,增/删/改的表单隐藏,display属性为 none,单击按钮之后,调用 js文件的函数,将图层的 display属性设置为 block,相应的表单也就显示了出来,例如用户管理中单击“添加用户”按钮,相应的表单也显示了出来,如下:

3.17 界面设计详细

3.17.1 数据显示设计

在数据库中一些表的外键值均为对应的 ID,而不是 Name,而页面显示的时候, 会将相关表的数据查询出,不见 ID 值替换为 Name值,使界面更加友好。

一些表有外键约束时,添加或修改选项中的值会采用下拉列表的形式,从而保证数据的一致性。

应用字典表,一些类型的对象如省份/服务机构类型/文件类型,在数据库中仅存有 Value值的数字,而到前台页面显示时,会查询字典表,显示其对应的 Name值。

3.17.2 CSS+DIV设计

**登陆界面 **

**主界面 **

**浮动框架页面 **

4 模块测试

软件系统的测试,分为两个阶段:单元测试、集成测试、验收测试、回归测试。

  • 单元测试:在软件编码过程中,每完成一个模块时,便会对该模块进行测试,设计驱动程序 和桩程序,发现错误即使解决,保证接下来的工作正常的进行

  • 集成测试:当所有的单元已经编码完成,则进行集成测试,采用的模式为“渐增式集成”, 对每次集成的接口问题进行测试,发现错误并解决,保证模块间的通讯没有错误

  • 验收测试:系统集成完毕,根据需求说明,对功能进行验收测试,保证每项功能的正常运行, 发现错误,则进行修改

  • 回归测试:但发现错误进行修改的时候,修改完成时,进行测试,在保证原先功能运行正常的情况下,检查测试新的模块的正确与否

5 实验结论

此次课程设计,使我更加扎实的掌握了有关数据库设计和 Java Web开发方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。

从需求分析,到数据库的设计,再到编码实现,在整个过程中与同学互相交流和查询资料,不断解决问题,完善自己的知识掌握。

参考文献

  • 用JSP技术开发基于WEB的房地产网络管理信息系统(大连理工大学·齐鲲鹏)
  • 云南大学知识产权全流程管理系统的设计与实现(山东大学·周里昂)
  • 房地产产权信息登记系统的设计与实现(山东大学·谭毅佼)
  • 基于J2EE的科技基础数据库系统的设计与实现(武汉理工大学·王茂林)
  • 基于云平台的专利代理公司管理系统的设计与实现(山东大学·庞啸)
  • 基于web的信息共享系统的设计与实现(华中科技大学·保罗)
  • 基于JSP的办公自动化管理系统的设计与实现(浙江工业大学·郑定达)
  • 日桥公司知识管理系统的设计与实现(北京邮电大学·胡伟)
  • 基于云平台的专利代理公司管理系统的设计与实现(山东大学·庞啸)
  • 日桥公司知识管理系统的设计与实现(北京邮电大学·胡伟)
  • 基于web的信息共享系统的设计与实现(华中科技大学·保罗)
  • 基于JSP的图书馆管理系统的设计与实现(吉林大学·葛再立)
  • 基于OAuth2.0协议的企业分布式授权系统设计与实现(华中科技大学·支猛)
  • 房地产产权信息登记系统的设计与实现(山东大学·谭毅佼)
  • 基于云平台的专利代理公司管理系统的设计与实现(山东大学·庞啸)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:源码货栈 ,原文地址:https://m.bishedaima.com/yuanma/35276.html

相关推荐

  • 基于Java+JSP+Servlet的图书管理系统

    研究背景和当前研究现状: 随着信息技术的迅猛发展和互联网的普及,图书管理系统作为信息管理的重要工具,在图书馆,学校,企事业单位等各个领域得到了广泛应用,传统的图书管理方式已经无法满足日益增长的信息管理需求
    2024年05月07日
    9 1 1
  • 购物推荐网站

    这是一个🔥🔥基于SpringBoot框架的购物推荐网站设计与实现🔥🔥的项目源码,开发语言Java,框架使用的SpringBoot+vue技术,开发环境Idea/Eclipse
    2024年05月23日
    2 1 1
  • 基于Python制作的24点生成器

    基于 Python 制作的 24 点生成器 导语 看了下上周那篇推文,阅读量相对有些惨淡,看来大家都不太喜欢那个主题(说实话我也不喜欢),这周还是来点正常的吧
    2024年05月14日
    3 1 1
  • 基于SpringBoot框架的新闻稿件管理系统

    这是一套采用Java语言编写的新闻稿管理系统的源代码,基于流行的SpringBoot框架,我们利用了SpringBoot与Vue技术栈进行开发,支持Idea或Eclipse等集成开发环境
    2024年05月23日
    6 1 1
  • 二维非稳态热传导 膏体发动机之Python

    二维非稳态热传导 膏体发动机 一,划分网格: X 方向网格:20;Y 方向网格:20 材料 1:材料 2:材料 1=8:4:8 总网格数量:400 网格尺寸: 注意有界性条件:方程的各项系数大于 0 显式格式: 网格时 网格时 隐式格式: 有界性条件自动满足 C-N 格式: 二
    2024年05月14日
    1 1 1
  • 基于Python制作吃豆豆小游戏

    基于 Python 制作吃豆豆小游戏 导语 今天上 GitHub 发现 Python 制作小游戏系列文章的代码 repo 竟然有 500stars 了
    2024年05月14日
    4 1 1
  • 基于python制作一个打砖块小游戏

    基于 python 制作一个打砖块小游戏 导语 想起来好久没更这个系列的文章了,周末过来补一波好了,本期我们将利用 python 制作一个打砖块小游戏
    2024年05月14日
    1 1 1
  • 汽车资讯网站

    这是一个🔥🔥基于SpringBoot框架的汽车资讯网站设计与实现🔥🔥的项目源码,开发语言Java,框架使用的SpringBoot+vue技术,开发环境Idea/Eclipse
    2024年05月23日
    5 1 1
  • 基于JSP和Oracle实现的志愿服务银行系统

    基于JSP和Oracle实现的志愿服务银行系统 1,系统概述 1,1 系统背景 本次实习我们小组选择志愿服务银行网站的建设,志愿服务的行为是高尚的
    2024年05月14日
    43 1 8
  • 基于Java Web的智能二维码门禁管理系统

    基于 Java Web 的智能二维码门禁管理系统的设计与实现 摘要 我们身边的很多事物都已悄然接入互联网,由此本文提出基于 Java Web 和微信小程序的一套门禁系统的设计
    2024年05月14日
    5 1 1

发表回复

登录后才能评论