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

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>

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

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要实现JSP页面单信息保存到MySQL数据库,可以使用Java JDBC API来连接数据库,并执行SQL语句来插入单数据。具体步骤如下: 1. 在JSP页面,使用HTML单元素来收集用户输入的数据。 2. 在JSP页面,使用Java代码来获取单数据,并将其存储到Java变量。 3. 在JSP页面,使用Java JDBC API来连接MySQL数据库,并创建一个PreparedStatement对象来执行插入数据的SQL语句。 4. 在JSP页面,将存储在Java变量单数据绑定到PreparedStatement对象的参数,并执行SQL语句来将数据插入到MySQL数据库。 下面是一个JSP页面保存单数据到MySQL数据库的示例代码: ``` <%@page import="java.sql.*"%> <% // 获取单数据 String name = request.getParameter("name"); String email = request.getParameter("email"); // 连接MySQL数据库 String url = "jdbc:mysql://localhost:3306/mydatabase"; String user = "root"; String password = "mypassword"; Connection conn = DriverManager.getConnection(url, user, password); // 创建PreparedStatement对象并执行SQL语句 String sql = "INSERT INTO users (name, email) VALUES (?, ?)"; PreparedStatement stmt = conn.prepareStatement(sql); stmt.setString(1, name); stmt.setString(2, email); stmt.executeUpdate(); // 关闭数据库连接 stmt.close(); conn.close(); %> ``` 在上面的示例代码,我们使用了Java JDBC API来连接MySQL数据库,并使用PreparedStatement对象来执行插入数据的SQL语句。通过将单数据绑定到PreparedStatement对象的参数,我们可以避免SQL注入攻击,并且可以更安全地将数据保存到MySQL数据库

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值