/*============UserCacheServlet===*/
package javaservlet;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
/**
* <p>Title: test_servlet</p>
* <p>Description: This is my first servlet process.</p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: ahead</p>
* @author zhaoshuxian
* @version 1.0
*/
public class UserCacheServlet
extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GB2312";
//Initialize global variables
public void init() throws ServletException {
UserList.fillUser(); //Web容器启动后调用
}
//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
UserList.fillUser(); //刷新用户数据
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>UserCacheServlet</title></head>");
out.println("<body bgcolor=/"#ffffff/">");
out.println("刷新成功!");
out.println("</body></html>");
out.close();
}
//Clean up resources
public void destroy() {
}
}
/*====UserList====*/
package javaservlet;
import java.sql.*;
import java.util.*;
import javax.naming.*;
import javax.sql.*;
/**
* <p>Title: test_servlet</p>
* <p>Description: This is my first servlet process.</p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: ahead</p>
* @author: zhaoshuxian
* @version 1.0
*/
public class UserList {
private static Map userMap; //用户ID和用户名的Map
//将用户数据缓存到Map中
public static void fillUser() {
if (userMap == null) {
userMap = new HashMap();
}
else {
userMap.clear();
}
Connection conn = null;
StringBuffer sBuf = new StringBuffer();
/* try {
Context ctx = null;
try {
ctx = new InitialContext();
}
catch (NamingException ex3) {
}
if (ctx == null) {
try {
throw new Exception("Boom - No Context");
}
catch (Exception ex2) {
}
}
DataSource ds = null;
try {
ds = (DataSource) ctx.lookup("java:comp/env/jdbc/xxzx");
}
catch (NamingException ex4) {
}
conn = ds.getConnection();
}
catch (SQLException e) {
e.printStackTrace();
}*/
try {
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/xxzx?useUnicode=true&characterEncoding=GB2312","root","");
PreparedStatement pStat = conn.prepareStatement(
"select USER_ID,USER_NAME from T_USER");
ResultSet rs = pStat.executeQuery();
while (rs.next()) {
userMap.put(rs.getString(1), rs.getString(2));
}
}
catch (SQLException ex) {
ex.printStackTrace();
}
finally {
try {
if (conn != null) {
conn.close();
conn = null;
}
}
catch (SQLException ex1) {
ex1.printStackTrace();
}
}
}
//获取HTML下拉框的用户列表代码
public static String getUserListHTML() {
StringBuffer sBuf = new StringBuffer();
Set set = userMap.keySet();
Iterator iter = set.iterator();
while (iter.hasNext()) {
Object item = (Object) iter.next();
sBuf.append("<option value='" + item + "'>" + userMap.get(item) +
"</option>/n");
}
return sBuf.toString();
}
}
package javaservlet;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
/**
* <p>Title: test_servlet</p>
* <p>Description: This is my first servlet process.</p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: ahead</p>
* @author zhaoshuxian
* @version 1.0
*/
public class UserCacheServlet
extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GB2312";
//Initialize global variables
public void init() throws ServletException {
UserList.fillUser(); //Web容器启动后调用
}
//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
UserList.fillUser(); //刷新用户数据
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>UserCacheServlet</title></head>");
out.println("<body bgcolor=/"#ffffff/">");
out.println("刷新成功!");
out.println("</body></html>");
out.close();
}
//Clean up resources
public void destroy() {
}
}
/*====UserList====*/
package javaservlet;
import java.sql.*;
import java.util.*;
import javax.naming.*;
import javax.sql.*;
/**
* <p>Title: test_servlet</p>
* <p>Description: This is my first servlet process.</p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: ahead</p>
* @author: zhaoshuxian
* @version 1.0
*/
public class UserList {
private static Map userMap; //用户ID和用户名的Map
//将用户数据缓存到Map中
public static void fillUser() {
if (userMap == null) {
userMap = new HashMap();
}
else {
userMap.clear();
}
Connection conn = null;
StringBuffer sBuf = new StringBuffer();
/* try {
Context ctx = null;
try {
ctx = new InitialContext();
}
catch (NamingException ex3) {
}
if (ctx == null) {
try {
throw new Exception("Boom - No Context");
}
catch (Exception ex2) {
}
}
DataSource ds = null;
try {
ds = (DataSource) ctx.lookup("java:comp/env/jdbc/xxzx");
}
catch (NamingException ex4) {
}
conn = ds.getConnection();
}
catch (SQLException e) {
e.printStackTrace();
}*/
try {
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/xxzx?useUnicode=true&characterEncoding=GB2312","root","");
PreparedStatement pStat = conn.prepareStatement(
"select USER_ID,USER_NAME from T_USER");
ResultSet rs = pStat.executeQuery();
while (rs.next()) {
userMap.put(rs.getString(1), rs.getString(2));
}
}
catch (SQLException ex) {
ex.printStackTrace();
}
finally {
try {
if (conn != null) {
conn.close();
conn = null;
}
}
catch (SQLException ex1) {
ex1.printStackTrace();
}
}
}
//获取HTML下拉框的用户列表代码
public static String getUserListHTML() {
StringBuffer sBuf = new StringBuffer();
Set set = userMap.keySet();
Iterator iter = set.iterator();
while (iter.hasNext()) {
Object item = (Object) iter.next();
sBuf.append("<option value='" + item + "'>" + userMap.get(item) +
"</option>/n");
}
return sBuf.toString();
}
}