现在的位置: 首页 > 综合 > 正文

Servlet基础_0600_UserBean

2017年04月16日 ⁄ 综合 ⁄ 共 2666字 ⁄ 字号 评论关闭

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

抱歉!评论已关闭.