下面我将为您详细讲解“JSP简单添加、查询功能代码”的攻略。
下面我将为您详细讲解“JSP简单添加、查询功能代码”的攻略。
准备工作
首先,您需要准备好以下环境:
- JSP运行环境,如Tomcat
- MySQL数据库
创建数据库
我们先创建一个名为“test”的数据库,并创建一个名为“user”的表,表结构如下:
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`age` int(11) NOT NULL,
`gender` varchar(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
编写添加功能代码
接下来,我们来编写添加功能代码,首先需要创建一个添加页面。在Web应用程序中新建一个名为“add.jsp”的文件,并在其中添加以下代码:
<html>
<head>
<title>添加用户</title>
</head>
<body>
<h1>添加用户</h1>
<%-- 提交表单 --%>
<form action="addUser.jsp" method="post">
<label for="name">姓名:</label>
<input type="text" name="name" id="name" /><br />
<label for="age">年龄:</label>
<input type="text" name="age" id="age" /><br />
<label for="gender">性别:</label>
<input type="radio" name="gender" value="male" id="male" />男
<input type="radio" name="gender" value="female" id="female" />女<br />
<input type="submit" value="提交" />
</form>
</body>
</html>
上述代码中,我们创建了一个表单,其中包含姓名、年龄、性别三个字段。表单的提交地址为“addUser.jsp”。
接下来我们需要编写“addUser.jsp”页面的逻辑代码,用于接收表单数据,并将数据插入数据库中。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.sql.*" %>
<%
request.setCharacterEncoding("UTF-8");
// 获取表单数据
String name = request.getParameter("name");
int age = Integer.parseInt(request.getParameter("age"));
String gender = request.getParameter("gender");
// 连接数据库
String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8";
String user = "root";
String password = "123456";
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(url, user, password);
// 插入数据
String sql = "INSERT INTO user(name, age, gender) VALUES (?, ?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, name);
pstmt.setInt(2, age);
pstmt.setString(3, gender);
pstmt.executeUpdate();
// 关闭连接
pstmt.close();
conn.close();
// 跳转到添加成功页面
response.sendRedirect("addSuccess.jsp");
%>
上面的代码中,我们首先获取表单数据,然后通过JDBC连接数据库,并将数据插入到user表中。
编写查询功能代码
接下来,我们来编写查询功能代码。同样地,我们需要创建一个查询页面。在Web应用程序中新建一个名为“query.jsp”的文件,并在其中添加以下代码:
<html>
<head>
<title>查询用户</title>
</head>
<body>
<h1>查询用户</h1>
<%-- 提交表单 --%>
<form action="queryUser.jsp" method="post">
<label for="name">姓名:</label>
<input type="text" name="name" id="name" /><br />
<input type="submit" value="查询" />
</form>
</body>
</html>
上述代码中,我们创建了一个表单,其中包含姓名字段。表单的提交地址为“queryUser.jsp”。
接下来我们需要编写“queryUser.jsp”页面的逻辑代码,用于接收表单数据,并从数据库中查询数据。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.sql.*" %>
<%
request.setCharacterEncoding("UTF-8");
// 获取表单数据
String name = request.getParameter("name");
// 连接数据库
String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8";
String user = "root";
String password = "123456";
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(url, user, password);
// 查询数据
String sql = "SELECT * FROM user WHERE name LIKE ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "%" + name + "%");
ResultSet rs = pstmt.executeQuery();
// 显示数据
out.println("<table>");
out.println("<tr>");
out.println("<th>ID</th><th>姓名</th><th>年龄</th><th>性别</th>");
out.println("</tr>");
while (rs.next()) {
int id = rs.getInt("id");
String username = rs.getString("name");
int age = rs.getInt("age");
String gender = rs.getString("gender");
out.println("<tr>");
out.println("<td>" + id + "</td>");
out.println("<td>" + username + "</td>");
out.println("<td>" + age + "</td>");
out.println("<td>" + gender + "</td>");
out.println("</tr>");
}
out.println("</table>");
// 关闭连接
rs.close();
pstmt.close();
conn.close();
%>
上面的代码中,我们首先获取表单数据,然后通过JDBC连接数据库,并从user表中查询符合条件的记录,最后将查询结果输出到页面上。
示例说明
假设我们现在要添加一个名为“Tom”的用户,年龄为28岁,性别为男。
- 首先访问“add.jsp”页面。
- 在页面上填写姓名、年龄、性别等字段,点击“提交”按钮,提交表单。
- 系统将表单数据发送到“addUser.jsp”页面,并将数据插入到数据库中。
- 系统跳转到“addSuccess.jsp”页面,提示添加成功。
假设我们现在要查询所有名字中包含“T”的用户。
- 首先访问“query.jsp”页面。
- 在页面上填写姓名字段,输入“T”作为查询条件,点击“查询”按钮,提交表单。
- 系统将表单数据发送到“queryUser.jsp”页面,并从数据库中查询符合条件的记录。
- 系统将查询结果输出到页面上,以表格的形式呈现。
本文标题为:JSP简单添加,查询功能代码
基础教程推荐
- Java一维数组和二维数组元素默认初始化值的判断方式 2023-04-17
- Shiro中session超时页面跳转的处理方式 2023-02-10
- 如何使用MybatisPlus快速进行增删改查详解 2023-03-31
- Java内存区域与内存溢出异常 2023-09-01
- 详解Java信号量Semaphore的原理及使用 2022-12-02
- webservice实现springboot项目间接口调用与对象传递示例 2023-03-11
- Java多线程并发与并行和线程与进程案例 2023-01-08
- SpringBoot日志配置操作全面介绍 2023-06-23
- 在Idea中新建Java项目 2023-10-08
- 惊了!!! 小白零基础学java (月薪过万是你的梦想嘛) 手把手教学 就怕你不动手【二十五】第二章【初识MySQL】 2023-10-31
