下面我将为您详细讲解“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简单添加,查询功能代码
基础教程推荐
- jsp 编程之@WebServlet详解 2023-08-01
- SpringBoot过滤器与拦截器深入分析实现方法 2023-07-01
- Jmeter中的timeshift()函数获取当前时间进行加减 2023-06-23
- Java字符串相关类StringBuffer的用法详解 2023-06-10
- Mapstruct对象插入数据库某个字段总是为空的bug详解 2023-03-16
- 深入剖析Java中String类的concat方法 2023-08-08
- springboot项目之相互依赖报错问题(基于idea) 2022-11-05
- 关于对Java正则表达式"\\"的理解 2023-05-19
- SpringBoot之跨域过滤器配置允许跨域访问方式 2023-02-11
- 解析Linux下Varnish缓存的配置优化 2024-01-10