`
feipigzi
  • 浏览: 111849 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

联系簿

阅读更多
三个bean一个编码过滤8个jsp文件
index.jsp
list.jsp 显示页面,动态打印每行
creat.jsp 添加联系的页面,通过bean传属性值
save.jsp 从creat。jsp传相应bean到save.jsp进行操作
update.jsp 负责更新,点击修改后到edit.jsp页面,该页面跟creat.jsp相似
edit.jsp该页面跟creat.jsp相似
remove.jsp, 执行删除逻辑
Contact.java 里面封装了联系簿的属性,各属性与数据库表contactBook相对应

DMMysql里面封装了static Connection getConn()创建连接
static void close(ResultSet rs,Statement state,Connection conn)
里面还有一段静态代码块,实现加载驱动(这段代码无论调用DMMysql多少次,它只执行一次)在ContactDao.java里的方法中,只要涉及数据库操作都要调用以上两个方法

ContactDao.java 里面封装了
List<Contact> getAll()方法,用于取出所有联系簿表的所有元组,主要用于在list.jsp里显示
Contact get(int id)方法,根据主键id值取出一个元组,主要用于edit.jsp,因为修改的href在显示页面list.jsp中,点击修改时,同时把id传过去,这样可以获得相应的元组,然后再修改,然后把参数通过bean传到update.jsp,通过update(Contact contact)可以更新数据库
void save(Contact contact)方法,用于添加联系,向数据库插入一个元组
void update(Contact contact)
void remove(int id)方法,修改的href在显示页面list.jsp中,跟删除同理,不过操作起来很简单,

感想:修改是里面最难得,涉及技巧和细节很多
1. 数据库表contactBook的主键是id,所以id作为参数很关键,修改或者删除都要用到id,做一在显示页面list.jsp中动态生成
<td><a href="<%=request.getContextPath()%>/edit.jsp?id=${contact.id }">修改</a>
|<a href="<%=request.getContextPath()%>/remove.jsp?id=${contact.id }">删除</a></td>
在逐行打印过程中每一个id都是不同的,所以点击相应行的修改或者删除,传过去的id都不同,这是一个很实用的技巧

2.插入一个联系元组的时候,指定id为什么??一开始使用list.size最后过渡,如果联系表有4个则新增加的一个的id为4+1,但是问题出现了,如果原来有id为1,2,3,4的四个联系元组,删除了id=3的,然后再添加一个,此时插入的元组对应id为4,这样就出现冲突了。最后解决方法是在list.jsp中判断application里的listSize,是否null,是则将当时的list.size()放入,此后的list.jsp中application里的listSize都不为null,然后在添加前将对应beans属性值设为application的listSize+1,然后更新application的listSize为listSize+1。这样就再也没有id相同的冲突,可是表里的id号就不是从1到………………不是很美观!

3.就这个联系簿项目来说,Contact保存了联系簿各属性,在使用该bean一般不要将scope设为application,这样会出现添加的都是同一个contact或者别的状况

4.技巧:在edit里面有个<input type="hidden" name="id" value="${contact.id}" />,因为edit.jsp负责修改页面,然后将表单参数传到save,如果没有这个name=“id”的属性,这样到了save通过beans设置property=“*”就不能获得相应的id,使用hidden可以使得界面更好看
分享到:
评论

相关推荐

    C语言课程设计 - 联系簿

    根据提供的文档信息,我们可以从标题、描述、标签和部分内容中提炼出有关C语言课程设计——联系簿的关键知识点。 ### C语言课程设计 - 联系簿 #### 1. 项目背景与目标 - **背景**:C语言是计算机科学中最基础也是...

    可以添加删除联系人的电话簿tel

    在这个项目中,“可以添加删除联系人的电话簿tel”是一个用C++实现的电话簿管理系统,它提供了基本的联系人管理功能,如添加新联系人和删除已有联系人。 首先,我们需要理解C++的基本语法和面向对象编程(OOP)的...

    电话簿管理程序

    电话簿管理程序是一种常见的软件应用,它允许用户存储、查找和管理联系人的电话号码和其他相关信息。在本案例中,我们讨论的是一个用C语言编写的电话簿管理程序,适合学生在学习过程中作为课程设计项目使用。C语言是...

    电话簿C++实现源代码 绝对实用

    电话簿系统是一个常见的数据管理应用,它允许用户存储联系人的姓名和电话号码,并进行查询、删除、修改和添加等操作。在这个C++实现的电话簿系统中,开发者使用了链表作为基础数据结构来存储联系人信息。链表是一种...

    java电话簿地址簿

    Java电话簿地址簿是一个实用的程序,用于管理个人或组织的联系人信息。它使用Java编程语言编写,具有丰富的功能,如添加、查找、删除和修改联系人信息,并且支持分组管理。程序的亮点之一是其图形化用户界面(GUI)...

    Java语言的电子电话簿

    这个系统模仿了手机上常见的电话簿功能,包括查找联系人、删除联系人和编辑联系人信息等基本操作。以下是对这个项目及其相关知识点的详细说明: 1. **Java编程语言**:Java是一种广泛使用的面向对象的编程语言,...

    Qt入门编写一个地址簿

    ### Qt入门编写一个地址簿知识点详解 #### 一、项目概述 在本教程中,我们将通过逐步指导的方式学习如何使用Qt来开发一个简单的地址簿应用。这个应用将具备以下核心功能: - 设计用户界面 - 添加地址 - 条目导航 - ...

    访问地址簿/联系人列表(吐槽版)

    在iOS开发中,访问和管理地址簿(即联系人列表)是一个常见的需求,本文将详细介绍如何在遵守苹果公司隐私政策的前提下,使用iOS SDK开发一个可以显示联系人信息的应用程序Dial4。通过这个教程,开发者将学会如何...

    j2me PhoneBook 电话簿

    这个"j2me PhoneBook 电话簿"项目是利用J2ME技术在手机平台上实现的一个简单但实用的应用程序,它允许用户存储、管理和查找联系人的电话号码。 **1. J2ME基础知识** J2ME由配置和 profiles 组成。配置定义了硬件和...

    电话号码簿管理

    电话号码簿管理是一个常见的个人信息管理应用,主要用于存储和管理个人或组织的联系人信息,包括姓名、电话号码、电子邮件地址等。在VB(Visual Basic)环境下开发这样的系统,可以利用其直观的图形用户界面(GUI)...

    将Notes联系人(通讯录)变成Foxmail的联系人(地址簿的卡片)

    [用途] 将Notes联系人(通讯录)变成Foxmail的联系人(地址簿的卡片) &lt;br&gt;[用法] 1,在Notes客户端上,在Names.nsf中的用户视图上,选择“文件”菜单的“引出”。 将该视图中的“全部文档”引出成为...

    留守儿童家校联系制度.docx

    4. 使用家校联系簿,记录学生在校内外的行为,便于针对性教育。 5. 教师应热情接待来访家长,诚恳沟通,接纳家长的建议。 6. 每学年至少一次的家访,深入了解学生在家情况,做好记录。 7. 将家校联系活动的记录保存...

    电话簿管理系统

    该程序主要实现了电话簿的基本管理功能,包括创建电话簿、添加联系人、查找联系人、修改联系人信息以及删除联系人等功能。 ### 二、数据结构 程序中定义了一个`struct person`结构体来存储联系人的基本信息,包括...

    通讯簿系统源代码

    【通讯簿系统源代码】是一个基于Visual Basic(VB)开发的程序,主要用于管理和存储个人或组织的联系人信息。这个系统结合了数据库技术,提供了一个用户友好的登录界面,使得用户能够安全地访问和管理他们的通讯簿...

    小小电话簿C++设计

    在这个电话簿系统中,可能会有一个`Contact`类,用于存储联系人的姓名、电话号码和其他信息。`Contact`类可能还有添加、删除和查找联系人等功能。对象则是类的实例,是实际存在的数据结构,可以执行类中定义的操作。...

    地址簿

    在信息技术领域,个人数据管理是不可或缺的一部分,而“地址簿”就是这样一个工具,它旨在帮助用户有效地管理和维护他们的联系人信息。无论是商业环境中频繁的商务交流,还是日常生活中的社交往来,一个功能完善的...

Global site tag (gtag.js) - Google Analytics