如何在tomcat服务器上部署带有mysql数据库的java web应用程序
我已经用数据库mysql在eclipse中创建了java web应用程序。但现在我必须在tomcat服务器中部署该web应用程序。我知道如何在没有数据库的情况下部署web应用程序,但需要数据库方面的帮助。如何在tomcat服务器上部署带有mysql数据库的java web应用程序,java,mysql,database,eclipse,tomcat,Java,Mysql,Database,Eclipse,Tomcat,我已经用数据库mysql在eclipse中创建了java web应用程序。但现在我必须在tomcat服务器中部署该web应用程序。我知道如何在没有数据库的情况下部署web应用程序,但需要数据库方面的帮助。 提前感谢。这里有两种情况: 您可以使用简单的JDBC和Class.forName(),直接在代码中定义连接——在这种情况下,您只需要确保包含驱动程序的jar位于类路径中,并且它应该可以工作 这是首选方法-并使用JNDI API在代码中调用它: InitialContext ic = new I
提前感谢。这里有两种情况:
Class.forName()
,直接在代码中定义连接——在这种情况下,您只需要确保包含驱动程序的jar位于类路径中,并且它应该可以工作InitialContext ic = new InitialContext();
DataSource ds = (DataSource)ic.lookup("jdbc/testDS");
conn = ds.getConnection();
在contex.xml中,使用--tag我们可以连接到任何数据库,在Java Web应用程序中获得JDBC连接的主要方法有两种
config
目录中的context.xml文件中完成
示例Context.xml条目
<Resource name="jdbc/EmployeeDB"
auth="Container"
type="javax.sql.DataSource"
username="dbusername"
password="dbpassword"
driverClassName="org.hsql.jdbcDriver"
url="jdbc:HypersonicSQL:database"
maxActive="8"
maxIdle="4"/>
手动创建
在代码中手动创建连接更简单,但是由于其可移植性,建议使用JNDI
手动示例
public class MysqlConnect{
public static void main(String[] args) {
Connection conn = null;
String url = "jdbc:mysql://localhost:3306/";
String dbName = "jdbctutorial";
String driver = "com.mysql.jdbc.Driver";
String userName = "root";
String password = "root";
try {
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url+dbName,userName,password);
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
在为这两种情况进行部署时,在类路径中具有适当的JDBC驱动程序是很重要的。您是在代码中指定连接还是使用jndi?我使用代码提供连接…@KMB385您完全不清楚要问什么。请澄清:1.)您是否为实时环境设置并部署了MySQL数据库?2.)数据库中是否有正确的内容(表、行等)?你能连接到它吗?4.)您可以访问数据吗?哪一步你有问题吗?1)是的,我有mysql数据库设置2)是的,我有所有正确的内容,如数据库中的表等3)是的,我可以通过我的web应用程序连接到它插入,更新和删除tha db数据4)我可以访问th数据。现在我在为部署创建.war文件时遇到了最后一步的问题。如何添加到mysql db文件?我使用了第二个选项连接到mysql db,因此可以告诉我如何部署我的web应用程序吗?部署真的没有什么特别之处,只需确保在类路径中有驱动程序。您是否收到了特定错误?我想使我的mysql db文件可移植,以便将其添加到.war文件中,就像mssql server.mdf文件一样。这并没有提供问题的答案。若要评论或要求作者澄清,请在他们的帖子下方留下评论-你可以随时在自己的帖子上发表评论,一旦你有足够的评论,你就可以发表评论。我认为这对于任何可能是本地或远程的db来说都是完美的
public class MysqlConnect{
public static void main(String[] args) {
Connection conn = null;
String url = "jdbc:mysql://localhost:3306/";
String dbName = "jdbctutorial";
String driver = "com.mysql.jdbc.Driver";
String userName = "root";
String password = "root";
try {
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url+dbName,userName,password);
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}