• 实验项目名称

    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. 2018-2019-2 20175236实验二《Java面向对象程序设计》实验报告

    实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验要求 没有Linux基础的同学建议先学习<Lin ...

  2. Ubuntu16.04主题美化

    系统更新 sudo apt-get update sudo apt-get upgrade # 卸载libreOffice libreoffice是ubuntu自带的开源office软件,体验效果不如 ...

  3. Linux常见企业面试题

    1:只查看test.txt (100行)文件中第20行到30行的数据(企业常见面试题) 答: seq (序列) 第一种方法:head -30 test1.txt | tail -11 第二种方法:se ...

  4. 棒槌的工作第八天-----------------------早会-------三次握手四次挥手(转载https://www.cnblogs.com/zmlctt/p/3690998.html)尚待了解,下班补充

    TCP三次握手 所谓三次握手(Three-way Handshake),是指建立一个TCP连接时,需要客户端和服务器总共发送3个包. 三次握手的目的是连接服务器指定端口,建立TCP连接,并同步连接双方 ...

  5. Python课程第四天作业

    1.定义一个函数,该函数可以实现控制台输入,最终返回一个int类型的正整数 def chr_to_int(): user_input = input('请输您要转换的字符串:') if user_in ...

  6. JAVA分布式优惠券系统后台 手把手实战开发(买的,完整)

    扫码关注,回复 “java分布式优惠券”,免费领取.本资源是本人花几十块买的,完整.

  7. web socket server code, 调用 shell exec child_process

    var child_process = require('child_process'); var ws = require("nodejs-websocket"); consol ...

  8. 微服务架构基础之Service Mesh

    ServiceMesh(服务网格) 概念在社区里头非常火,有人提出 2018 年是 ServiceMesh 年,还有人提出 ServiceMesh 是下一代的微服务架构基础. 那么到底什么是 Serv ...

  9. spring boot 给返回值加状态 BaseData

    JavaWeb开发中,需要给前端返回的数据加上一些头部的状态信息,来表示请求成功或失败的状态原因 一.数据添加状态信息 1.新建BaseData public class BaseData<T& ...

  10. LeetCode 92. Reverse Linked List II倒置链表2 C++

    Reverse a linked list from position m to n. Do it in one-pass. Note: 1 ≤ m ≤ n ≤ length of list. Exa ...