javaBean的讲解,拥有一些私有属性,有get,set方法
//ShowRsUserBean.java
package com.servlet; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.util.DB; public class ShowRsUserBean extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out .println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">"); out.println("<HTML>"); out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>"); out.println(" <BODY>"); Connection conn = DB.getConn(); Statement smt = DB.createStatement(conn); ResultSet rs = DB.getResultSet(smt, "select * from users"); try { while(rs.next()){ out.println("username= "+rs.getString("username")+"<br />"); } } catch (SQLException e) { e.printStackTrace(); } DB.close(rs); DB.close(smt); DB.close(conn); out.println(" </BODY>"); out.println("</HTML>"); out.flush(); out.close(); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); } }
//DB.java
package com.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class DB { private static Connection conn = null; public static Connection getConn(){ try { Class.forName("com.mysql.jdbc.Driver"); //是user不是username,第一次就错在这个地方 conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/servlet?user=root&password=zizhu"); } catch (SQLException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } return conn; } public static Statement createStatement(Connection conn){ Statement smt =null; try { smt = conn.createStatement(); } catch (SQLException e) { e.printStackTrace(); } return smt; } public static ResultSet getResultSet(Statement smt ,String sql){ ResultSet rs = null; try { rs= smt.executeQuery(sql); } catch (SQLException e) { e.printStackTrace(); } return rs ; } public static void close(Connection conn){ if(conn!=null){ try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } conn = null; } } public static void close(Statement smt){ if(smt!=null){ try { smt.close(); } catch (SQLException e) { e.printStackTrace(); } smt = null; } } public static void close(ResultSet rs){ if(rs!=null){ try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } rs = null; } } }
访问ShowRsUserBean,取出数据
javaBean侠义的讲是为了实现某一特定功能而对其功能的封装,广义讲就是一个java类
在某个属性上添加private的原因:控制更加精确,如果设置为public,使用者即可读,也可写,而某些属性是不能让使用者更改的,例如身份证号码,只让读,不让改,此时可以将其声明为private的,而且只提供get方法,这样,使用者就没法修改了