package com;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class Mysql implements Servlet {
private static String driver = null;
private static String url = null;
private static String userName = null;
private static String password = null;
static String sql = null;
static Statement sta = null;
static Connection conn = null;
static ResultSet rs = null;
public void destroy() {
}
public ServletConfig getServletConfig() {
return null;
}
public String getServletInfo() {
return null;
}
public void init(ServletConfig config) throws ServletException {
driver = config.getInitParameter("driver").trim();
url = config.getInitParameter("url").trim();
userName = config.getInitParameter("userName").trim();
password = config.getInitParameter("password").trim();
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, userName, password);
sta = conn.createStatement();
} catch (Exception e) {
System.out.println("无法连接数据库");
}
}
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
sql = request.getParameter("sql");
response.setContentType("text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
System.out.println(driver);
System.out.println(url);
System.out.println(userName);
System.out.println(password);
System.out.println(sql);
String sc = "";
if (sql != null && sql != "") {
if (sql.indexOf("select") >= 0 || sql.indexOf("desc") >= 0
|| sql.indexOf("show") >= 0) {
try {
rs = sta.executeQuery(sql);
while (rs.next()) {
sc += "<tr>";
for (int i = 1; i < 6; i++) {
try {
sc += "<td>" + rs.getString(i) + "</td>";
} catch (SQLException e) {
break;
}
}
sc += "</tr>";
}
} catch (Exception e) {
System.out.println("sql语句错误");
}
System.out.print("\r\n");
} else {
try {
if (sta.execute(sql)) {
System.out.println("失败");
} else
System.out.println("成功");
} catch (Exception e) {
System.out.println("语法错误或重复");
}
}
}
PrintWriter out = response.getWriter();
StringBuilder strb = new StringBuilder();
strb.append("<html>").append("<head>").append("</head>").append(
"<body>").append("<form action='ss.html' method='post' >").append(
"输入你的sql语句:<input type='text' name='sql' size='200'/>").append(
"<input type='submit' value='查询'/>").append(
"<table border='5'bgcolor='Gray' >").append(sc).append(
"</table>").append("</form>").append("</body>").append(
"</html>");
System.out.println(strb);
out.print(strb.toString());
out.flush();
out.close();
sc = "";
sql = "";
}
}
评论0