У меня есть веб-приложение jsp + servlets. Я хочу, чтобы ArrayList был доступен на всех страницах jsp и servlet, которые отличаются для каждого вошедшего в систему пользователя. Когда пользователь входит в веб-приложение, у меня есть некоторые роли, назначенные пользователю, в соответствии с ролью, которой ему назначены некоторые разрешения в веб-приложении. Я имею в виду, что веб-приложение трансформируется в соответствии с ролью пользователя и разрешениями. Например, некоторые операции могут быть только для некоторых ролей и т. Д. Поэтому я хочу выполнить запрос при входе в систему (только один раз) и сохранить все разрешения в списке массивов и получить этот список массивов на всех страницах jsp и servlet. Как я могу это сделать.
public class Role implements SingleThreadModel{
Connection connection = null;
Statement statement = null;
IST ist;
int user_id;
public Role(int user_id, Connection connection) {
try {
this.user_id = user_id;
this.connection = connection;
statement = connection.createStatement();
ist = new IST();
} catch (SQLException ex) {
Logger.getLogger(Role.class.getName()).log(Level.SEVERE, null, ex);
}
}
public List<String> getPermissionScreens() {
List<String> myList = new ArrayList<>();
try {
String sql = "";
ResultSet resultSet = statement.executeQuery(sql);
while (resultSet.next()) {
myList.add(resultSet.getString("screen_name"));
}
} catch (SQLException ex) {
Logger.getLogger(Role.class.getName()).log(Level.SEVERE, null, ex);
}
return myList;
}
public List<String> getPermissions(String screen) {
List<String> myList = new ArrayList<>();
try {
String sql = "";
ResultSet resultSet = statement.executeQuery(sql);
while (resultSet.next()) {
myList.add(resultSet.getString("permission_name"));
}
} catch (SQLException ex) {
Logger.getLogger(Role.class.getName()).log(Level.SEVERE, null, ex);
}
return myList;
}
}