HTML提交表单数据到JSP页面作为jsp中查询MYSQL数据库的条件

本文介绍了如何通过HTML表单收集起止时间数据,并通过JSP实现与MySQL数据库的连接,接收并处理这些数据,最终展示查询结果。展示了从数据输入到SQL查询的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HTML界面负责创建两个输入文本框和一个提交按钮,向JSP界面发送数据。

morrTime.jsp为接收数据的JSP界面。

HTML部分如下图展示:

<!DOCTYPE html>

<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">
body{
background-image: url(img/bj7.jpg);
background-size: cover;
font-size: 40px;
font-family:"楷体";
font-style:italic;
font-size-adjust: inherit;
}
</style>
</head>
<body>
<div align="center">
    请输入查询的时间条件<hr>
    <form action="morrTime.jsp" method="post">
       
        <br>
        起始时间:<input type="text" name="w1"><br><br>
        结束时间:<input type="text" name="w2"><br>
    <input type="submit" value="提 交">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <input type="reset" value="取 消"><br>
     <h6>时间范围(例如:2022年1月1日,请输入:20220101)</h6>
    </form>
</div>
</body>
</html>

JSP界面当中包括连接数据库,接收HTML发送的数据,将数据转为SQL查询的条件,显示查询结果四个部分。

连接数据库部分:

	Class.forName("com.mysql.jdbc.Driver").newInstance();
  	String url="jdbc:mysql://localhost:3306/znjj";//用户名,端口号,表名
  	String user="root";//用户名
  	String password="123456";//密码
  	Connection conn = DriverManager.getConnection(url, user, password);//创建连接

接收HTML发送的数据部分:

float w1 = Float.parseFloat(request.getParameter("w1"));
 float w2 = Float.parseFloat(request.getParameter("w2"));
 preparedStatement.setFloat(1,w1);
    preparedStatement.setFloat(2,w2);

将数据转为SQL查询的条件部分:

 String sql = "select * from xx where created>=? and created<=?";
    PreparedStatement preparedStatement = conn.prepareStatement(sql);
    ResultSet resultSet = preparedStatement.executeQuery();//执行sql语句用来返回单个 ResultSet 对象
    resultSet.last();//移动到最后一条记录

 显示查询结果部分:

<%
        resultSet.beforeFirst();
        while (resultSet.next()){
    %>          <tr align="center">
                    <td><%=resultSet.getRow()%></td>
                    <td><%=resultSet.getString("wd")%></td>
                    <td><%=resultSet.getString("sd")%></td>
                    <td><%=resultSet.getString("gz")%></td>
                    <td><%=resultSet.getString("created")%></td>
                </tr>
    <%}%>
            </table>
 </center>
<%
    if (resultSet!=null){
        resultSet.close();
    }
    if (preparedStatement!=null){
        preparedStatement.close();
    }
    if (conn!=null){
        conn.close();
    }
%>

 完整代码如下:

 JSP接受数据页面如下:

<%@ page language="java" import="java.util.*, java.sql.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%request.setCharacterEncoding("UTF-8");%> 
<%response.setCharacterEncoding("UTF-8");%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<style type="text/css">
table{ width:800px; margin:auto; padding: 5px; font-size:12px; border:0px; background:#00CCFF;}
tr{ background:#fff;}
td{ padding: 5px;}
#title{ text-align:center;}
body{
background-image: url(img/bj.jpg);
background-size: cover;
}
</style>
<head>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 
<title>Insert title here</title>
</head>

<body>
 <%
 //连接MySQL数据库 
 	Class.forName("com.mysql.jdbc.Driver").newInstance();
  	String url="jdbc:mysql://localhost:3306/znjj";
  	String user="root";
  	String password="123456";
  	Connection conn = DriverManager.getConnection(url, user, password);
  	//Statement st = conn.createStatement();
  	//String sex = request.getParameter("sex");
    float w1 = Float.parseFloat(request.getParameter("w1"));
    float w2 = Float.parseFloat(request.getParameter("w2"));
    String sql = "select * from xx where created>=? and created<=?";
    PreparedStatement preparedStatement = conn.prepareStatement(sql);
    //preparedStatement.setString(1,sex);
    preparedStatement.setFloat(1,w1);
    preparedStatement.setFloat(2,w2);
    ResultSet resultSet = preparedStatement.executeQuery();//执行sql语句用来返回单个 ResultSet 对象
    resultSet.last();//移动到最后一条记录
 %>
 <center>
            <h1>你要查询的环境监测表中共有
            <font size="15" color="red"><%=resultSet.getRow()%></font>条数据符合您的查询条件</h1><br />
            <table border="2" bgcolor="ccceee" width="650">
                <tr>
                    <td>ID</td>
                    <td>温度</td>
                    <td>湿度</td>
                    <td>光照</td>
                    <td>时间</td>
                </tr>
<%
        resultSet.beforeFirst();
        while (resultSet.next()){
    %>          <tr align="center">
                    <td><%=resultSet.getRow()%></td>
                    <td><%=resultSet.getString("wd")%></td>
                    <td><%=resultSet.getString("sd")%></td>
                    <td><%=resultSet.getString("gz")%></td>
                    <td><%=resultSet.getString("created")%></td>
                </tr>
    <%}%>
            </table>
 </center>
<%
    if (resultSet!=null){
        resultSet.close();
    }
    if (preparedStatement!=null){
        preparedStatement.close();
    }
    if (conn!=null){
        conn.close();
    }
%>
 <br />
 <div align="center" >
<input class="blue.round:after" type ="button" value = "返回主页"  onclick="window.location.href='main.html'">
</input></div>

<%
     
%>
</body>
</html>

完整项目请联系小白博主。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值