java - 将连接对象从一个 servlet 传递到另一个 servlet

标签 java servlets jdbc

我正在设计一个小型应用程序,它接受数据库用户名和密码,连接到 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/

相关文章:

java - 如何查询 blob?

javascript - 为什么 cometd 取消订阅不起作用?

Java Servlet Mimetype 和 Internet Explorer mimetype 处理错误

java - 值没有转储到表 temp_demo 中

java - 是否可以使用 java.awt.Robot 单击 Windows UAC 对话框?

java - 在 Java 游戏中的两个线程之间同步键盘输入

javascript - dropzone js 上传文件卡在 100%

java - 创建名为“defaultServletHandlerMapping”的 bean 时出错

java - SQLException 参数索引超出范围

java - JDBC 调用 Microsoft SQL Server 存储过程的同义词