首页 > 编程 > JSP > 正文

JSP实现MySQL数据结构查询

2019-11-17 04:10:43
字体:
来源:转载
供稿:网友

流程简介:

                                 login                                use                    describe

                    登录<----------->选择数据库<--------->选择表<---------->显示表结构

                                logout                              back                      back

0.数据库处理的javabean:(我厚道吧,这都贴出来了)

MySQLmeans.java(位置:MySQL/mysqlmeans.java):

package MySQL;
import java.sql.*;
/**
 *
 * @author lucifer
 */

public class mysqlmeans {
     Connection con;
    String username = "";
    String passWord = "";
     String server = "";
     String dbname = "";
     public void setPRoperties(String serv,String db,String name,String pass){
          server = serv;
          dbname = db;
          username = name;
          password = pass;
     }

     public void setUserName(String username){
          this.username = username;
     }
     public String getUserName(){
          return username;
     }

     public void setPassword(String password){
          this.password = password;
     }
     public String getPassword(){
          return password;
     }

     public void setServer(String server){
          this.server = server;
     }
     public String getServer(){
          return server;
     }

     public void setDataBase(String daname){
          this.dbname = daname;
     }
     public String getDataBase(){
          return dbname;
     }

     public Connection getConnection(){
        try{
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection
                       ("jdbc:mysql://"+server+"/"+dbname+"?user="+username+"&password="+password, username, password);
            return con;
        }catch(Exception e){
            e.printStackTrace();
            return null;
        }
    }

