【发布时间】:2010-03-18 08:55:46
【问题描述】:
我正在使用 Tomcat 6.0,我想知道如何配置 Tomcat 的 server.xml 文件以连接到 mysql 数据库,并在 java 中启用基于表单的身份验证。
我现在用的是mysql 5.1,已经下载了mysql连接器jar文件,放到Tomcat的lib目录下。
【问题讨论】:
标签: java mysql authentication tomcat forms-authentication
我正在使用 Tomcat 6.0,我想知道如何配置 Tomcat 的 server.xml 文件以连接到 mysql 数据库,并在 java 中启用基于表单的身份验证。
我现在用的是mysql 5.1,已经下载了mysql连接器jar文件,放到Tomcat的lib目录下。
【问题讨论】:
标签: java mysql authentication tomcat forms-authentication
我猜你希望 Tomcat 创建到 MySQL 数据库的连接池。在这种情况下,您不需要配置 server.xml 文件。在 context.xml 文件中,您需要添加一个 <Resource> 元素,如下所示:
<Resource name="jdbc/MySQLPool" auth="Container" type="javax.sql.DataSource"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
maxActive="100" maxIdle="30" maxWait="10000"
username="USERNAME" password="PASSWORD"
driverClassName="com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource"
url="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=Cp1251"
removeAbandoned="true" />
(我不确定这是否是 MySQL 的正确 driverClassName,但您的资源应该看起来像这样)。
有关更多信息,请尝试查看 Tomcat 在 JNDI Resources 和 JDBC DataSources 上的文档。
【讨论】:
通常 context.xml 和 server.xml 是分开的,您通常在 Web 应用程序级别配置数据源,即在该 Web 应用程序的上下文中。原因是数据源连接的不是服务器而是服务器中的数据库,并且让多个应用程序访问同一个数据库并不总是一个好主意(如果您没有为此设计应用程序) .
也就是说,看看this tomcat wiki page,它描述了你想要什么(或者我认为你想要什么)。
如需认证,请查看this thread on velocity reviews。
【讨论】: