public static PageResult<User> getPage(int page, int numItemsInPage) 
			throws SQLException, NamingException 
	{
		
		PreparedStatement stmt = null;
		ResultSet rs = null;
		DataSource ds = getDataSource();

		if (page <= 0) 
		{
			page = 1;
		}
		PageResult<User> result = new PageResult<User>(numItemsInPage, page);
		
		int startPos = (page - 1) * numItemsInPage;

    	try 
    	{ 
			result.setNumItems(userListCnt());

			conn = ds.getConnection();

			// 질의 준비
			stmt = conn.prepareStatement("SELECT * FROM users AS u ORDER BY u.id DESC LIMIT " + startPos + ", " + numItemsInPage);
			rs = stmt.executeQuery();	
			
			while(rs.next()) 
			{
				result.getList().add(new User(rs.getInt("u_id")
						,rs.getString("join_type")
						,rs.getString("id")
						,rs.getString("pw")
						,rs.getString("name")
						,rs.getString("email")
						,rs.getString("tel")
						,rs.getString("gender")
						,rs.getString("start")
						,rs.getString("adm")));
			}
		}
    	finally 
		{
			if (rs != null) try{rs.close();} catch(SQLException e) {}
			if (stmt != null) try{stmt.close();} catch(SQLException e) {}
			if (conn != null) try{conn.close();} catch(SQLException e) {}
		}
		
		return result;		
	}