下面我从以下几个方面来详细讲解使用Idea开发JavaWeb应用程序的思路,实现用户的增删改查:
- 环境准备
首先我们需要准备好Java开发环境和Web容器,推荐使用JDK8和Tomcat8。然后我们需要安装Idea开发工具。
- 创建JavaWeb项目
在Idea中创建一个JavaWeb项目,选择Web Application模板,并勾选Web.xml文件。创建完成后,我们需要配置项目的JDK版本和Web容器的配置。
- 创建数据库
我们需要创建一个名为“user”的数据库,其中包含一个"user"表,该表需要有以下字段:id、name、password、age、gender。我们在Idea中可以选择使用MySQL或者其他数据库管理工具进行创建。
- 实现用户增删改查的功能
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);
}
}
- 创建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技术站