    public void exeUpdate(String sql){
        Connection upCon = getConnection();
        try{
            Statement stmt = upCon.createStatement();
            stmt.executeUpdate(sql);
            stmt.close();
            upCon.close();
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    public ResultSet getResult(String sql){
        ResultSet rs = null;
        try{
            Statement stmt = con.createStatement
                       (ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
            rs = stmt.executeQuery(sql);
        }catch(Exception e){
            e.printStackTrace();
        }
        return rs;
    }

    public void closeConnection(){
        try{
            con.close();
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    public void closeResultSet(ResultSet rs){
        try{
            rs.close();
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    public void closeStatement(Statement stmt){
        try{
            stmt.close();
        }catch(Exception e){
            e.printStackTrace();
        }
    }

}

 


1.登录:

login.jsp:

<%--
    Document   : choose
    Created on : 2009-10-5, 19:07:36
    Author     : lucifer
--%>

<%@page contentType="text/html" pageEncoding="UTF-8" errorPage="login_error.jsp"%>
<!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>登录</title>
    </head>
    <body bgcolor="#c0c0c0">
         <center>
              <font face="楷体" size="+3">
                   Sir_LuciFer<br>数据库查询系统
              </font>
              <br><br>
              <form method="post" action="chooseDataBase.jsp" name="form">
              <B>
              服务器:
              <input type="text" name="server" value="localhost"><br>
              用户名:
              <input type="text" name="username" value="root"><br>
              密码:
              <input type="password" name="password"><br>
              <input type="submit" value="Login!">
              </B>
         </form>
         </center>
    </body>
</html>
http://www.VeVb.com/

2.选择要使用的数据库:

chooseDataBase.jsp:

<%--
    Document   : choose
    Created on : 2009-10-5, 19:07:36
    Author     : lucifer
--%>

<%@page contentType="text/html" pageEncoding="UTF-8" import="java.sql.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<jsp:useBean id="mysql" class="MySQL.mysqlmeans"/>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>选择数据库</title>
        <script type="text/Javascript">
             function getDataBase(){
                  alert(document.getElementById("db").value)
             }
        </script>
    </head>
    <%
          String user = request.getParameter("username");
          String pass = request.getParameter("password");
          String serv = request.getParameter("server");
          mysql.setUserName(user);
          mysql.setPassword(pass);
          mysql.setServer(serv);
          String sql = "show databases";

          mysql.getConnection();
          ResultSet rs = mysql.getResult(sql);
    %>

    <body bgcolor="#c0c0c0">
         <center>
         <table border="1px">
              <tr>
                   <td>
                        数据库:
                   </td>
              </tr>
              <%
                    while(rs.next()){%>
                    <tr>
                    <td>
                         <%=rs.getString("Database")%>
                    </td>
                         </tr>
                    <%
                    }
                    mysql.closeResultSet(rs);
                    mysql.closeConnection();
                %>
         </table>
         <form method="post" action="chooseTable.jsp" name="form">
              <B>
              请选择数据库名称:
              </B>
              <input type="text" name="database" value="test"><br>                        
              <input type="hidden" name="username" value="<%=user%>">
              <input type="hidden" name="password" value="<%=pass%>">
              <input type="hidden" name="server" value="<%=serv%>">
              <input type="submit" value="USE!">
         </form>
         <form method="post" action="login.jsp">
                   <input type="submit" value="Logout!">
         </form>
         </center>
    </body>
</html>

 

 

 

3.选择表并看其结构:

chooseTable.jsp:

<%--
    Document   : chooseTable
    Created on : 2009-10-5, 19:19:37
    Author     : lucifer
--%>

<%@page contentType="text/html" pageEncoding="UTF-8" import="java.sql.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<jsp:useBean id="mysql" class="MySQL.mysqlmeans"/>
<%
          String user = request.getParameter("username");
          String pass = request.getParameter("password");
          String serv = request.getParameter("server");
          String dbname = request.getParameter("database");
          mysql.setUserName(user);
          mysql.setPassword(pass);
          mysql.setServer(serv);
          mysql.setDataBase(dbname);
          String sql = "show tables";

          mysql.getConnection();
          ResultSet rs = mysql.getResult(sql);

%>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>选择表</title>
    </head>
    <body bgcolor="#c0c0c0">
         <center>
         <table border="1px">
              <tr>
                   <td>
                        表:
                   </td>
              </tr>
              <%
                    while(rs.next()){%>
                    <tr>
                    <td>
                         <%=rs.getString("Tables_in_" + dbname)%>
                    </td>
                         </tr>
                    <%
                    }
                %>
         </table>
         <form method="post" action="describeTable.jsp" name="form2">
              <B>请选择一个表:
              <input type="text" name="table">
              <input type="hidden" name="username" value="<%=user%>">
              <input type="hidden" name="password" value="<%=pass%>">
              <input type="hidden" name="server" value="<%=serv%>">
              <input type="hidden" name="database" value="<%=dbname%>">
              <br>
              <input type="submit" value="DESCRIBE!">
              </B>
         </form>


         <form method="post" action="chooseDataBase.jsp" name="form1">
              <B>
              <input type="hidden" name="username" value="<%=user%>">
              <input type="hidden" name="password" value="<%=pass%>">
              <input type="hidden" name="server" value="<%=serv%>">
              <input type="submit" value="BACK!">
              </B>
         </form>
         </center>
    </body>
</html>

 


4.描述表:

describeTable.jsp:

<%--
    Document   : describeTable
    Created on : 2009-10-6, 19:49:26
    Author     : lucifer
--%>

<%@page contentType="text/html" pageEncoding="UTF-8" import="java.sql.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<jsp:useBean id="mysql" class="MySQL.mysqlmeans"/>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Describe table <%=request.getParameter("table")%></title>
    </head>
    <%
    String serv = request.getParameter("server");
    String user = request.getParameter("username");
    String pass = request.getParameter("password");
    String dbname = request.getParameter("database");
    String tname = request.getParameter("table");
    mysql.setServer(serv);
    mysql.setUserName(user);
    mysql.setPassword(pass);
    mysql.setDataBase(dbname);
    String sql = "describe " + tname;
   
    mysql.getConnection();
    ResultSet rs = mysql.getResult(sql);

    %>
    <body bgcolor="#c0c0c0">
         <center>
         <table border="1px">
              <tr>
                   <td>
                        Field
                   </td>
                   <td>
                        Type
                   </td>
                   <td>
                        Null
                   </td>
                   <td>
                        Key
                   </td>
                   <td>
                        Default
                   </td>
                   <td>
                        Extra
                   </td>
              </tr>
              <%
                    while(rs.next()){
                   %>
                         <tr>
                              <td>
                                   <%=rs.getString("Field")%>
                              </td>
                              <td>
                                   <%=rs.getString("Type")%>
                              </td>
                              <td>
                                   <%=rs.getString("Null")%>
                              </td>
                              <td>
                                   <%=rs.getString("Key")%>
                              </td>
                              <td>
                                   <%=rs.getString("Default")%>
                              </td>
                              <td>
                                   <%=rs.getString("Extra")%>
                              </td>
                         </tr>
             <%
                    }
              %>
         </table>
         <form method="post" action="chooseTable.jsp">
              <input type="hidden" name="username" value="<%=user%>">
              <input type="hidden" name="password" value="<%=pass%>">
              <input type="hidden" name="server" value="<%=serv%>">
              <input type="hidden" name="database" value="<%=dbname%>">
              <input type="submit" value="BACK!">
         </form>
         </center>
    </body>
</html>


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表