静态方法没有被调用

时间:2016-02-09 16:10:41

标签: java

所以我正在开发一个包含jsp的项目,我正在设置会话的属性。出于某种原因,它不会设置我试图创建的salesUserMap的属性。

request.getSession(false).setAttribute("userMap", UserFactory.enumAllUsersForMap()); //this works
request.getSession(false).setAttribute("salesUserMap", UserFactory.enumSalesUsersForMap()); //this does not

我基本上在这个enumSalesUsersForMap()方法中执行与另一个相同的代码,它只是一个不同的SQL代码。问题是,我在该方法中设置了断点,并且它们没有停止。所以它让我相信这个方法甚至没有被调用。也没有错误消息。

public static TreeMap<String, String> enumSalesUsersForMap() {
    Connection databaseConnection = null;
    TreeMap<String, String> salesUsers = new TreeMap<String, String>();
    PreparedStatement salesUserStatement = null;

    try
    {
        databaseConnection = ConnectionFactory.getConnection();
        salesUserStatement = databaseConnection.prepareStatement("sqlcode here");
        ResultSet result = salesUserStatement.executeQuery();
        System.out.println("enumsales");
        while(result.next())
        {
            salesUsers.put(result.getString("username"), result.getString("user_id"));
        }
        return salesUsers;
    }
    catch (SQLException sqle)
    {
        sqle.printStackTrace();
        throw new RuntimeException("error reading users");
    }
    finally
    {
        try
        {
        databaseConnection.close();
        }
        catch(SQLException sqle)
        {
            sqle.printStackTrace();
            throw new RuntimeException("error closing database");
        }
    }

}

1 个答案:

答案 0 :(得分:0)

我明白了。我不得不重新包装它。我猜Tomcat试图从已编译的旧.class文件中提取所有内容,而不是工作区内的所有内容。