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方法,这样,使用者就没法修改了