JavaWeb练习-网上名片管理系统
- 实验项目名称
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练习-网上名片管理系统的更多相关文章
- Python:名片管理系统
字符串和列表学完, 自己试着写了一个非常简单的名片管理系统, 新萌尝试, 大佬们不要喷, 修改名片的功能我偷了个懒, 因为我不知道怎么通过定义下标,然后通过下标来修改列表内的字符串 我的思路是,把用户 ...
- Python:名片管理系统(增加登录功能后出现问题,求教)
我将一个简单的名片管理系统定义成了函数.. 2层. 一个登录界面: 一个名片管理系统使用界面: 逻辑是:登录成功=>跳入名片系统使用界面,同时,跳出登录界面,给出欢迎使用,程序结束. 此时问题来 ...
- 名片管理系统v1.1(main)
# version: 1.1# author: Mark import cords_tools while True: # 显示界面 cords_tools.show_cords() cords ...
- 名片管理系统v1.1(tools)
cords_list = []def show_cords(): print("*"*80) print("欢迎使用[名片管理系统]v.1.1") print( ...
- Python基础综合运用——搭建名片管理系统
综合应用 —— 名片管理系统 目标 综合应用已经学习过的知识点: 变量 流程控制 函数 模块 开发 名片管理系统 系统需求 程序启动,显示名片管理系统欢迎界面,并显示功能菜单 ************ ...
- python程序—名片管理系统
创建一个名片管理系统,实现增.删.改.查.四项功能 listcard = [] while True: print('**********欢迎来到名片管理系统**********') print(' ...
- python基础提高演练(名片管理系统的开发)
综合应用 —— 名片管理系统 目标 综合应用已经学习过的知识点: 变量 流程控制 函数 模块 开发 名片管理系统 系统需求 1. 程序启动,显示名片管理系统欢迎界面,并显示功能菜单 ********* ...
- day_11 py 名片管理系统
'' 2018-4-23 11:42:29 名片管理系统 字典与列表的结合 ''' #1.打印功能提示 print("="*50) print(" 1.添加一个新的名片& ...
- day 4 名片管理系统 -函数版
修改没有用函数的程序 具有独立功能的代码块 源程序 #1.打印功能信息 print("*"*50) print("\t名片管理系统 V3\t") print(& ...
随机推荐
- 激活WINDOWS SERVER 2019
Windows Server 2019 Datacenter WMDGN-G9PQG-XVVXX-R3X43-63DFGWindows Server 2019 Standard N69G4-B89J2 ...
- 窗口置顶 - 仿TopWind
前置学习:低级鼠标hook,获得鼠标状态. 这个在原来获得鼠标状态的基础上,加上一个事件处理即可. TopWind就是一个可以置顶窗口的文件,避免复制粘贴的时候的来回切换(大窗口与小窗口),算是一个实 ...
- Unity Shader Graph(三)Phase In and Out
软件环境 Unity 2018.1.6f1 Lightweight Render Pipeline 1.1.11-preview Phase In and Out效果预览 角色沿Y轴逐渐出现和消失 S ...
- 2、Netty基础
一.前言 主要包含下面内容: 初识 Netty: 使用 Java NIO 搭建简单的客户端与服务端实现网络通讯: 使用 Netty 搭建简单的客户端与服务端实现网络通讯: Netty 底层操作与 Ja ...
- MySQL查询语句报错 sql_mode=only_full_group_by 问题
升级MySQL到5.7后,查询语句总是报sql_mode=only_full_group_by问题,总结归纳了两种解决方案,推存第二种解决方案. 报错信息: [Err] 1055 - Expressi ...
- GPRS骨干网逻辑结构
从逻辑上来说,GPRS通过在GSM网络结构中增添SGSN和GGSN两个新的网络节点来实现.由于增加了这两个网络节点,需要命名新的接口.图1说明了GPRS逻辑体系结构.表1给出了GPRS体系结构中的接口 ...
- 反射 内省 BeanUtil 综合使用
package com.zsphp.domain; public class User { private String userId; private String userName; privat ...
- C#动态给Word文档填充内容
//filePath:word文档的路径:strOld:需要替换的内容:strNew:替换的新内容: //注意:strOld中的字符数量要与新的strNew中的一一对应 public static v ...
- logstash同步mysql数据失败
问题描述 前提: 项目采用Elasticsearch提供搜索服务,Mysql提供存储服务,通过Logstash将Mysql中数据同步到Elasticsearch. 问题: 使用logstash-j ...
- 实战ELK(8) 安装ElasticSearch中文分词器
安装 方法1 - download pre-build package from here: https://github.com/medcl/elasticsearch-analysis-ik/re ...