JAVAEE_Servlet_04_在service()方法中连接数据库获取表信息

在service()方法中连接数据库获取表信息

  • 代码:
     package com.shige.controller;

     import javax.servlet.*;
     import java.io.IOException;
     import java.io.PrintStream;
     import java.io.PrintWriter;
     import java.sql.*;

     public class ListEmpServlet implements Servlet {
         @Override
         public void init(ServletConfig servletConfig) throws ServletException {

         }

         @Override
         public ServletConfig getServletConfig() {
             return null;
         }

         @Override
         public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {

              //防止乱码
             //response.setCharacterEncoding("text/html;charset=UTF-8");
             response.setContentType("text/html;charset=utf-8");

             //创建字符输出流
             PrintWriter printWriter=response.getWriter();

             //HTML代码
             printWriter.print("          <!DOCTYPE html>");
             printWriter.print("<meta http-equiv=\"content-type\" content=\"text/html\" charset=\"utf-8\"/> ");
             printWriter.print("  <head>");
             printWriter.print("      <meta charset='UTF-8'>");
             printWriter.print("      <title>员工信息</title>");
             printWriter.print("  </head>");
             printWriter.print("     <body>");
             printWriter.print("          <h3 align='center'>员工信息表</h3>");
             printWriter.print("          <hr width='60%'>");
             printWriter.print("          <table border='1' align='center' width='50%'>");
             printWriter.print("              <tr align='center'>");
             printWriter.print("                  <th>序号</th>");
             printWriter.print("                  <th>员工编号</th>");
             printWriter.print("                  <th>员工姓名</th>");
             printWriter.print("                  <th>员工薪酬</th>");
             printWriter.print("                  <th>员工岗位</th>");
             printWriter.print("              </tr>");


             //JDBC连接数据库
             //创建连接对象
             Connection connection=null;
             PreparedStatement preparedStatement=null;
             ResultSet resultSet=null;


             try {
                 //注册驱动
                 Class.forName("com.mysql.cj.jdbc.Driver");

                 //获取连接
                 connection=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/employ?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai",
                         "root","123456");

                 //获取预编译对象
                 String sql="select empno,ename,sal,job from emp";
                 preparedStatement=connection.prepareStatement(sql);

                 //执行SQL语句
                 resultSet=preparedStatement.executeQuery();

                 //处理查询结果集
                 int i=1;
                 while(resultSet.next()){
                     String empno=resultSet.getString("empno");
                     String name=resultSet.getString("ename");
                     String sal=resultSet.getString("sal");
                     String job=resultSet.getString("job");

                     printWriter.print("              <tr align='center'>");
                     printWriter.print("                  <th>"+(i++)+"</th>");
                     printWriter.print("                  <th>"+empno+"</th>");
                     printWriter.print("                  <th>"+name+"</th>");
                     printWriter.print("                  <th>"+sal+"</th>");
                     printWriter.print("                  <th>"+job+"</th>");
                     printWriter.print("              </tr>");

                 }



             } catch (ClassNotFoundException | SQLException e) {
                 e.printStackTrace();
             }finally {
                 if(resultSet!=null){
                     try {
                         resultSet.close();
                     } catch (SQLException e) {
                         e.printStackTrace();
                     }
                 }

                 if(preparedStatement!=null){
                     try {
                         preparedStatement.close();
                     } catch (SQLException e) {
                         e.printStackTrace();
                     }
                 }

                 if(connection!=null){
                     try {
                         connection.close();
                     } catch (SQLException e) {
                         e.printStackTrace();
                     }
                 }
             }
             printWriter.print("          </table>");
             printWriter.print("    </body>");
             printWriter.print("  </html>");


         }

         @Override
         public String getServletInfo() {
             return null;
         }

         @Override
         public void destroy() {

         }
     }
posted @ 2021-04-19 18:05  失昼  阅读(262)  评论(0)    收藏  举报