所以我正在开发一个包含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");
}
}
}
答案 0 :(得分:0)
我明白了。我不得不重新包装它。我猜Tomcat试图从已编译的旧.class文件中提取所有内容,而不是工作区内的所有内容。