您的位置:首页 > 数据库 > MySQL

Jave EE Servlet 访问 MySQL 数据库

2016-04-16 21:54 627 查看
Jave EE Servlet 访问 MySQL 数据库和一般的java应用访问数据库类似。

准备:

1. NetBeans IDE

2. MySQL

3. MySQL的java连接器jar文件

新建Java EE 企业应用项目EnterpriseApplication1-war,新建Servlet1,在其引用的库中,添加mysql-connector-java-5.1.38-bin.jar连接器

在Servlet中写入如下代码

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 java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet(urlPatterns = {"/Servlet1"})
public class Servlet1 extends HttpServlet {

private Connection conn;
private Statement stmt;
ResultSet rs=null;

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException, ClassNotFoundException, SQLException {

response.setContentType("text/html;charset=UTF-8");

try (PrintWriter out = response.getWriter()) {

out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet MySQL</title>");
out.println("</head>");
out.println("<body>");

String url="jdbc:mysql://localhost:3306/users?user=root&password=admin&useUnicode=true&charaterEncoding=UTF8";

Class.forName("com.mysql.jdbc.Driver");

conn=DriverManager.getConnection(url);
stmt=conn.createStatement();
String sql="SELECT * FROM userinformation";
rs=stmt.executeQuery(sql);

out.println("Servlet访问MySQL数据库成功!");
out.println("<table border=1 bordercolorlight=#000000 cellspacing=0 cellpadding=3>");
out.println("<tr><td>id</td><td>username</td><td>password</td><td>level</td></tr>");

while(rs.next()){
out.println("<tr><td>"+rs.getInt(1)+"</td><td>"+rs.getString(2)+"</td><td>"+rs.getString(3)+"</td><td>"+rs.getInt(4)+"</td></tr>");
}

out.println("</table>");

rs.close();
stmt.close();
conn.close();

out.println("</body>");
out.println("</html>");

}catch(Exception e){
e.printStackTrace();
}
}

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
processRequest(request, response);
} catch (ClassNotFoundException ex) {
Logger.getLogger(Servlet1.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(Servlet1.class.getName()).log(Level.SEVERE, null, ex);
}
}

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
processRequest(request, response);
} catch (ClassNotFoundException ex) {
Logger.getLogger(Servlet1.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(Servlet1.class.getName()).log(Level.SEVERE, null, ex);
}
}

@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>

}


保存项目并试运行,浏览器就会打开,进入到http://localhost:8080/EnterpriseApplication1-war/Servlet1后,就会显示MySQL数据库查询结果的HTML表格呈现



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息