使用idea开发javaWeb应用程序的思路(实现用户的增删改查)

下面我从以下几个方面来详细讲解使用Idea开发JavaWeb应用程序的思路,实现用户的增删改查:

  1. 环境准备

首先我们需要准备好Java开发环境和Web容器,推荐使用JDK8和Tomcat8。然后我们需要安装Idea开发工具。

  1. 创建JavaWeb项目

在Idea中创建一个JavaWeb项目,选择Web Application模板,并勾选Web.xml文件。创建完成后,我们需要配置项目的JDK版本和Web容器的配置。

  1. 创建数据库

我们需要创建一个名为“user”的数据库,其中包含一个"user"表,该表需要有以下字段:id、name、password、age、gender。我们在Idea中可以选择使用MySQL或者其他数据库管理工具进行创建。

  1. 实现用户增删改查的功能

4.1 实现用户的添加功能
我们需要在Idea中创建一个Servlet,命名为“AddUserServlet”,该Servlet需要继承HttpServlet,然后我们需要在doPost方法中实现用户添加的逻辑。具体的代码实现可以参考以下示例:

@WebServlet(name = "AddUserServlet", value = "/addUser")
public class AddUserServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 获取参数
        String name = request.getParameter("name");
        String password = request.getParameter("password");
        String gender = request.getParameter("gender");
        int age = Integer.parseInt(request.getParameter("age"));

        // 将数据保存到数据库中
        try {
            Connection connection = DbUtil.getConnection();
            String sql = "insert into user(name, password, gender, age) values(?,?,?,?)";
            PreparedStatement preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setString(1, name);
            preparedStatement.setString(2, password);
            preparedStatement.setString(3, gender);
            preparedStatement.setInt(4, age);
            preparedStatement.executeUpdate();
            DbUtil.close(preparedStatement, connection);
        } catch (SQLException e) {
            e.printStackTrace();
        }

        // 返回结果
        response.sendRedirect("/userList");
    }
}

4.2 实现用户的删除功能
我们同样需要创建一个Servlet,命名为“DeleteUserServlet”,该Servlet需要继承HttpServlet,然后在doPost方法中实现用户删除的逻辑。具体的代码实现可以参考以下示例:

@WebServlet(name = "DeleteUserServlet", value = "/deleteUser")
public class DeleteUserServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 获取参数
        int id = Integer.parseInt(request.getParameter("id"));

        // 从数据库中删除用户
        try {
            Connection connection = DbUtil.getConnection();
            String sql = "delete from user where id=?";
            PreparedStatement preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setInt(1, id);
            preparedStatement.executeUpdate();
            DbUtil.close(preparedStatement, connection);
        } catch (SQLException e) {
            e.printStackTrace();
        }

        // 返回结果
        response.sendRedirect("/userList");
    }
}

4.3 实现用户的更新功能
同样需要创建一个Servlet,命名为“UpdateUserServlet”,该Servlet需要继承HttpServlet,然后在doPost方法中实现用户更新的逻辑。具体的代码实现可以参考以下示例:

@WebServlet(name = "UpdateUserServlet", value = "/updateUser")
public class UpdateUserServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 获取参数
        int id = Integer.parseInt(request.getParameter("id"));
        String name = request.getParameter("name");
        String password = request.getParameter("password");
        String gender = request.getParameter("gender");
        int age = Integer.parseInt(request.getParameter("age"));

        // 更新数据库中的数据
        try {
            Connection connection = DbUtil.getConnection();
            String sql = "update user set name=?,password=?,gender=?,age=? where id=?";
            PreparedStatement preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setString(1, name);
            preparedStatement.setString(2, password);
            preparedStatement.setString(3, gender);
            preparedStatement.setInt(4, age);
            preparedStatement.setInt(5, id);
            preparedStatement.executeUpdate();
            DbUtil.close(preparedStatement, connection);
        } catch (SQLException e) {
            e.printStackTrace();
        }

        // 返回结果
        response.sendRedirect("/userList");
    }
}

4.4 实现用户的查询功能
我们同样需要创建一个Servlet,命名为“UserListServlet”,该Servlet需要继承HttpServlet,并在doGet方法中实现用户查询的逻辑。具体的代码实现可以参考以下示例:

@WebServlet(name = "UserListServlet", value = "/userList")
public class UserListServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 从数据库中获取所有用户的数据
        List<User> userList = new ArrayList<>();
        try {
            Connection connection = DbUtil.getConnection();
            Statement statement = connection.createStatement();
            ResultSet resultSet = statement.executeQuery("select * from user");
            while (resultSet.next()) {
                User user = new User();
                user.setId(resultSet.getInt("id"));
                user.setName(resultSet.getString("name"));
                user.setPassword(resultSet.getString("password"));
                user.setGender(resultSet.getString("gender"));
                user.setAge(resultSet.getInt("age"));
                userList.add(user);
            }
            DbUtil.close(resultSet, statement, connection);
        } catch (SQLException e) {
            e.printStackTrace();
        }

        // 将数据绑定到request对象中然后转发到页面进行展示
        request.setAttribute("userList", userList);
        request.getRequestDispatcher("/userList.jsp").forward(request, response);
    }
}
  1. 创建JSP页面

