J2EE环境搭建(三)配置Tomcat 7.0的局部数据源

2024-05-26 11:08

本文主要是介绍J2EE环境搭建(三)配置Tomcat 7.0的局部数据源,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在J2EE环境搭建(一)中遗留下一个配置Tomcat数据源的问题,最近都在专心搞iOS的东西,由于J2EE布置了作业,所以又回过头来搞下J2EE。汗。。。

在这里我使用的是MySQL。


1.配置MySQL的JDBC驱动

(1)下载MySQL的JDBC驱动,这里用的是mysql-connector-java-5.1.17-bin.jar。

(2)将该jar文件复制到Web应用的lib目录下。



2.下载安装MySQL

这里要求MySQL的版本在5.1以上,我安装的是mysql-essential-5.1.65-win32.msi。

在安装时选择Custom方式,到达配置时选择GBK编码方式,用户名root(默认),密码123456(自定吧)。

在安装完成后,可以打开MySQL安装目录下的my.ini文件进行查看修改:


例如这里的端口号是3306,默认的字符编码方式为GBK等。

然后在环境变量中配置数据库的路径:

%PATH%; F:\software\J2EE\MySQL\bin


之后可以打开MySQL的命令行查看,打开方式有多种:

方法一:可以在开始菜单中搜索MySQL,然后打开MySQL Command Line Client。



打开后输入密码123456即可:




方法二:也可以将bin目录下的mysql.exe(直接打开的话会闪退)复制一个快捷方式到某个盘中例如F盘,然后用cmd打开。注意直接输入mysql.exe由于没有密码是被拒绝访问的,因此必须输入用户名和密码:


然后输入

mysql> select version(), current_date; 
可以查看版本信息和当然日期。

输入

mysql>quit

可以退出MySQL程序,当然输入exit可以直接退出命令行窗口。



3.建立一个数据库和表

可以通过MySQL语句建立,可以通过sql成批处理导入脚本,也可以用图形界面的MySQL管理软件导入。

下面说说前面两种方法:

方法一:通过MySQL语句建立

像2那样打开mysql.exe,然后输入下列命令

1)创建并选择数据库javaee

mysql> CREATE DATABASE javaee;
mysql> USE javaee;
2)在javaee数据库中创建表格news_inf

mysql>create table news_inf
->( news_id int primary key auto_increment,
-> news_title varchar(255));
3)往表格news_inf中插入数据

mysql>insert into news_inf values
->(null , 'Jimmy Lee'),
->(null , 'is SB');
4)查看数据库的内容

mysql> USE javaee;
mysql> SHOW TABLES;

可以看到javaee中多了一个表格news_inf。


如果要删除数据库javaee,可以输入

drop database javaee;


方法二:直接导入脚本

首先建立一个sql文件,代码如下:

drop database javaee;
create database javaee;
use javaee;create table news_inf
(news_id int primary key auto_increment,news_title varchar(255)
);insert into news_inf
values
(null , 'Jimmy Lee'),
(null , 'is SB');
将该文件复制到一个便于使用的路径,例如F盘目录下。
然后打开mysql.exe,输入

mysql>source f:/test.sql;
之后可以看到命令行窗口输入Query OK等信息。



4.部署程序和配置局部数据源

(1)将程序部署到Tomcat中,方法有多种,在(一)中已经说过,这里不再赘述。

首先看看jsp程序的代码:

<%--
网站: <a href="http://www.crazyit.org">疯狂Java联盟</a>
author  yeeku.H.lee kongyeeku@163.com
version  1.0
Copyright (C), 2001-2012, yeeku.H.Lee
This program is protected by copyright laws.
Program Name:
Date: 
--%><%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
<%@ page import="javax.naming.*,java.sql.*,javax.sql.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>测试Tomcat数据源</title>
</head>
<body>
<%
//初始化Context,使用InitialContext初始化Context
Context ctx=new InitialContext(); 
/*
通过JNDI查找数据源,该JNDI为java:comp/env/jdbc/dstest,分成两个部分
java:comp/env是Tomcat固定的,Tomcat提供的JNDI绑定都必须加该前缀
jdbc/dstest是定义数据源时的数据源名
*/
DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/dstest");
//获取数据库连接
Connection conn=ds.getConnection();
//获取Statement
Statement stmt=conn.createStatement();
//执行查询,返回ResulteSet对象
ResultSet rs=stmt.executeQuery("select * from news_inf");
while(rs.next())
{out.println(rs.getString(1) + "\t" + rs.getString(2) + "<br/>");
}
%>
</body>
</html>
这里直接使用了疯狂Java一书作者李刚先生的例子代码。这里的局部数据源对应的JNDI自定义名字为jdbc/dstest。


(2)修改当前工程的WEB-INF目录下的web.xml文件,在web元素中添加以下子元素:

<Resource name="jdbc/dstest" 
auth="Container"
type="javax.sql.DataSource" 
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/javaee"
username="root" 
password="123456" 
maxActive="5"
maxIdle="2" 
maxWait="10000"/>

其中name指定JNDI名字,driverClassName为该JNDI的类型。url指定其路径(3306为MySQL程序的端口,javaee为要访问的数据库),username和password要和自定的用户名密码匹配。其他信息以上代码注释已有详细说明。

作用是为本工程配置一个JNDI(Java命名和目录接口,用于为自己创建的Java对象命名)。

立即运行的话,会发现如下错误:

org.apache.jasper.JasperException: javax.servlet.ServletException: javax.naming.NameNotFoundException: Name jdbc is not bound in this Context
原因在于创建的JNDI在Tomcat的Context上下文环境中找不到该变量的声明。


3)配置Tomcat的context.xml

因此还需要在Tomcat的conf目录下的context.xml中加入以上Resource元素。有些资料说还要在Catalina/localhost目录新建一个相应的xml文件,经验证是不需要的,这里参考了TOMCAT配置数据源。


现在重启Tomcat的startup.bat,再打开本程序,即可看到数据库javaee中的news_inf表格中的内容:




以上是为Tomcat 7.0配置局部数据源的方法,也就是该数据源仅限于某一个工程中的程序使用,如果需要配置全局数据源,那么必须修改Tomcat的server.xml文件,引用教材的话:这样做可能导致破坏Tomcat系统,所以应该尽量避免使用全局数据源。

这篇关于J2EE环境搭建(三)配置Tomcat 7.0的局部数据源的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1004296

相关文章

最新版IDEA配置 Tomcat的详细过程

《最新版IDEA配置Tomcat的详细过程》本文介绍如何在IDEA中配置Tomcat服务器,并创建Web项目,首先检查Tomcat是否安装完成,然后在IDEA中创建Web项目并添加Web结构,接着,... 目录配置tomcat第一步,先给项目添加Web结构查看端口号配置tomcat    先检查自己的to

Apache Tomcat服务器版本号隐藏的几种方法

《ApacheTomcat服务器版本号隐藏的几种方法》本文主要介绍了ApacheTomcat服务器版本号隐藏的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1. 隐藏HTTP响应头中的Server信息编辑 server.XML 文件2. 修China编程改错误

Mycat搭建分库分表方式

《Mycat搭建分库分表方式》文章介绍了如何使用分库分表架构来解决单表数据量过大带来的性能和存储容量限制的问题,通过在一对主从复制节点上配置数据源,并使用分片算法将数据分配到不同的数据库表中,可以有效... 目录分库分表解决的问题分库分表架构添加数据验证结果 总结分库分表解决的问题单表数据量过大带来的性能

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

Servlet中配置和使用过滤器的步骤记录

《Servlet中配置和使用过滤器的步骤记录》:本文主要介绍在Servlet中配置和使用过滤器的方法,包括创建过滤器类、配置过滤器以及在Web应用中使用过滤器等步骤,文中通过代码介绍的非常详细,需... 目录创建过滤器类配置过滤器使用过滤器总结在Servlet中配置和使用过滤器主要包括创建过滤器类、配置过滤

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

在Spring中配置Quartz的三种方式

《在Spring中配置Quartz的三种方式》SpringQuartz是一个任务调度框架,它允许我们定期执行特定的任务,在Spring中,我们可以通过多种方式来配置Quartz,包括使用​​@Sche... 目录介绍使用 ​​@Scheduled​​ 注解XML 配置Java 配置1. 创建Quartz配置

Spring Boot实现多数据源连接和切换的解决方案

《SpringBoot实现多数据源连接和切换的解决方案》文章介绍了在SpringBoot中实现多数据源连接和切换的几种方案,并详细描述了一个使用AbstractRoutingDataSource的实... 目录前言一、多数据源配置与切换方案二、实现步骤总结前言在 Spring Boot 中实现多数据源连接

Kibana的安装和配置全过程

《Kibana的安装和配置全过程》Kibana是一个开源的数据分析和可视化平台,它与Elasticsearch紧密集成,提供了一个直观的Web界面,使您可以快速地搜索、分析和可视化数据,在本文中,我们... 目录Kibana的安装和配置1.安装Java运行环境2.下载Kibana3.解压缩Kibana4.配