基于Javaweb实现ATM机系统开发实战(四)用户修改删除功能实现

这篇具有很好参考价值的文章主要介绍了基于Javaweb实现ATM机系统开发实战(四)用户修改删除功能实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我们点一下修改,发现页面进行了跳转,跳转到了/toUpdate,并传递了用户的卡号。

基于Javaweb实现ATM机系统开发实战(四)用户修改删除功能实现,JAVA学习笔记,java

 我们可以先查看一下用户列表展示界面的前端代码:userlist.jsp,可以看到前端代码中做了跳转的动作,我们需要在后端中完成相应的servlet完成这个动作。

基于Javaweb实现ATM机系统开发实战(四)用户修改删除功能实现,JAVA学习笔记,java

 首先,创建UserToUpdateServlet,对用户更新操作的请求进行页面跳转

package com.atm.servlet;

import com.atm.pojo.User;
import com.atm.service.UserService;
import com.atm.service.impl.UserServiceImpl;

import javax.print.attribute.standard.PresentationDirection;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;

@WebServlet("/toUpdate")
public class UserToUpdateServlet extends HttpServlet {
    private UserService userService=new UserServiceImpl();
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String icno=request.getParameter("icno");
    try{
        User user=userService.getUserByIcno(icno);
        if(user==null){
            request.getSession().setAttribute("error","用户不存在");
        }
        request.getSession().setAttribute("user",user);
        response.sendRedirect("changepage/update.jsp");
    }catch (Exception e){
        e.printStackTrace();
    }
    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doPost(request,response);
    }


}

要完成修改操作,首先要在用户的修改界面进行数据回显,要显示出这些数据,首先要完成他的查询,所以我们在UserService中添加他的查询方法:

    //根据银行卡号查询用户信息
    public User getUserByIcno(String icno)throws Exception;

然后再他的实现类(UserServiceImpl)中去实现这个方法:

//根据银行卡号查询用户信息
    public User getUserByIcno(String icno) throws Exception{
        return userDao.getUserByIcno(icno);
    }

实现类中调用我们的Dao也就是我们的数据层进行了查询操作,所以在dao中也要对这个方法进行实现:

    //根据银行卡号查询用户信息
    public  User getUserByIcno(String icno)throws  Exception{
        Connection connection= DBUtils.getConnection();
        PreparedStatement preparedStatement = connection.prepareStatement("select * from user where icno=?");
        preparedStatement.setString(1,icno);
        ResultSet resultSet=preparedStatement.executeQuery();
        User user=new User();
        if (resultSet.next()){
            user.setIcno(resultSet.getString(1));
            user.setName(resultSet.getString(2));
            user.setPwd(resultSet.getString(3));
            user.setMobile(resultSet.getString(4));
            user.setIdcard(resultSet.getString(5));
            user.setBalance(resultSet.getDouble(6));
        }
        DBUtils.release(connection,preparedStatement,resultSet);
        return user;
    }

这样我们的后端代码就完成了,我们启动项目测试一下修改界面的跳转和回显是否正常:

基于Javaweb实现ATM机系统开发实战(四)用户修改删除功能实现,JAVA学习笔记,java

发现页面跳转和回显功能都正常了,现在我们就可以完成修改操作了:

查看前端页面,我们发现提交修改这个动作跳转到了/update的前端界面。基于Javaweb实现ATM机系统开发实战(四)用户修改删除功能实现,JAVA学习笔记,java

 所以我们还需要创建一个servlet来接收请求完成数据更新的操作:

package com.atm.servlet;

import com.atm.pojo.User;
import com.atm.service.UserService;
import com.atm.service.impl.UserServiceImpl;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;

//执行用户更新操作
@WebServlet("/update")
public class UserUpdateServlet extends HttpServlet {

    private UserService userService=new UserServiceImpl();
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
//获得参数
        String icno=request.getParameter("icno");
        String name=request.getParameter("name");
        String pwd=request.getParameter("pwd");
        String mobile=request.getParameter("mobile");
        String idcard=request.getParameter("idcard");
        double balance=0;
        if(request.getParameter("balance")!=null){
        balance=Double.parseDouble(request.getParameter("idcard"));
        User user=new User();
        user.setIcno(icno);
        user.setBalance(balance);
        user.setName(name);
        user.setPwd(pwd);
        user.setMobile(mobile);
        user.setIdcard(idcard);
//调用业务
        try{
            boolean result=userService.updateUser(user);
            if(result){
                response.sendRedirect("/list");
            }else{
                response.getOutputStream().print("更新失败");
            }
        }catch (Exception e){
            e.printStackTrace();
        }

    }}

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doPost(request,response);
    }


}

