NetBeans下配置glassfish服务器
1、首先启动glassfish服务器,在地址栏中输入http://localhost:4848/,进入服务器的配置界面,如下:
2、在Common Tasks下选择Resources的JDBC,可以看到JDBC资源(JDBC Resources)和Connection Pools(连接池),如下:
3、在Connection Pools(连接池)中点击New按钮,建立一个连接池jdbc_test,如下:
点击next,如下:
其他的参数配置保持默认,直接点击Finsh按钮即可。
点击jdbc_test出现如下的配置界面:
General(常规)和Advanced(高级)界面的参数保持默认配置,点击
AdditionalProperties(其他属性)进入配置界面:
点击Add Property(添加属性)
portNumber 3306
driverClass com.mysql.jdbc.Driver
zeroDateTimeBehavior convertToNull
databaseName db_test
User root
URL jdbc:mysql://127.0.0.1:3306/db_test
serverName 127.0.0.0
password admin
transformedBitlsBoolean true
4、配置好后,进入General(常规)配置页面,点击Ping按钮,如果出现如下界面,表示连接池创建成功。
注意:如果此时出现javax.resource.ResourceException: Class name is wrong orclasspath is not set for : com.mysql.jdbc.jdbc2.optional.MysqlDataSource这个错误时候,是因为没有把mysql驱动包mysql-connector-java-5.1.20-bin.jar放入glassfish安装目录domains\domain1\lib\ext下;
解决方法:把mysql驱动包mysql-connector-java-5.1.20-bin.jar放入glassfish安装目录domains\domain1\lib\ext下并重新启动glassfish服务器就可以了。
5、创建连接池成功之后,点击JDBC Resources,在JDBC资源的配置界面中,Pool Name(连接池名称)就会出现刚配置成功的连接池jdbc_test,其配置界面如下:
6、在配置界面的JNDI Name中配置JNDI的名字为jdbc/test(这个名字可以自己取).至此,连接池和数据源都以配置完成。
7、测试数据源是否连接成功:
在NetBeans中新建项目中,使用Java Web类别,选择一个web应用程序的index.jsp的代码如下:
<%@pagecontentType="text/html" pageEncoding="UTF-8"%> <%@ pageimport="javax.naming.*" %> <%@ pageimport="javax.sql.*" %> <%@ pageimport="java.sql.*" %> <html> <head> <title>JSP测试glassfish配置的mysql数据库连接池</title> </head> <body> <h1>测试glassfish配置的mysql数据库连接池</h1> <% Connection conn = null; Statement stmt = null; ResultSet rs = null; ResultSetMetaData md = null; try { Context initCtx = newInitialContext(); DataSource ds = (DataSource)initCtx.lookup("jdbc/test"); if (ds != null) { out.println("已经获得DataSource连接<br>"); out.println(ds.toString() +"<br>"); conn = ds.getConnection(); stmt =conn.createStatement(); out.println("DataSource连接成功!<p>"); rs =stmt.executeQuery("select * from person"); md = rs.getMetaData(); out.println("<tableborder=1 width=80% align=centerbgcolor=#ffdddd>"); out.println("<tr>"); for (int i = 0; i <md.getColumnCount(); i++) { out.println("<td>" + md.getColumnName(i + 1) +"</td>"); } while (rs.next()) { out.println("<tr>"); out.println("<td>" + rs.getString(1) +"</td>"); out.println("<td>" + rs.getString(2) +"</td>"); out.println("<td>" + rs.getString(3) +"</td>"); out.println("</tr>"); } out.println("</table>"); conn.close(); } } catch (Exception e) { out.println(e.toString()); } %> </body> </html>
8、直接运行项目,如果出现如下界面,表示运行成功。