我正在使用Tomcat 6.0,我想知道如何配置Tomcat的server.xml文件以连接到mysql数据库,并在java中启用基于表单的身份验证。
我目前正在使用mysql 5.1,我已经下载了mysql连接器jar文件,并放入了Tomcat的lib目录。
答案 0 :(得分:4)
我猜你想让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,但你的资源应该看起来像这样)。
有关详细信息,请尝试检查JNDI Resources和JDBC DataSources上的Tomcat文档。
答案 1 :(得分:3)
通常,context.xml和server.xml是分开的,您通常在Web应用程序级别配置数据源,即在该Web应用程序的上下文中。原因是数据源不是连接到服务器而是连接到服务器内的数据库,并且让多个应用程序访问同一个数据库并不总是一个好主意(如果你没有为此设计应用程序)
那就是说,看看this tomcat wiki page,它描述了你想要的东西(或我想你想要的东西)。
要进行身份验证,请查看this thread on velocity reviews。