在JSP页面上共享数据库连接和已加载的脚本,样式

时间:2010-10-27 14:01:03

标签: jquery oracle jsp jdbc shared-libraries

我目前正在尝试在JSP中编写现有的桌面应用程序。

为了能够保持可持续性,具有视觉效果并获得功能,我决定使用JQuery。

在一个月前开始编码之后,我们现在意识到这些页面正在大量使用每个页面中调用的库(JQuery和JQueryUI库,额外的插件和CSS文件)。我们还需要在每个进程中进行oracle数据库连接。

我想要的是一个主页面(简称为Application.jsp)。

  1. 连接到数据库,保持连接活动(连接成功并且只要我继续使用它就会活着)
  2. 使用ajax调用子页面。子页面被编码为原始html。 (尝试使用Jquery加载()和get()并成功)
  3. 在加载的子页面上应用JQuery函数和CSS(无法使其工作)
  4. 使用活动数据库连接使用getJSON()获取查询结果。 (也可能没有这个工作,可能是因为JQuery在我加载的页面上无法工作或者数据库连接无法共享)
  5. 如果,我可以用这种方式工作,这将节省我在每个子页面调用中加载数百个kB的库。此外,我不需要为每个进程维护数据库连接。

    任何帮助将不胜感激。感谢...

2 个答案:

答案 0 :(得分:1)

不要让自己永远保持联系。当数据库保持打开状态太久时,数据库将关闭它们,您的应用程序将会中断。通常的做法是使用连接池。体面的servletcontainers为JNDI数据源提供了相应的工具。连接池实现本身会担心以正确的方式获取和关闭实际连接。

目前还不清楚您正在使用哪个servlet容器,因此这里只是一些特定于Tomcat的文档:

完成后,更改JDBC代码中的连接管理器,将DriverManager#getConnection()替换为DataSource#getConnection(),并使JDBC代码的残余内容保持稳定(在尽可能短的时间内获取并关闭连接< / em> scope,始终关闭finally块中的所有资源。如果您对此也不确定,可以在basic JDBC DAO tutorial中找到一些见解。

答案 1 :(得分:0)

关于连接管理,一定要遵守BalusC的建议。查找App Server或Container的资源实现,并在应用服务器中设置数据库连接。

在将JQuery函数和事件处理程序应用于新的AJAX加载内容时,您需要使用jquery选择器并重新应用以前应用于整个文档的任何内容,但是您只能针对新加载的内容运行它,而不是整个文档树。