• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JSP > JSP使用MVC模式完成删除和修改功能实例详解

JSP使用MVC模式完成删除和修改功能实例详解

作者:老李-大连 字体:[增加 减小] 来源:互联网 时间:2017-05-11

老李-大连通过本文主要向大家介绍了jsp中mvc分页查询,基于jsp的mvc模式,jsp mvc,jsp mvc框架,springmvc jsp等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了JSP使用MVC模式完成删除和修改功能的方法。分享给大家供大家参考。具体如下:

目标:

① 进一步理解MVC模式;
② 掌握删除功能的基本实现过程;
③ 掌握修改功能的基本实现过程。

主要内容:

① 使用MVC完成删除功能;
② 使用MVC模式完成信息更新功能。

1、如何使用MVC模式完成删除功能

根据MVC模式的特点,分别考虑MVC的3个部分。
① 首先考虑V部分:

输入:通常删除功能是在查询的基础上完成的,所以在用户信息列表界面上可以添加删除的超链。

输出:提示用户删除是否成功,可以采用单独的界面,也可以在其他页面中显示。我们采用第二种方式,在用户列表界面中显示提示信息。

② 其次考虑M部分:需要在User.java中添加删除用户的方法即可。

③ 最后考虑C部分:获取用户要删除的用户名,然后调用M部分完成删除,最后转向用户信息列表界面。

下面分别实现。

2、在userlist.jsp文件中添加删除超链和提示信息

1)添加删除超链(红色部份):

<c:forEach var="user" items="${users}">
 <tr>
  <td>
   ${user.username}
  </td>
  <td>
   ${user.userpass}
  </td>
  <td>
   <a href="deleteUser?username=${user.username}">删除</a>
  </td>
 </tr>
</c:forEach>

</div>

注意:删除的时候需要知道要删除的用户的名字(这里名字作为主键),所以通过参数传递名字。

2)添加提示信息:
3)修改后的代码如下:

<%@ page contentType="text/html;charset=gb2312"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<font color="red"> ${addinfo} </font>
<font color="red"> ${deleteinfo} </font>
<br>
<c:if test="${pageNo!=1}">
 <a href="getAllUser?pageNo=1">第一页</a>
 <a href="getAllUser?pageNo=${pageNo-1}">上一页</a>
</c:if>
<c:if test="${pageNo!=pageCounter}">
 <a href="getAllUser?pageNo=${pageNo+1}">下一页</a>
 <a href="getAllUser?pageNo=${pageCounter}">最后一页</a>
</c:if>
<br>
<table width="200" border="1" height="56">
 <tbody>
  <tr>
   <td>
    用户名
   </td>
   <td>
    口令
   </td>
   <td>
   </td>
  </tr>
  <c:forEach var="user" items="${users}">
   <tr>
    <td>
     ${user.username}
    </td>
    <td>
     ${user.userpass}
    </td>
    <td>
     <a href="deleteUser?username=${user.username}">删除</a>
    </td>
   </tr>
  </c:forEach>
 </tbody>
</table>
</div>

3、编写M部分:在User.java中添加方法

在User.java中添加deleteUser方法,参考代码如下:

public boolean deleteUser(String username) {
 Connection con = null;
 Statement stmt = null;
 boolean b; // 表示删除成功与否
 try {
  // 指出连接数据库所需要的驱动程序
  Class.forName("oracle.jdbc.driver.OracleDriver");
  // 建立与数据库之间的连接
  con = DriverManager.getConnection(
    "jdbc:oracle:thin:@myserver:1521:mydb", "scott",
    "tiger");
  // 编写查询数据库信息的SQL语句
  String sql = "delete from usertable where username='" + username + "'";
  // 创建语句对象,用于执行SQL语句
  stmt = con.createStatement();
  // 执行没有结果集返回的语句,返回的是影响数据库表中记录的个数
  int n = stmt.executeUpdate(sql);
  if (n > 0)
   b = true;
  else
   b = false;
 } catch (Exception e) {
  b = false;
 } finally {
  // 关闭相关对象
  if (stmt != null)
   try {
    stmt.close();
   } catch (Exception ee) {
   }
  if (con != null)
   try {
    con.close();
   } catch (Exception ee) {
   }
 }
 return b;
}

</div>

注意:红色部分需要修改成您自己的服务器和数据库。

4、编写C部分:添加DeleteUser控制器

DeleteUser.java的代码如下:

