• 实验项目名称

    JavaWeb网上名片管理系统

  • 实验目的

    实现名片的增、删、改、查等操作。

  • 实验基本原理

JSP指令、JSP动作、JSP内置对象等

  • 主要仪器设备及耗材

    Win10、Myeclipse

  • 实验步骤

说明:再打开本项目的时候,需要修改为自己本地的数据库名和密码,

并导入我的数据库里面的表。所有的连接数据库驱动的操作使用一个公共类实现,对外只提供一个静态的连接数据库的接口。

(一)、用户登录与注册

  • 用户登录

    界面设计:

使用bootstrap 部分代码如下:

用户名或密码为空时报错,密码错误时报错!然后自动返回登录界面;

部分后端代码:

  • 用户注册

使用bootstrap部分代码如下:

界面设计:

当用户名或密码为空以及两次输入不一致时,会报错!

当用户名存在时报错

部分后端代码:

然后插入数据库,并返回登录界面!!

(二)、主界面

界面设计:利用bootstrap设计,采用下拉菜单实现导航功能

部分代码如下:

(三)、名片管理

  • 添加名片

界面设计:利用bootstrap以仿真形式增加名片信息。

用户名为空会报错!用户名已存在会报错!

部分后端代码:获取前端信息,判断数据库中是否存在,若存在则报错,不存在则插入数据库。

  • 修改名片

界面设计:

部分后端代码:首先获取想要修改的姓名,然后从数据库中查找到这条记录,然后显示到前端,然后再修改后,修改到数据库中。

注意:如果修改名字的话,需要3个jsp页面。一个前端,两个后端,在第二个里面将姓名用session.setAttribute("name", name);设置为会话属性,然后在第三个jsp获取这个属性,因为如果要改姓名的话,会按照你当前改的去数据库查询,所以肯定会抛出异常。

  • 查询名片

界面设置:

采用模糊查询的方式,把姓氏相同的人查出来,放在列表里。

部分后端代码:从数据库中选出符合条件的记录。然后利用while语句放入列表中。

  • 删除名片

界面设计:分为彻底删除和放入回收站

放入回收站:

后端部分代码:

根据输入的姓名,然后选择不同的删除。设计三个jsp,第一个是前端,第二个就是从数据库中彻底删除数据,第三个是放入回收站中,如何实现在点击不同代码的的时候跳转提交到不同的jsp是个重点:

第一个按钮就通过外层的form提交的相应的jsp,然后第二个按钮就设计formaction属性跳到相应的jsp页面。

彻底删除部分代码如下;

放入回收站部分代码如下:

放入回收站的操作:首先根据姓名找到该数据,然后建一个与前一个表对应的新表,先把数据加入新表,然后再把前一个表的数据删除。

(四)、回收站管理

  • 还原

界面设置:

部分后端代码:

还原与放入回收站互为逆操作,只需将相应的提示消息和表名改一下即可

  • 彻底删除

界面设计:

彻底删除就直接将回收站的表里的记录删掉即可

部分后代代码:

  • 浏览和查询

界面设计:就将回收站数据库中的记录一条条全部输出到列表

部分后端代码:

  • 思考讨论题或体会或对改进实验的建议

    此次实验的不足在于代码过于繁琐,下次可以考虑把相同的CSS设计样式写到一个样式表中并引用,实现代码复用,提高编程效率。

  • 参考资料

    Bootstrap档案

    数据库课本

项目代码已上传至我的Github:https://github.com/GavinYGM/JavaWeb_Protects/tree/master/javaweb_homework4

