JSP学习之---运用useBean和jdbc操作。实现简答前台操作数据库。

来源:互联网 发布:ubuntu写c程序 编辑:程序博客网 时间:2024/06/05 23:59

JSP学习之—运用useBean和jdbc操作。实现简答前台操作数据库。

功能描述

1 . 在”student”表中查询所有大于特定年龄的学生信息,此年龄由用户指定(提示,在网页上面添加一个文本框用于用户输入年龄,然后根据用户输入的年龄创建sql语句,下面加一个按钮,单击按钮将查询结果显示在网页上。
2 . 向”student”表中填入若干数据记录,要求数据由网页输入,并在下一页面显示插入后的结果。


数据库表设计

在mysql中按照下表的结构建立”student”表

字段名 数据类型 name 文本 address 文本 age 数字

实现效果展示

1 .查询
这里写图片描述

2 . 插入
这里写图片描述


实现代码

1 . DbHandle.java

package com.shiyan5_buchong;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class DbHandle {    Connection conn;    Statement sta = null;    ResultSet rst = null;    public DbHandle(){        try {            Class.forName("com.mysql.jdbc.Driver");        } catch (ClassNotFoundException e) {            e.printStackTrace();        }        try {            conn = DriverManager.getConnection("jdbc:mysql://www.malikcheng.xin:3306/test","***","***");        } catch (SQLException e) {            e.printStackTrace();        }        //System.out.println("success!");    }    public ResultSet select( String age){        String sql ="select * from students where age >"+age;        try {            sta = conn.createStatement();        } catch (SQLException e) {            e.printStackTrace();        }        try {            rst = sta.executeQuery(sql);        } catch (SQLException e) {            e.printStackTrace();        }//      System.out.println(sql);        return rst;    }    public ResultSet selectAll( ){        try {            sta = conn.createStatement();        } catch (SQLException e) {            e.printStackTrace();        }        try {            rst = sta.executeQuery("select id,name,address,age from students");        } catch (SQLException e) {            e.printStackTrace();        }//      System.out.println(sql);        return rst;    }    public void  insert (String id,String name,String age,String address ) {        String sql = "insert into students (id,name,age,address) values ("+id+",'"+name+"',"+age+",'"+address+"'"+")";        try {            sta = conn.createStatement();        } catch (SQLException e) {            e.printStackTrace();        }        try {            sta.execute(sql);        } catch (SQLException e) {            e.printStackTrace();        }//      System.out.println(sql);    }    public void close () throws Exception{        sta.close();        conn.close();    }    public static void main(String[] args) throws Exception {        DbHandle d = new DbHandle();        d.insert("33", "qq",  "88","qq");        ResultSet rst =d.selectAll();         while (rst.next()){            System.out.print("\n"+rst.getString(1)+" ");            System.out.print(" "+rst.getString(2)+" ");        System.out.print("  "+rst.getString(3)+"\n");        }    }}

2 . 查询页面

<%@page import="java.sql.ResultSet"%><%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%><jsp:useBean id="dbhandle" class="com.shiyan5_buchong.DbHandle"></jsp:useBean><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Insert title here</title></head><body>    <table bgcolor="greed" border="1" cellspacing="0" cellpadding="0"        align="center" width="500">        <%            String age = request.getParameter("age");        out.println("<tr>");        out.println("<td>" + ("id") + "</td>");        out.println("<td>" + ("name") + "</td>");        out.println("<td>" + ("address") + "</td>");        out.println("<td>" + ("age") + "</td>");        out.println("</tr>");            if (age != null) {                ResultSet rst = dbhandle.select(age);                while (rst.next()) {                    out.println("<tr>");                    out.println("<td>" + rst.getString("id") + "</td>");                    out.println("<td>" + rst.getString("name") + "</td>");                    out.println("<td>" + rst.getString("address") + "</td>");                    out.println("<td>" + rst.getString("age") + "</td>");                    out.println("</tr>");                }                rst.close();                dbhandle.close();            }            else{                ResultSet rst = dbhandle.selectAll();                while (rst.next()) {                    out.println("<tr>");                    out.println("<td>" + rst.getString("id") + "</td>");                    out.println("<td>" + rst.getString("name") + "</td>");                    out.println("<td>" + rst.getString("address") + "</td>");                    out.println("<td>" + rst.getString("age") + "</td>");                    out.println("</tr>");                }                rst.close();                dbhandle.close();            }        %>    </table>    <div align="center">        <form method="post" action="">            <span>输入要查询的大于特定年龄的数值:</span> <input type="text" name="age">            <input type="submit" value="提交">        </form>    </div></body></html>

3 . 插入页面

<%@page import="java.sql.ResultSet"%><%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%> <jsp:useBean id="dbhandle" class="com.shiyan5_buchong.DbHandle"></jsp:useBean> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Insert title here</title></head><body>    <table bgcolor="greed" border="1" cellspacing="0" cellpadding="0"        align="center" width="500">        <%        String age = request.getParameter("age");        String id = request.getParameter("id");        String address  = request.getParameter("address");        String name= request.getParameter("name");        out.println("<tr>");        out.println("<td>" + ("id") + "</td>");        out.println("<td>" + ("name") + "</td>");        out.println("<td>" + ("address") + "</td>");        out.println("<td>" + ("age") + "</td>");        out.println("</tr>");            if (id != null) {             dbhandle.insert(id, name, age,address);                            }                ResultSet rst = dbhandle.selectAll();                while (rst.next()) {                    out.println("<tr>");                    out.println("<td>" + rst.getString("id") + "</td>");                    out.println("<td>" + rst.getString("name") + "</td>");                    out.println("<td>" + rst.getString("address") + "</td>");                    out.println("<td>" + rst.getString("age") + "</td>");                    out.println("</tr>");                }                rst.close();                dbhandle.close();        %>    </table>    <form method="post" action="">    <table align="center">  <tr>    <td>id:</td>    <td><input type="text" name="id" required="required"></td>  </tr>  <tr>    <td>name:</td>    <td><input type="text" name="name"></td>  </tr>  <tr>    <td>address:</td>    <td><input type="text" name="address"></td>  </tr>  <tr>    <td>age:</td>    <td><input type="text" name="age"></td>  </tr>  <tr>    <td colspan="2" align="center">    <input type="submit" name="" value="提交">    <input type="reset" name="" value ="重设">    </td>  </tr></table>    </form></body></html>

3 . 注意不要忘记把mysql驱动拷到WebContent\WEB-INF\lib 下
4 。 还有些bug没有解决,只是简单的实现。比如只能提交一次、提交的数据格式不正确时等等。

0 0
原创粉丝点击