續上 編寫Servlet查詢資料庫,列出員工資訊列表
阿新 • • 發佈:2019-01-02
編寫一個Servlet,通過JDBC連線MySQL資料庫,在網頁中顯示資料庫資訊。
此部分續上一篇:使用JDBC新增員工資訊。
後面的步驟為在原有專案基礎上新增的。
Step1:新建一個ListEmpServlet.java
package web; 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 javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class ListEmpServlet extends HttpServlet{ protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException{ //保證正確讀取Post提交來的中文 request.setCharacterEncoding("utf-8"); //保證正確輸出中文 response.setContentType("text/html;charset=utf-8"); //獲取輸出流物件,並輸出資訊 PrintWriter out=response.getWriter(); //獲取表單提交的資料 //String name= request.getParameter("name"); //double salary = Double.valueOf(request.getParameter("salary")); //int age = Integer.valueOf(request.getParameter("age")); //將資料插入到資料庫t_emp表中 Connection conn = null; java.sql.PreparedStatement stat=null; try { //1、載入MySQL的JDBC的驅動 Class.forName("com.mysql.jdbc.Driver"); //2、取得連線的URL,能訪問MySQL資料庫的使用者名稱和密碼 String url="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8"; String username = "root"; String password = "123456"; //3、建立與MySQL資料庫的連線類的例項 conn=DriverManager.getConnection(url,username,password); stat=conn.prepareStatement("select * from t_emp"); ResultSet rs = stat.executeQuery(); //4、輸出表格之前的頁面標記 out.println("<HTML>"); out.println("<HEAD></HEAD>"); out.println("<BODY>"); out.println("<table borde='1' cellpadding='0'"+ "cellspacing='0' width='60%'"); out.println("<caption>員工資訊列表</caption>"); //定義表格標題 out.println("<tr><td>ID</td><td>姓名</td><td>薪水</td>"+ "<td>年齡</td></tr>"); //3、遍歷結果集,以表格形式輸出資料 while(rs.next()){ int id=rs.getInt("id"); String name=rs.getString("name"); double salary=rs.getDouble("salary"); int age=rs.getInt("age"); out.println("<tr><td>"+ id+"</td><td>"+ name+"</td><td>"+ salary+"</td><td>"+ age+"</td><td>"); } out.print("</table>"); out.print("<a href='addEmp.jsp'>增加員工資訊</a>"); out.println("</body>"); out.println("</HTML>"); } catch (Exception e) { e.printStackTrace(); out.print("系統繁忙,稍後重試"); }finally{ if(stat!=null){ try { stat.close(); } catch (SQLException e) { e.printStackTrace(); } } } } }
step2 : 在原有的web.xml檔案中新增
如下:
<servlet> <servlet-name>listEmpServlet</servlet-name> <servlet-class>web.ListEmpServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>listEmpServlet</servlet-name> <url-pattern>/list</url-pattern> <!-- 之前必須是addEmp.jsp,提交表單後出現在位址列的地址 --> </servlet-mapping>
step3:部署,在瀏覽器檢視
http://localhost:8084/web02_exec/list