我们可以在Idea中创建一个名为“userList.jsp”的JSP页面,用于展示用户列表。具体的代码实现可以参考以下示例:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>用户列表</title>
  </head>
  <body>
    <h1>用户列表</h1>
    <table border="1">
      <tr>
        <th>ID</th>
        <th>姓名</th>
        <th>密码</th>
        <th>性别</th>
        <th>年龄</th>
        <th>操作</th>
      </tr>
      <c:forEach items="${userList}" var="user">
        <tr>
          <td>${user.id}</td>
          <td>${user.name}</td>
          <td>${user.password}</td>
          <td>${user.gender}</td>
          <td>${user.age}</td>
          <td>
            <form action="/deleteUser" method="post">
              <input type="hidden" name="id" value="${user.id}" />
              <input type="submit" value="删除" />
            </form>
            <form action="/updateUser" method="post">
              <input type="hidden" name="id" value="${user.id}" />
              <input type="submit" value="编辑" />
            </form>
          </td>
        </tr>
      </c:forEach>
    </table>
    <br />
    <h1>添加用户</h1>
    <form action="/addUser" method="post">
      <label>姓名:</label>
      <input type="text" name="name" /> <br />
      <label>密码:</label>
      <input type="password" name="password" /> <br />
      <label>性别:</label>
      <input type="radio" name="gender" value="男" />男
      <input type="radio" name="gender" value="女" />女 <br />
      <label>年龄:</label>
      <input type="text" name="age" /> <br />
      <input type="submit" value="添加" />
    </form>
  </body>
</html>

以上就是使用Idea开发JavaWeb应用程序的思路,实现用户的增删改查的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用idea开发javaWeb应用程序的思路(实现用户的增删改查) - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • mybatis @Intercepts的用法解读

    下面将详细讲解 “MyBatis @Intercepts 的用法解读”。 1. @Intercepts 简介 @Intercepts 是 MyBatis 中提供的一个注解,用于标记拦截器对象。 2. 用法解读 首先,我们需要了解 MyBatis 中的拦截器机制。 MyBatis 中的拦截器就是一个实现了 org.apache.ibatis.plugin.In…

    Java 2023年5月20日
    00
  • springboot整合shiro多验证登录功能的实现(账号密码登录和使用手机验证码登录)

    SpringBoot整合Shiro多验证登录功能的实现 SpringBoot是一个快速开发Spring应用的框架,而Shiro可以方便的实现安全认证和授权,两者结合,可以非常方便的实现多验证登录功能。 SpringBoot集成Shiro 首先需要添加Shiro和SpringBoot的依赖。 <dependency> <groupId>…

    Java 2023年5月20日
    00
  • Mybatis中的高级映射一对一、一对多、多对多

    下面我就为你详细讲解Mybatis中的高级映射一对一、一对多、多对多的攻略。 一对一映射 一对一映射指的是两个实体类之间的一对一关系,通常情况下是通过外键关联的。在Mybatis中,我们可以使用resultMap嵌套resultMap来实现一对一映射。 首先,我们需要创建两个Java Bean类,分别为用户(User)和身份证(Identity)类。这两个类…

    Java 2023年5月20日
    00
  • jsp 网站引入外部css或者js失效问题解决

    当JSP网站引入外部CSS或JS时,如果失效,这可能是因为有一些问题。下面我将提供一些常见问题及其解决方案,以帮助您解决这些问题。 问题1:文件路径错误 引入外部CSS或JS时,需要确保文件路径正确。如果文件路径错误,浏览器将无法加载CSS或JS文件。解决此问题的方法是使用绝对路径或相对路径指定文件路径。 示例1:使用绝对路径指定文件路径 <link …

    Java 2023年6月15日
    00
  • 你应该知道的这些Mybatis-Plus使用技巧(小结)

    你应该知道的这些Mybatis-Plus使用技巧(小结) Mybatis-Plus是一个Mybatis的增强工具,拓展了Mybatis的功能,使得开发者在编写数据库CRUD操作时更加方便和快捷。本文将介绍一些Mybatis-Plus的使用技巧。 1. 自动生成代码 Mybatis-Plus提供了一种快速生成Mapper、实体类、Service、Service…

    Java 2023年5月20日
    00
  • java构造方法的作用总结

    下面为您详细讲解“java构造方法的作用总结”的完整攻略。 什么是java构造方法 Java中的构造方法是一种特殊类型的方法,它允许我们在创建对象时执行代码来初始化对象。构造方法通常与类的名称相同,不包含返回类型,并且可以有参数。 java构造方法的作用 初始化实例变量 构造方法用于初始化一个对象的实例变量,它可以完成对象的初始化工作。在Java当中,对象的…

    Java 2023年5月26日
    00
  • SpringBoot全局异常处理方案分享

    针对“SpringBoot全局异常处理方案分享”的完整攻略,可以从以下几个方面进行讲解: 1. 异常处理的基本概念 异常处理是指对不可预知的异常情况进行预判、捕获、记录、分析和处理的一种程序行为。在SpringBoot应用中,异常处理是非常重要的,它可以更好地保障应用的稳定性和可靠性。基本上,通过自定义异常处理器,我们可以捕获程序中未处理的异常,并统一处理异…

    Java 2023年5月27日
    00
  • Java MyBatis框架环境搭建详解

    Java MyBatis框架环境搭建详解 1. 环境要求 在开始搭建MyBatis框架之前,需要确保计算机已经安装以下软件: JDK(Java Development Kit)— 最好是JDK8及以上版本。 Eclipse(或者其他的Java IDE)— 推荐使用最新版本。 Maven(或者其他的构建工具)— 推荐使用最新版本。 MySQL(或者其他关系型数…

    Java 2023年6月2日
    00
合作推广
合作推广
分享本页
返回顶部