这里我们调用了UserService接口,但是接口中并没有这个方法,所以我们先在接口中完成这个方法:

    //更新用户
    public boolean updateUser(User user)throws Exception;

再在实现类中实现这个方法:


    //更新用户
    public boolean updateUser(User user)throws Exception{
        int num =userDao.updateUser(user);
        if(num>=1){
            return true;
        }else{
            return false;
        }
    }

实现类中调用了dao数据层进行数据库的操作,所以在数据层中我们也要实现这个功能的方法:

    //更新用户
    public int updateUser(User user) throws  Exception{
        Connection connection= DBUtils.getConnection();
        PreparedStatement preparedStatement = connection.prepareStatement("update user set name=?,pwd=?,mobile=?,idcard=?,balance=? where icno=?");
        preparedStatement.setString(1,user.getName());
        preparedStatement.setString(2,user.getPwd());
        preparedStatement.setString(3,user.getMobile());
        preparedStatement.setString(4,user.getIdcard());
        preparedStatement.setDouble(5,user.getBalance());
        preparedStatement.setString(6,user.getIcno());
        int num = preparedStatement.executeUpdate();

        DBUtils.release(connection,preparedStatement,null);
        return num;
    }

因为卡号是用户的唯一凭证,为了安全,我们要在前端将卡号信息设置为不可修改:

基于Javaweb实现ATM机系统开发实战(四)用户修改删除功能实现,JAVA学习笔记,java

 这里我们就已经完成了修改操作的全部代码了,重启下项目测试下修改功能是否成功:

基于Javaweb实现ATM机系统开发实战(四)用户修改删除功能实现,JAVA学习笔记,java

 基于Javaweb实现ATM机系统开发实战(四)用户修改删除功能实现,JAVA学习笔记,java

 修改成功啦!接下来我们继续删除功能的实现:

我们先点一下删除,发现页面进行了跳转,跳转到/delete的前端页面,并传递了卡号。

基于Javaweb实现ATM机系统开发实战(四)用户修改删除功能实现,JAVA学习笔记,java

 首先我们先随便加一条数据,方便删除功能的测试:

基于Javaweb实现ATM机系统开发实战(四)用户修改删除功能实现,JAVA学习笔记,java

 还是刚刚的老步骤,先创建servlet进行数据接收和请求处理、页面跳转:

package com.atm.servlet;

import com.atm.service.UserService;
import com.atm.service.impl.UserServiceImpl;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;

@WebServlet("/delete")
public class UserDeleteServlet extends HttpServlet {
    private UserService userService=new UserServiceImpl();
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String icno=request.getParameter("icno");
    try{


    boolean result=userService.deleteUser(icno);
    if(result){
        response.sendRedirect("/list");
    }else{
        response.getOutputStream().print("删除失败");
    }}catch (Exception e){
        e.printStackTrace();
    }}

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request,response);
    }


}

还是老样子,接口实现:

    //用户删除
    public boolean deleteUser(String icno)throws Exception;

实现类实现:

    //用户删除
    public boolean deleteUser(String icno)throws Exception{
        int num =userDao.deleteUser(icno);
        if(num>=1){
            return true;
        }else{
            return false;
        }
    }

数据层操作:


    //删除用户
    public int deleteUser(String icno) throws Exception{
        Connection connection= DBUtils.getConnection();
        PreparedStatement preparedStatement = connection.prepareStatement("delete from user where icno=?");
        preparedStatement.setString(1,icno);
        int num = preparedStatement.executeUpdate();
        DBUtils.release(connection,preparedStatement,null);
        return num;
    }

好啦,现在我们的删除代码全部实现了,现在我们来重启项目测试一下:

基于Javaweb实现ATM机系统开发实战(四)用户修改删除功能实现,JAVA学习笔记,java

 删除成功!

