我正在设计一个小应用程序,它接受数据库用户名和密码,连接到Oracle数据库,接受记录,并使用servlet将其放入数据库。
我有一个servlet接受用户名和密码,建立数据库连接,然后重定向到另一个页面。在此页面上,接受记录值。在这里,我想插入数据库,但我没有连接对象。有什么办法可以将连接对象传递给这个新的servlet吗?
或者我应该使用不同的方法,比如验证用户名和密码,使用setAttribute保存它们,然后在第二个servlet中建立连接?
我是网络编程和servlet的新手,所以任何帮助都会很棒,谢谢!
答案 0 :(得分:1)
HTTP重定向向服务器查找新页面请求。保持来自同一用户的页面请求之间的连续性的方法是使用会话。在Java中,您可以从传递给servlet的servlet请求对象中获取会话对象。
要完全按照您的要求进行操作,您可以在会话中存储数据库连接。但是,由于重定向实际上可能由于各种原因而无法实现,这可能会使数据库连接无限期地打开,这是一个坏主意。
更好的想法是将数据库凭据存储在会话中,而不是打开数据库连接。然后,当重定向进入时,处理重定向的servlet可以打开新的数据库连接,存储所需的值,提交并关闭连接。