⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sqlgatewayservlet.java

📁 J2EE独立开发制作
💻 JAVA
字号:
package test;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;

public class SQLGatewayServlet extends HttpServlet{

    private Connection connection;

    public void init() throws ServletException{
        try{
            Class.forName("org.gjt.mm.mysql.Driver");
            String dbURL = "jdbc:mysql://localhost/murach?useUnicode=true&characterEncoding=GB2312";
            String username = "root";
            String password = "sun";
            connection = DriverManager.getConnection(dbURL, username, password);
        }
        catch(ClassNotFoundException e){
            System.out.println("找不到数据库驱动程序.");
        }
        catch(SQLException e){
            System.out.println("不能打开数据库连接: "
                               + e.getMessage());
        }
    }

    public void destroy() {
        try{
            connection.close();
        }
        catch(SQLException e){
            System.out.println("不能关闭数据库连接: " + e.getMessage());
        }
    }

    public void doGet(HttpServletRequest request,
                      HttpServletResponse response)
                      throws IOException, ServletException{

        String sqlStatement = request.getParameter("sqlStatement");
        String message = "";

        try{
            Statement statement = connection.createStatement();
            sqlStatement = sqlStatement.trim();
            String sqlType = sqlStatement.substring(0, 6);
            if  (sqlType.equalsIgnoreCase("select")){
                ResultSet resultSet = statement.executeQuery(sqlStatement);
                // 构造一个String,其中包含HTML表格形式的结果集数据
                message = SQLUtil.getHtmlRows(resultSet);
            }
            else
            {
                int i = statement.executeUpdate(sqlStatement);
                if (i == 0) // 这是一个DDL命令
                  message =
                    "<tr><td>" +
                      "命令执行成功." +
                    "</td></tr>";
                else // 这是一个INSERT、UPDATE或DELETE命令
                    message =
                      "<tr><td>" +
                        "SQL命令执行成功。<br>" +
                        "已更改" + i + " 行。" +
                       "</td></tr>";
            }
            statement.close();
        }
        catch(SQLException e){
            message = "<tr><td>执行SQL命令时遇到错误:<br>"
                    + e.getMessage() + "</tr></td>";
        }

        HttpSession session = request.getSession();
        session.setAttribute("message", message);
        session.setAttribute("sqlStatement", sqlStatement);

        RequestDispatcher dispatcher =
            getServletContext().getRequestDispatcher(
                "/sql_gateway.jsp");
        dispatcher.forward(request, response);

    }

    public void doPost(HttpServletRequest request,
                      HttpServletResponse response)
                      throws IOException, ServletException{
        doGet(request, response);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -