Tomcat8.0+Mysql5.7配置jndi

第一步:下载mysql数据库的jdbc驱动,Connector/J,下载解压后的jar放到tomcat安装路径的lib下,不要放错到bin下咯。

第二步:创建数据库,这里数据库名为testdb,mysql数据库名不区分大小写,默认小写,就最好小写咯。CREATE DATABASE `testdb`  DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

第三步:eclipse中创建Dynamic Web Project项目,项目名testjndi,内容如下:

整个WEB-INF/web.xml文件内容如下:



  test
  
    index.jsp
  
  
  
    jdbc/testjndi
    javax.sql.DataSource
    Container


整个WebContent/index.jsp文件内容如下:( 自己手写很容易把包引错

<%@page import="javax.naming.InitialContext"%>
<%@page import="javax.sql.DataSource"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>




Insert title here


	<%
		out.print("MySQL 数据源测试开始..." + "
"); DataSource ds = null; try { InitialContext ctx = new InitialContext(); ds = (DataSource) ctx.lookup("java:comp/env/jdbc/testjndi"); Connection conn = ds.getConnection(); conn.close(); out.print("MySQL 数据源测试成功!"); } catch (Exception ex) { out.print("出现意外,信息是:" + ex.getMessage()); ex.printStackTrace(); } %>



第4步:修改tomcat/conf/context.xml,整个文件内容如下,其中 这段是新加的,注意红色字体,其中jdbc/testjndi和jsp和web.xml中保持一致。




    WEB-INF/web.xml
    ${catalina.base}/conf/web.xml

	 


第五步:eclipse tomcat中启动项目,运行http://localhost:8080/testjndi/,如下图

Tomcat8.0+Mysql5.7配置jndi_第1张图片


备注一:如果运行得到:Cannot create JDBC driver of class '' for connect URL 'null',请再检查你的context.xml,是否配置正确,尤其是看Resource name属性是否为jdbc/testjndi和url是否正确,eclipse中clean项目会重新生成配置,具体看eclipse的配置情况

备注二:网上还有一种在tomcat\conf\server.xmtomcat\conf\Catalina\localhost下配置方式:

1.整个localhost\项目名.xml内容如下:注意这个文件是手动添加的,文件名名称为项目名



2.部分server.xml内容如下:是在中加Context,在Context中加Resource,Resource内容和上面是一致的,如果eclipse中tomcat配置合适是自动生成的,只需加Resource

Tomcat8.0+Mysql5.7配置jndi_第2张图片

3.eclipse tomcat中启动项目,运行http://localhost:8080/testjndi/,完成


备注三:eclipse_tomcat_默认配置如下图:

Tomcat8.0+Mysql5.7配置jndi_第3张图片

删除eclipse中的tomcat,server。重新建server,配置tomcat如下图,此种配置方式是最佳实践,会少许多bug,默认的在eclipse工作空间中,路径太深:

Tomcat8.0+Mysql5.7配置jndi_第4张图片


备注四:我的标题是Tomcat8.0+Mysql5.7配置jndi,其实和tomcat、msql、jdk,版本没有关系,只是开始在这个配置没弄出来,后来换低版本弄出来了,然后又在高版本配置好了。

备注五:更完整资源已上传到百度云中。

备注六:最新发现,不用在tomcat/conf/context.xml中配置Resource,直接如下图,很方便。

Tomcat8.0+Mysql5.7配置jndi_第5张图片






你可能感兴趣的:(Tomcat8.0+Mysql5.7配置jndi)