jsp实现按照条件查询数据库中的内容并把用表格输出

首先设计查询的页面:(如下图所示)
在这里插入图片描述
对应代码为:

<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.PreparedStatement" %>
<%@ page import="java.sql.ResultSet" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<html>
<head>
    <title>提交页面</title>
</head>
<body>
    请选择查询的条件<hr>
    <form action="lianxi22.jsp" method="post">
        性别:男<input type="radio" value="男" name="sex">
        性别:女<input type="radio" value="女" name="sex"><br>
        体重范围:<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;最小:<input type="text" name="w1"><br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;最大:<input type="text" name="w2"><br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" value="提 交">
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="reset" value="取 消">
    </form>

</body>
</html>

再设计后台的处理页面:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<html>
<head>
    <title>后台处理页面</title>
</head>
<body>
    <%
//        先连接数据库
        Class.forName("com.mysql.jdbc.Driver");
        String url = "jdbc:mysql://localhost:3306/javaweb?useUnicode=true&characterEncoding=UTF-8";
        String username="root";
        String password="";
        Connection conn= DriverManager.getConnection(url,username,password);
        request.setCharacterEncoding("UTF-8");//设置字符编码,避免出现乱码
        String sex = request.getParameter("sex");
        float w1 = Float.parseFloat(request.getParameter("w1"));
        float w2 = Float.parseFloat(request.getParameter("w2"));
        String sql = "select * from student where sex=? and weight>=? and weight<=?";
        PreparedStatement preparedStatement = conn.prepareStatement(sql);
        preparedStatement.setString(1,sex);
        preparedStatement.setFloat(2,w1);
        preparedStatement.setFloat(3,w2);
        ResultSet resultSet = preparedStatement.executeQuery();//执行sql语句用来返回单个 ResultSet 对象
        resultSet.last();//移动到最后一条记录
    %>
        <center>
            你要查询的学生数据表中共有
            <font size="5" color="red"><%=resultSet.getRow()%></font><table border="2" bgcolor="ccceee" width="650">
                <tr>
                    <td>记录条数</td>
                    <td>学号</td>
                    <td>姓名</td>
                    <td>性别</td>
                    <td>年龄</td>
                    <td>体重</td>
                    <td>身高</td>
                </tr>

    <%
        resultSet.beforeFirst();
        while (resultSet.next()){
    %>          <tr align="center">
                    <td><%=resultSet.getRow()%></td>
                    <td><%=resultSet.getInt("id")%></td>
                    <td><%=resultSet.getString("name")%></td>
                    <td><%=resultSet.getString("sex")%></td>
                    <td><%=resultSet.getInt("age")%></td>
                    <td><%=resultSet.getInt("weight")%></td>
                    <td><%=resultSet.getInt("height")%></td>
                </tr>
    <%}%>
            </table>
        </center>
<%
    if (resultSet!=null){
        resultSet.close();
    }
    if (preparedStatement!=null){
        preparedStatement.close();
    }
    if (conn!=null){
        conn.close();
    }
%>
</body>
</html>

输入对应的男女,再输入相应的体重,就能惊行查询,结果如下:
在这里插入图片描述

  • 9
    点赞
  • 89
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在 JSP 页面连接数据库并实现查询功能,你可以按照以下步骤进行操作: 1. 在 JSP 页面导入 JDBC 相关的包,例如: ```jsp <%@ page import="java.sql.*" %> ``` 2. 在 JSP 页面使用 Java 代码连接数据库,例如: ```jsp <% String url = "jdbc:mysql://localhost:3306/mydb"; String user = "root"; String password = "root"; Connection conn = null; Statement stmt = null; ResultSet rs = null; try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection(url, user, password); stmt = conn.createStatement(); rs = stmt.executeQuery("SELECT * FROM users"); while (rs.next()) { String name = rs.getString("name"); String email = rs.getString("email"); out.println("Name: " + name + ", Email: " + email + "<br>"); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if (stmt != null) { try { stmt.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } %> ``` 在上述示例代码,我们使用了 `DriverManager`、`Connection`、`Statement`、`ResultSet` 等 JDBC 相关的类来连接数据库并执行查询操作。具体来说,我们首先指定了数据库的连接信息,然后使用 `Class.forName()` 方法加载 MySQL 驱动程序,接着使用 `DriverManager.getConnection()` 方法获取数据库连接,再使用 `Statement.executeQuery()` 方法执行 SQL 查询语句,最后使用 `ResultSet` 对象遍历查询结果并输出JSP 页面。 3. 在 JSP 页面使用 HTML 标签美化查询结果,例如: ```jsp <table border="1"> <tr> <th>Name</th> <th>Email</th> </tr> <% while (rs.next()) { String name = rs.getString("name"); String email = rs.getString("email"); %> <tr> <td><%= name %></td> <td><%= email %></td> </tr> <% } %> </table> ``` 在上述示例代码,我们使用了 HTML 的 `<table>`、`<tr>`、`<th>` 和 `<td>` 等标签来创建查询结果的表格,并使用 JSP 的 `<%= %>` 语法输出查询结果。注意,这里的 `<%= %>` 语法可以简化输出语句,并自动进行 HTML 转义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值