gpt4 book ai didi

java - 通过 session 变量存储数据

转载 作者:行者123 更新时间:2023-11-29 16:05:25 25 4
gpt4 key购买 nike

我的应用程序允许用户执行某些操作我想在他连接时记住他的名字,然后将其插入数据库(以便知道谁执行了该操作),而不强制他写

这是我的 servlet 的代码

String name = request.getParameter("name");
User userName= new User(name);
request.getSession().setAttribute("user_name", userName);
response.sendRedirect("next.jsp");

最佳答案

由于您已将属性存储在当前 session 中,因此您可以在任何所需的 servlet 中调用该属性,并将其存储在使用 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 |

关于java - 通过 session 变量存储数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55787357/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com