我正在设计一个小型应用程序,它接受数据库用户名和密码,连接到 Oracle 数据库,接受记录,并使用 servlet 将其放入数据库。
我有一个 servlet,它接受用户名和密码,建立数据库连接,然后重定向到另一页面。在此页面上,接受记录值。在这里,我想插入数据库,但没有连接对象。有什么方法可以将连接对象传递给这个新的 servlet?
或者我应该使用不同的方法,例如验证用户名和密码,使用 setAttribute 保存它们,然后在第二个 servlet 中建立连接?
我对 Web 编程和 servlet 完全陌生,因此任何帮助都会很棒,谢谢!
最佳答案
HTTP 重定向对于服务器来说就像一个新的页面请求。保持来自同一用户的页面请求之间的连续性的方法是使用 session 。在 Java 中,您可以从传递给 servlet 的 servlet 请求对象中获取 session 对象。
要完全按照您的要求进行操作,您可以将数据库连接存储在 session 中。然而,由于多种原因,重定向实际上可能不会发生,这可能会导致数据库连接无限期地打开,这是一个坏主意。
更好的想法是将数据库凭据存储在 session 中,而不是打开数据库连接。然后,当重定向到来时,处理重定向的 servlet 可以打开一个新的数据库连接,存储所需的值,提交并关闭连接。
关于java - 将连接对象从一个 servlet 传递到另一个 servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21154938/