【问题标题】:Setting Sql datasource using JSTL Tag in JSP在 JSP 中使用 JSTL 标签设置 Sql 数据源
【发布时间】:2014-10-24 20:55:02
【问题描述】:

几周前,我使用 JSP servlet 开发了一个简单的 Web 应用程序。看了各种网站,才知道jsp中应该完全避免使用Scriptlets [view]。

因此,我正在尝试转换为 JSTL。在设置其上下文在web.xml 中可用的SQL 数据源时。事情没有奏效。另外,如何避免在 JSTL 代码中明确提及 db 用户凭据。如果有最好的方法,请分享。提前致谢

JSTL 连接 MySQL

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>    

<sql:setDataSource 
    var="datasource"
    driver="com.mysql.jdbc.Driver"
    url=${initParam['dbURL']
    user=${initParam['dbUser']} 
    pass=${initParam['dbPass']}/>

Web.xml

<context-param>
    <param-name>dbUser</param-name>
    <param-value>root</param-value>
</context-param>
<context-param>
    <param-name>dbPassword</param-name>
    <param-value>root</param-value>
</context-param>
<context-param>
    <param-name>dbURL</param-name>
    <param-value>jdbc:mysql://xxx.xxx.xxx:3306/client_db</param-value>
</context-param>
<context-param>
    <param-name>log4j-config</param-name>
    <param-value>WEB-INF/log4j.xml</param-value>
</context-param>
<error-page>
    <error-code>404</error-code>
    <location>/AppErrorHandler</location>
</error-page>
<error-page>
    <exception-type>java.lang.Throwable</exception-type>
    <location>/AppErrorHandler</location>
</error-page>

<filter>
    <filter-name>AuthenticationFilter</filter-name>
    <filter-class>com.schoolmanager.servlet.filters.AuthenticationFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>AuthenticationFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<session-config>
    <session-timeout>30</session-timeout>
</session-config>

【问题讨论】:

    标签: servlets jstl web-application-project


    【解决方案1】:

    你说得对,在 JSP 页面中存储 db 参数确实不是一个好主意。官方 Java EE 文档也批准了它:

    用于访问表 7-7 中列出的数据库的 JSTL SQL 标记是 专为快速原型设计和简单应用而设计。用于生产 应用程序,数据库操作通常封装在 JavaBeans 组件。

    将连接参数存储在 xml 或 Java 文件中并在纯 Java 中执行所有 db 特定操作的一般想法。要获得这个概念,请检查example

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-03
      相关资源
      最近更新 更多