我刚刚踏上JSP.我开始编写简单的程序来显示日期,系统信息.然后我尝试连接MySQL database我有一个免费托管帐户,但我无法连接到MySQL数据库.这是我的代码:
<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<html>
<head>
<title>Connection with mysql database</title>
</head>
<body>
<h1>Connection status</h1>
<%
try {
String connectionURL = "jdbc:mysql://mysql2.000webhost.com/a3932573_product";
Connection connection = null;
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager.getConnection(connectionURL, "a3932573_dibya", "******");
if(!connection.isClosed())
out.println("Successfully connected to " + "MySQL server using TCP/IP...");
connection.close();
}catch(Exception ex){
out.println("Unable to connect to database.");
}
%>
</font>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我收到消息,因为连接状态无法连接到数据库.我PHP使用相同的用户名,密码和数据库名称测试了此连接.我哪里弄错了?
我有使用Spring,Hibernate,Tomcat7和MySql的java Web应用程序.我使用Datasource进行数据库操作.我不清楚加载jar文件(Tomcat-jdbc.jar&Mysql-connector.jar)的标准位置是什么?它的工作原理,如果我保持双方的罐子无论是在CATALINA_HOME/lib/或webapps/myApp/WEB-INF/lib.但我被告知只使用CATALINA_HOME/lib /中的Tomcat-jdbc和mysql-connector.jarfrom /WEB-INF/lib/,它给出了一个ClassNotFoundException Sql Driver.有人能告诉我这些罐子的正确位置吗?
<bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="${db.url}" />
<property name="username" value="${db.username}" />
<property name="password" value="${db.password}" />
<property name="initialSize" value="${db.initialSize}" />
<property name="minIdle" value="${db.minIdle}" />
<property name="maxActive" value="${db.maxActive}" />
<property name="maxIdle" value="${db.maxIdle}" />
<property name="testWhileIdle" value="${db.testWhileIdle}" />
<property name="minEvictableIdleTimeMillis" value="${db.minEvictableIdleTimeMillis}" />
<property name="timeBetweenEvictionRunsMillis" value="${db.timeBetweenEvictionRunsMillis}" />
<property name="validationQuery" value="${db.validationQuery}" />
</bean>
Run Code Online (Sandbox Code Playgroud) 它们是否需要在每次查询后关闭并在每次查询开始时初始化?
我有一个简单的Web应用程序,有几个jsp页面,servlet和pojo.我想在发出任何请求之前初始化连接池.做这个的最好方式是什么?可以在应用程序首次部署时完成,还是必须等到第一个请求进入?
我之前从未连接过java中的数据库.我是否应该知道是否应该使用servlet访问derby数据库?
我检查了这个:如何从我的servlet或JSP访问数据库? 但我看到文章上的评论说这是一种糟糕的连接方式.任何人都可以解释或告诉我最好的方法,我应该编码访问我的德比数据库?
非常感谢你.
我的Web应用程序中的数据库连接存在严重问题.由于我从singleton Database类为整个应用程序使用单个数据库连接,如果我尝试并发数据库操作(两个用户),数据库将回滚事务.这是我使用的静态方法:
所有线程/ servlet都调用静态Database.doSomething(...)方法,这些方法又调用以下方法.
private static /* synchronized*/ Connection getConnection(final boolean autoCommit) throws SQLException {
if (con == null) {
con = new MyRegistrationBean().getConnection();
}
con.setAutoCommit(true); //TODO
return con;
}
Run Code Online (Sandbox Code Playgroud)
管理这个数据库连接的推荐方法是什么,所以我不会遇到同样的问题.
java ×4
jdbc ×4
servlets ×3
database ×1
datasource ×1
derby ×1
jsp ×1
mysql ×1
postgresql ×1
tomcat ×1