实现代码已上传~文章来源地址https://www.toymoban.com/news/detail-544446.html

到了这里,关于基于Javaweb实现ATM机系统开发实战(四)用户修改删除功能实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一个基于SpringBoot开发的RBAC系统,非常适合新手入门JavaWeb代码审计实战的系统,长文警告,要好好学习。

    嗨,大家好,我是闪石星曜CyberSecurity创始人Power7089。 欢迎大家搜索我的微信公众号:闪石星曜CyberSecurity 本文是【炼石计划@Java代码审计】内部圈子原创课程,现分享给大家学习。 如需转载,请详细注明来源。 欢迎大家搜索并添加我的好友【Power_7089】,备注CSDN,邀请你进入

    2024年02月11日
    浏览(50)
  • JavaWeb项目----实现用户登录、注册、对商品信息进行的添加、删除、修改功能

    在idea中创建有关类   web中写jsp页面,index.jsp是首页布局 运行效果如下:  登录页面 运行效果如下:   注册页面  运行效果如下:   登陆正确时跳转到zhuye.jsp主页页面( 使用Java脚本获取集合中对象的元素,放html标签中) 运行效果如下:   在登陆页面,密码或用户名输入

    2024年02月11日
    浏览(37)
  • 【java】【基础8】入门结业-ATM系统实战

      目录 一、ATM项目技术  二、能达成的能力  三、开始编码 3.1 系统架构搭建、欢迎页设计  3.1.1 Account 3.1.2 ATM  3.1.3 Test 3.2 开户功能实现 3.2.1 修改AccountgetUserName()  3.2.2 ATM 开户操作  3.2.3 ATM为新用户生成一个随机卡号​编辑 3.3 登录功能实现 3.4 操作页展示、查询账户、退出

    2024年02月16日
    浏览(39)
  • Javaweb项目案例:一个简单的用户管理系统实现

    我们来设计一个简单的用户管理系统,具有查看用户,添加用户,删除用户,更新用户的所有功能,并能支持分页显示,以及通过模糊查询的 本项目采用Druid数据库连接池 注意:JDBC和DAO部分本文不予演示,请自行完成此部分代码的编写🐿️ 模板页面,showuser.html Sho

    2024年02月09日
    浏览(48)
  • 计算机毕业设计 基于SpringBoot智慧养老中心管理系统的设计与实现 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

    🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不

    2024年02月07日
    浏览(48)
  • 计算机毕业设计 基于Spring Boot智能停车计费系统的设计与实现 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

    🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不

    2024年02月07日
    浏览(45)
  • 【项目实战】基于Hadoop大数据电商平台用户行为分析与可视化系统Hive、Spark计算机程序开发

    注意:该项目只展示部分功能,如需了解,评论区咨询即可。 在当今数字化时代,电商行业成为全球商业生态系统的关键组成部分,电商平台已经深入各行各业,影响了人们的购物方式和消费习惯。随着互联网技术的不断发展,电商平台产生了大量的用户数据,包括点击、购

    2024年02月04日
    浏览(119)
  • 基于JavaWeb的网上购物系统开发(含代码)

    为了开发一个JavaWeb的网上购物系统,我们可以使用一些常见的技术,如Java、Spring、Spring MVC、Hibernate等。下面是一个简单的购物系统开发的步骤以及在这个过程中用到的一些代码的实现。 我们首先需要设计和创建购物系统所需的数据库结构。我们可以使用MySQL数据库,设计数

    2024年02月09日
    浏览(45)
  • Java模拟实现ATM系统

    前言: 自动取款机又称ATM(Automated Teller Machine的缩写),意思是自动柜员机,因大部分用于取款,又称自动取款机。它是一种高度精密的机电一体化装置,利用磁性代码卡或智能卡实现金融交易的自助服务,代替银行柜面人员的工作。可提取现金、查询存款余额、进行账户之

    2024年02月10日
    浏览(37)
  • 基于JavaWeb开发的小区车辆登记系统计算机毕设[附源码]

    🍅 作者主页 央顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获取联系方式 承接各种定制系统 📝 🚀🚀🚀 精彩系列推荐 Java毕设项目精品实战案例《1000套》 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclisp

    2024年02月21日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包