package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javabean.User;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class DeleteUser extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
 //获取信息
 String username = request.getParameter("username");
 // 调用JavaBean
 User user = new User();
 boolean b = user.deleteUser(username);
 // 传递删除成功或失败的信息
 String info;
 if(b)
  info = "删除成功!";
 else
  info = "删除失败!";
 request.setAttribute("deleteinfo",info);
 // 选择界面对用户响应
 RequestDispatcher rd = request.getRequestDispatcher("getAllUser");
 rd.forward(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
  doGet(request,response);
}
}

</div>

5、如何使用MVC模式实现修改功能

修改功能本身包括两个过程:用户选择要修改的用户,然后把该用户的信息显示在修改界面上;用户进行修改,修改之后提交,服务器完成修改功能。
对于第一个功能,采用MVC模式:

V部分:

输入:在用户列表界面上添加“修改”超链。
输出:用户信息修改界面,把查询到的信息显示在修改界面上。

M部分:编写按照用户名查询用户信息的方法。

C部分:获取要删除的用户的名字,调用M部分的查询方法,得到用户信息,传递到修改界面,使用修改界面对用户响应。

对于第二部分,采用MVC模式:

V部分

输入:上面编写的修改界面。
输出:用户信息列表界面

M部分:编写用户信息修改的方法。

C部分:获取用户输入的信息,调用M部分完成修改,转向列表界面对用户进行响应。

下面分别介绍实现方法。

6、修改用户信息列表界面

修改后的代码如下:

<%@ page contentType="text/html;charset=gb2312"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<font color="red"> ${addinfo} </font>
<font color="red"> ${deleteinfo} </font>
<font color="red"> ${updateinfo} </font>
<br>
<c:if test="${pageNo!=1}">
<a href="getAllUser?pageNo=1">第一页</a>
<a href="getAllUser?pageNo=${pageNo-1}">上一页</a>
</c:if>
<c:if test="${pageNo!=pageCounter}">
<a href="getAllUser?pageNo=${pageNo+1}">下一页</a>
<a href="getAllUser?pageNo=${pageCounter}">最后一页</a>
</c:if>
<br>
<table width="200" border="1" height="56">
<tbody>
 <tr>
  <td>
   用户名
  </td>
  <td>
   口令
  </td>
  <td>
  </td>
 </tr>
 <c:forEach var="user" items="${users}">
  <tr>
   <td>
    ${user.username}
   </td>
   <td>
    ${user.userpass}
   </td>
   <td>
    <a href="findUser?username=${user.username}">修改</a>
   </td>
   <td>
    <a href="deleteUser?username=${user.username}">删除</a>
   </td>
  </tr>
 </c:forEach>
</tbody>
</table>

</div>

7、编写信息修改界面

参考代码如下:

<%@ page contentType="text/html;charset=gb2312"%> 修改用户<br>
<form name="form1" method="post" action="updateUser">
 用户名:${use



 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • JSP使用MVC模式完成删除和修改功能实例详解
  • 高效的jsp分页查询

相关文章

  • 2017-05-11jsp 生命周期详细介绍
  • 2017-05-11通过JDBC连接oracle数据库的十大技巧
  • 2017-05-11JSP脚本元素和注释复习总结示例
  • 2017-05-11jsp提交到Servlet报404错误问题解决(webroot下子目录)
  • 2017-05-11ajax+jsp草稿自动保存的实现代码
  • 2017-05-11JSP上传图片产生 java.io.IOException: Stream closed异常解决方法
  • 2017-05-11AJAX FCKEditor Rich Editor整合篇第1/2页
  • 2017-05-11jsp SmartUpload 中文乱码问题解决
  • 2017-05-11解决中文乱码的几种解决方法(推荐)
  • 2017-12-17谈谈Shiro的原理及在SSM和SpringBoot两种环境下的使用姿势(下篇)

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • J2EE 开发购物网站 经验篇 - 建表
    • jsp实现针对excel及word文档的打印方法
    • jsp web.xml文件的作用及基本配置
    • web开发中添加数据源实现思路
    • EJB3.0开发之多对多和一对一
    • response.getWriter().write()向前台打印信息乱码问题解决
    • 关于JSP中文问题的解决方法
    • jsp页面显示数据库的数据信息表
    • JDBCTM 指南:入门2 - 连接
    • jsp页面中如何将时间戳字符串格式化为时间标签

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有