应该连接到easyphp服务器上的phpmyadmin数据库在用户数据库上插入一条记录,所有这些都通过glassfish服务器通过Web服务进行,但这不会发生
netbeans说glassfish正在运行,因为它只有停止,删除或重启服务器的选项,但'start'选项显示为灰色
package Java;
import javax.jws.WebService;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.DriverManager;
/**
*
* @author Laplet Repair
*/
@WebService(serviceName = "AddUser")
public class AddUser {
private Statement statement = null;
private PreparedStatement preparedStatement = null;
private ResultSet resultSet = null;
private Connection connect = null;
public void readDataBase() throws Exception {
try {
// This will load the MySQL driver, each DB has its own driver
Class.forName("com.mysql.jdbc.Driver");
// Setup the connection with the DB
connect = DriverManager
.getConnection("jdbc:mysql://localhost:3306/conquest_of_the_fates_user?zeroDateTimeBehavior=convertToNull"
+ "user=root&password=");
// Statements allow to issue SQL queries to the database
statement = connect.createStatement();
// PreparedStatements can use variables and are more efficient
preparedStatement = connect
.prepareStatement("insert into feedback.comments values (default, ?, ?, ?)");
// "myuser, webpage, datum, summery, COMMENTS from feedback.comments");
// Parameters start with 1
preparedStatement.setString(1, "username");
preparedStatement.setInt(2, 5);
preparedStatement.setString(3, "password");
preparedStatement.executeUpdate();
resultSet = statement
.executeQuery("select * from feedback.comments");
} catch (Exception e) {
throw e;
} finally {
close();
}
}
// You need to close the resultSet
private void close() {
try {
if (resultSet != null) {
resultSet.close();
}
if (statement != null) {
statement.close();
}
if (connect != null) {
connect.close();
}
} catch (Exception e) {
}
}
}
这是错误日志
java.lang.RuntimeException:com.sun.enterprise.v3.admin.AdminAdapter.onMissingResource(AdminAdapter.java:266)中的java.io.IOException,位于org.glassfish.grizzly.http.server.StaticHttpHandlerBase.service(StaticHttpHandlerBase . java:189)at com.sun.enterprise.v3.services.impl.ContainerMapper $ HttpHandlerCallable.call(ContainerMapper.java:459)at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java: 167)org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201)org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175)org.glassfish.grizzly .http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)位于org.glassfish.grizzly.filterchain.ExecutorResolver $ 9.execute(ExecutorResolver.java:119)org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain . java:284)org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)at org.glassfish.grizzly . filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)atg.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)at org orrag.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0上的.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561) (WorkerThreadIOStrategy.java:117)org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access $ 100(WorkerThreadIOStrategy.java:56)org.glassfish.grizzly.strategies.WorkerThreadIOStrategy $ WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)at org .glassfish.grizzly.threadpool.AbstractThreadPool $ Worker.doWork(AbstractThreadPool.java:565)at org.glassfish.grizzly.threadpool.AbstractThreadPool $ Worker.run(AbstractThreadPool.java:545)
1 回答
您应该在glassfish管理控制台上配置"JDBC Resource" "JDBC Connection pool"到您的MySQL数据库How to setup a JDBC connection in Glassfish
您可能需要在以下位置部署MySQL jdbc实现库:glassfish-install-path \ domains \ domain-name \ lib
并创建一个EJB Singleton来检索连接: