Поскольку вы уже сохранили атрибут в текущем сеансе, вы можете вызвать этот атрибут в любом желаемом сервлете и сохранить его в базе данных, которую вы используете JDBC.
Пример:
Это моя база данных:
Таблица пользователя
|id |name |password|
|01 |John due |xxxxxxx |
Таблица товара
|id |name |price |
|07 |coca-cola |03 |
таблица транзакций
|id |user_id | product_id |
и в своем коде вы пишете
Connection conn = DriverManager.getConnection(url,user,password);
User user = request.getSession().getAttribute(ATT_USER);
Product product = request.getSession().getAttribute(ATT_PRODUCT);
int userId = user.getId();
int productId = product.getId();
String query = "insert into transaction(user_id,product_id) values (?,?)";
PreparedStatement prep = conn.preparestatement(query);
try {
prep = conn.prepareStatement(query);
prep.setInt(1,userId);
prep.setInt(2,productId);
prep.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
тогда вы будете иметь в своей базе данных
|id |user_id | product_id |
|01 |01 |07 |