JavaWeb练习-网上名片管理系统的更多相关文章

  1. Python:名片管理系统

    字符串和列表学完, 自己试着写了一个非常简单的名片管理系统, 新萌尝试, 大佬们不要喷, 修改名片的功能我偷了个懒, 因为我不知道怎么通过定义下标,然后通过下标来修改列表内的字符串 我的思路是,把用户 ...

  2. Python:名片管理系统(增加登录功能后出现问题,求教)

    我将一个简单的名片管理系统定义成了函数.. 2层. 一个登录界面: 一个名片管理系统使用界面: 逻辑是:登录成功=>跳入名片系统使用界面,同时,跳出登录界面,给出欢迎使用,程序结束. 此时问题来 ...

  3. 名片管理系统v1.1(main)

    # version: 1.1# author: Mark import cords_tools while True: # 显示界面    cords_tools.show_cords() cords ...

  4. 名片管理系统v1.1(tools)

    cords_list = []def show_cords(): print("*"*80) print("欢迎使用[名片管理系统]v.1.1") print( ...

  5. Python基础综合运用——搭建名片管理系统

    综合应用 —— 名片管理系统 目标 综合应用已经学习过的知识点: 变量 流程控制 函数 模块 开发 名片管理系统 系统需求 程序启动,显示名片管理系统欢迎界面,并显示功能菜单 ************ ...

  6. python程序—名片管理系统

    创建一个名片管理系统,实现增.删.改.查.四项功能 listcard = [] while True: print('**********欢迎来到名片管理系统**********') print(' ...

  7. python基础提高演练(名片管理系统的开发)

    综合应用 —— 名片管理系统 目标 综合应用已经学习过的知识点: 变量 流程控制 函数 模块 开发 名片管理系统 系统需求 1. 程序启动,显示名片管理系统欢迎界面,并显示功能菜单 ********* ...

  8. day_11 py 名片管理系统

    '' 2018-4-23 11:42:29 名片管理系统 字典与列表的结合 ''' #1.打印功能提示 print("="*50) print(" 1.添加一个新的名片& ...

  9. day 4 名片管理系统 -函数版

    修改没有用函数的程序 具有独立功能的代码块 源程序 #1.打印功能信息 print("*"*50) print("\t名片管理系统 V3\t") print(& ...

随机推荐

  1. 正则表达式与Python中re模块的使用

    正则表达式与Python中re模块的使用 最近做了点爬虫,正则表达式使用的非常多,用Python做的话会用到re模块. 本文总结一下正则表达式与re模块的基础与使用. 另外,给大家介绍一个在线测试正则 ...

  2. C&C++类型定义typedef

    1.声明 1.1结构声明: struct { int n; double x,y; }; 1.2带结构标志的声明 struct point{ double x,y; }; 1.3定义结构类型 1.3. ...

  3. Java Web组件Servlet、Filter、Listener

    一.Servlet 类javax.servlet.http.HttpServlet; 1.是单例模式,一个web容器中只有一个实例.服务器调用它的service方法进行请求处理, service方法又 ...

  4. ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry ’1′ for key ‘PRIMARY’

    在打开navicat设计表时,想更改主键id为自动增长,会弹出来这么一个提示.翻译为:更改表将导致自动增长(列)的重新排序,主键会有重复的‘1’.原因是因为auto_increment是从1开始自增的 ...

  5. C语言数据结构基础学习笔记——树

    树是一种一对多的逻辑结构,树的子树之间没有关系. 度:结点拥有的子树数量. 树的度:树中所有结点的度的最大值. 结点的深度:从根开始,自顶向下计数. 结点的高度:从叶结点开始,自底向上计数. 树的性质 ...

  6. Django的POST请求时因为开启防止csrf,报403错误,及四种解决方法

    Django默认开启防止csrf(跨站点请求伪造)攻击,在post请求时,没有上传 csrf字段,导致校验失败,报403错误 解决方法1: 注释掉此段代码,即可. 缺点:导致Django项目完全无法防 ...

  7. debian apache2 修改默认路径

    1.修改 /etc/apache2/sites-enable/000-default.conf 将DocumentRoot改成你的路径 2.修改 /etc/apache2/apache2.conf & ...

  8. java基础回忆、复习(一)

    一:浅拷贝与深拷贝: 对于基本数据类型,直接进行拷贝,String类型,有两种拷贝方式: 1:直接将原对象中的name的引用值拷贝给新对象的name字段.<浅拷贝> 2:根据原对象中的na ...

  9. leetCode53. 最大子序和

    示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6. 进阶: /** * @param {number[]} nu ...

  10. Jmeter5.1.1的汉化

    Jmeter的汉化: 在菜单导航栏,选择options-->choose language-->chinese(simplified)中文简体 默认打开汉化: 编辑jmeter.bat: ...