[原创]java WEB学习笔记24:MVC案例完整实践(part 5)---删除操作的设计与实现
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用
内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系。
本人互联网技术爱好者,互联网技术发烧友
微博:伊直都在0221
QQ:951226918
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
删除操作:
1.超链接:delete.do?id=<%=customer.getId()%>
2.Servlet 的 delete 方法:获取 id ,调用 DAO 执行删除 ,重定向到 query.do(若目标页面不需要读取当前请求的 request 属性,就可以使用重定向),将显示删除后的 Customer 的 List
3.JSP 上的 jQuery 提示:确定要删除 xx 的信息吗
1)思路:
通过index 页面的<a>标签,将待删除的用户id 号传到 CustomerServlet2 中,在deleteCustomer 方法中 获取请求的 id 号,解析成 int型,通过成员变量 customerDAO.delete(id) 方法调用DAO<T> 的update(sql, id)方法,实现删除。 之后通过response.sendRedirect("query.do");将请求重定向得到query.do
2)关键代码。代码的结构在前面的几个笔记中都有写到,点击这里查看
I index页面的删除超链接
<%
List<Customer> lists = (List<Customer>)request.getAttribute("list");
if(lists != null && lists.size() > 0 ){
%>
<hr>
<br><br> <table border="1" cellpadding="10" cellspacing="0">
<tr>
<th>ID</th>
<th>CustomerName</th>
<th>Address</th>
<th>Phone</th>
<th>Update\Delete</th>
</tr> <%
for(Customer customer : lists){
%>
<tr>
<td><%= customer.getId() %></td>
<td><%= customer.getName() %></td>
<td><%= customer.getAddress() %></td>
<td><%= customer.getPhone() %></td>
<td>
<a href="">Update</a>
<a href="deleteCustomer.do?id=<%= customer.getId() %>" class="delete">Delete</a>
</td>
</tr> <%
}
%> </table>
<%
}
%>
II. 通过Jquery 方式,提供确定选择提示
<!-- 加入 jquery 库 -->
<script type="text/javascript" src="scripts/jquery-1.7.2.js"></script>
<script type="text/javascript">
$(function(){
//1.为删除操作添加 click事件
$(".delete").click(function(){
//2.获取a标签的父节点td,再获取td的父标签tr,再找到第二个td标签,也就是name节点,最后获取那么name节点的文本值
var content = $(this).parent().parent().find("td:eq(1)").text();
//3.确认。'是'则处理删除操作,'否'则不处理
var flag = confirm("确定要删除" + content + "的用户么?");
return flag; });
}); </script>
III. CustomerServlet2 中servlet 中处理delete操作的 deleteCustomer 操作
private void deleteCustomer(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
//1.获取请求删除的 id 为 String 类型
String idStr = request.getParameter("id");
//try{}catch{} 的作用:方式idStr 不能转化为 int 类型,若不能转则 id = 0,无法进行任何删除
int id = 0;
try {
//2.将idStr 解析为int 型
id = Integer.parseInt(idStr);
//3.调用dao方法 删除数据
customerDAO.delete(id);
} catch (Exception e) {
e.printStackTrace();
}
response.sendRedirect("query.do"); }
IV.CustomerDAOJdbcImpl.java
@Override
public void delete(Integer id) {
String sql = "DELETE FROM customers WHERE id = ?";
update(sql, id);
}
V.DAO
/**
* @param sql
* : sql语句
* @param ags
* : sql语句的占位符
* @description:该方法封装了 INSERT ,DELETE,UPDATE 操作
*/
public void update(String sql, Object... ags){ Connection connection = null;
try {
connection = JdbcUtils.getConnection();
queryRunner.update(connection, sql, ags); } catch (Exception e) {
e.printStackTrace();
} finally{
JdbcUtils.releaseConnection(connection);
}
}
总结:
1)jquery 的使用
2)id的传递和获取
3)理解代码层次
[原创]java WEB学习笔记24:MVC案例完整实践(part 5)---删除操作的设计与实现的更多相关文章
- [原创]java WEB学习笔记25:MVC案例完整实践(part 6)---新增操作的设计与实现
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- [原创]java WEB学习笔记75:Struts2 学习之路-- 总结 和 目录
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- [原创]java WEB学习笔记95:Hibernate 目录
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- [原创]java WEB学习笔记66:Struts2 学习之路--Struts的CRUD操作( 查看 / 删除/ 添加) 使用 paramsPrepareParamsStack 重构代码 ,PrepareInterceptor拦截器,paramsPrepareParamsStack 拦截器栈
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- [原创]java WEB学习笔记11:HttpServlet(HttpServletRequest HttpServletRsponse) 以及关于 Servlet 小结
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- [原创]java WEB学习笔记21:MVC案例完整实践(part 2)---DAO层设计
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- [原创]java WEB学习笔记20:MVC案例完整实践(part 1)---MVC架构分析
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- [原创]java WEB学习笔记26:MVC案例完整实践(part 7)---修改的设计和实现
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- [原创]java WEB学习笔记23:MVC案例完整实践(part 4)---模糊查询的设计与实现
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
随机推荐
- (五)Thymeleaf标准表达式之——[7->8]条件表达式& 默认表达式
2.7 条件表达式 模板名称:condition-express.html <1>a ? b:c (if then:else) <2>a?c (if else) 条件表达式( ...
- LBS 附近的人
1 http://www.infoq.com/cn/articles/depth-study-of-Symfony2 2 http://lbsyun.baidu.com/
- Android基础之使用Fragment控制切换多个页面
Android官方已经提供了Fragment的各种使用的Demo例子,在我们SDK下面的API Demo里面就包含了Fragment的各种使用例子,需要看Demo的朋友,直接看API Demo那个程序 ...
- 我最喜欢的模板jade(pug)学习和使用
由于版权问题,现已改名pug.但无须担心,几乎没什么区别.就算依然使用jade也不会有太大影响. 慢慢迁移过渡即可 # 官网 https://pugjs.org # github https://gi ...
- Atitit.面向接口的web 原理与设计重写 路由启动绑定配置url router rewriting urlpage mvc mvp的 java c#.net php js
Atitit.面向接口的web 原理与设计重写 路由启动绑定配置url router rewriting urlpage mvc mvp的 java c#.net php js 原理 通过vm带入启 ...
- lua学习笔记(十二)
弱引用table lua使用自动内存管理机制,通过垃圾回收器来回收内存 垃圾回收器只能回收它认为是垃圾的内容,而不能回收用户认为是垃圾的内容 典型的例子栈,栈一般用一个数组和一 ...
- iOS SDWebImage加载大图导致内存崩溃解决方案
static BOOL SDImageCacheOldShouldDecompressImages = YES; static BOOL SDImagedownloderOldShouldDecomp ...
- iOS Masonry 查看更多 收起
Masonry 查看更多 收起效果实现,带动画 demo下载地址: https://github.com/qqcc1388/MasonryDemo
- 你不知道的Google Search
0.导读 这篇文章讲了这三个事儿: 如何訪问Google?----------什么?不是直接输入地址么? Google的地址是什么? ------ 你在逗我?难道不是www.google.com? G ...
- Swift迎来了1.0 GM 版(2014.09.09)
2014年6月2日,swift开发团队将swift语言公之于众.而2014年9月9日迎来了swift的第二个里程碑,swift1.0版本号(GM),这意味着无论你的应用有一部分功能是用swift写的, ...