本地tomcat访问mysql数据库
虽然以前经常听人说起过tomcat,但是今天头一次使用tomcat。
1.Tomcat的安装过程:
首先应该从Apache官方网站上下载是用于Windows的.zip压缩包.
下面是相应的下载链接:
http://apache.etoak.com/tomcat/tomcat-7/v7.0.42/bin/apache-tomcat-7.0.42-windows-x64.zip
由于LZ的主机是64位的,所以就下载64位的apache tomcat版本。
在下载压缩包之后,在指定的路径下进行解压即可。
2.环境变量的设置
想在本地上运行tomcat的前提是已经安装好JDK了,
并且已经在环境变量的系统变量设置中将JAVA_HOME设置成功的基础上,
接下来就是设置TOMCAT_HOME了,
具体的操作如下图所示:
右键单击我的电脑,选择属性选项。
对于设置TOMAT_HOME是这样的,
环境变量设置之后,接下来就是通过XML文档对tomcat的相关属性
进行相应的设置了。
3.通过XML文件对Tomcat进行配置
Tomcat作为APache开源项目之一,与其他开源项目在文件夹以及路径的设置上面都是十分相似的。
Tomcat的配置文件夹为conf,进入到conf文件夹中之后可以发现有
server.xml
tomcat-users.xml
web.xml,
等一些其他类型的配置文件。
在这里我们只需要修改一下tomcat-users.xml这两个配置文件,
其余的配置文件不需要修改的。
如果想要修改端口号的话,是需要更改server.xml这个配置文件的。
在根据自身的情况对端口号进行修改之后,可以启动一下tomcat来查看一下情况。
进入到tomcat的bin这一个子目录的下面,
就会看到startup.bat由于当前的工作系统是windows的,
所以双击startup.bat就可以正常开启tomcat了。
如果主机系统是Linux的话呢,输入命令sh startup.sh
就可以启动tomcat了,不过在此之前需要将权限更改为777的。
对于LZ来说一开始启动tomcat后会出现console一闪而过的情况,
一开始还以为是tomcat的版本有些问题。
后来更换版本之后,问题依然存在,
于是打算查看一下一闪而过的控制台上面出现了什么信息提示。
如果能使控制台显示可以停留一下就可以看到提示信息了,
右键单击startup.bat,选择编辑按键,
然后进入到.bat的编辑面板上面。
在最后一行上面添加:
PAUSE
这样就查看控制台的提示信息了。
根据控制台的提示信息,得知原来是JAVA_HOME没有写在环境变量中。
原因是这个样子的,因为LZ使用的是NetBeans的开发环境,
所以,不必改写或是添加JAVA_HOME java程序也是照常可以运行的。
/*关于W7中的console
因为IDE环境中本身就会提供一个控制台,这个控制台应该是于当前操作系统是分开的。
而且W7的OS中的DOS并不是我们普遍所说的DOS系统,
它只是在模拟仿真DOS,而非是在W7中内嵌入DOS系统。
LZ的cmd窗口在切换路径的时候,并不会接收,于是使用power shell
来代替cmd窗口接收命令。
那就是开始->所有程序->附件 windows power shell->Windows PowerShell(x86)
选择这个就可以了。
接下来就会弹出一个类似于DOS的命令行界面,往里面输入命令,控制台就会全部接收了。
在LZ看来,运行对应的console应该是W7模拟的DOS操作系统的控制台所编写的,
因为是模拟的,所以具体的执行权限根据用户的身份权限有关系,LZ的W7是家庭版本所以权限有限,
并不能控制到当前W7系统的全部。
*/
在配置好JAVA_HOME之后呢,就可以再次运行tomcat了,
其实按照LZ的理解吧,tomcat实质上使用java 语言编写的,
是许多个.class文件的集合,当然为了加载方便这些.class文件已经被打包成了.jar文件。
所以如果想让它正确的运行的话,
也就是在tomcat运行的一开始,tomcat会上系统变量中寻找到JAVA_HOME
在当前系统中的路径,然后根据路径(JAVA_HOME)找到java的相应编辑器,
就是可以识别以及解析.class/.jar文件的相关程序。
然后通过该程序对.class/.jar文件进行加载,运行,这样下来的话tomcat就被成功的运行了。
4.开启tomcat
对于server.xml文件在未经过修改的情况下,
对于本地连接的端口号默认为8080,
所以在配置好了tomcat之后,可以通过浏览器对其进行检查。
通过双击startup.bat;
可以看到如下的显示说明tomcat运行成功:
打开Internet Explorer之后,在对应的地址栏中输入
5.Tomcat实现与数据库进行连接:
实现与数据库相连接,必须在tomcat中进行
创建一个用户然后设定登录密码,然后为其分配相关的权限。
使用记事本打开方式打开tomcat-users.xml文件。
在</tomcat-users>的前一行有如下内容:
<!--
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
-->
</tomcat-users>
根据上面的文档说明去掉注释前后的符号:""<!---->""
然后添加一个用户,这个用户在创建并分配密码和权限之后,
可以使用该用户名和密码来登录到mysql中,
登录mysql之后以该用户身份创建数据库,和数据库表。
这样tomcat就可以对其进行访问了。
去掉注释后,在</tomcat-users>的上一行添加你想创建用户的用户名,密码,以及所需要分配的权限。
不过要依照下面添加用户的格式,填写之后保存文件即可。
<user username="root2" password="zhu" roles="admin,manager"/>
然后在mysql中以该用户名称登录:
mysql -uroot2 -hlocalhost -p(enter)
Enter password: ***
不过LZ在这个地方进行的并不顺利, 于是改变了一下方法:
以root的身份进入到mysql中,
查看一下数据库中的所有用户的信息:
select user,host from mysql.user;
(不过这个是创建用户root2之后的截图)
create database school;
然后在mysql中创建与server.xml
同样的用户名以及登录密码所在主机名称并且针对数据库school
将与tomcat中的配置文件server.xml相同的信息用于mysql的数据库创建中,
create user "root2"; grant all on school to root2@localhost identified by "zhu";
这样的话,就以mysql和tomcat 就有了同样的用户名以及登陆密码,
这样的话,tomcat就可以很顺理成章的以root2的身份 登陆并访问mysql中的school database了,
又因为在mysql创建用户 root2 的时候 ,分配全部的对school数据库的权限了,
所以可以通过jsp来通过tomcat对数据库进行创建表,删除,更新等等的一些操作了。
那么,如何知道tomcat已经可以成功的连接到数据库了呢?
可以写一小段的.jsp代码来进行测试一下,
首先在路径下面创建一个记事本文件,然后调整属性让文件显示隐含文件类型名称,
将"新建文本文件.txt"修改为 "testjdbc.jsp",
接下来,我们对该testjdbc.jsp进行相应的编写:
打开文件testjdbc.jsp,向文件中添加如下内容:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML>
<BODY>
<% String driver="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost:3306/school"; // 连接到 school 数据库 String userid="root2"; // 用户
String passwd="zhu"; // 密码 try{
Class.forName(driver);
}
catch(Exception e){
out.println(" 无法载入 "+driver+" 驱动程序 !");
e.printStackTrace();
} try {
Connection con=DriverManager.getConnection(url,userid,passwd);
if(!con.isClosed())
out.println(" 成功连接数据库 !");
con.close();
}
catch(SQLException SQLe){
out.println(" 无法连接数据库 !");
} %>
</BODY>
</HTML>
用户名及登录密码还有所要连接的数据库可以根据实际的情况进行修改的,
既然jsp文件已经写好了,那么如何将其加载到tomcat
对其进行运行测试呢?
应该是将该testjdbc.jsp文件放到tomca的
\webapps\ROOT\的下面,接下来在Internet Exploer中的地址栏中输入:
http://localhost:8080/testjdbc.jsp
根据jsp脚本的编写,如果成功的连接到的mysql的话,就会有:
成功连接数据库!
这样的提示信息。
如果连接数据库失败的话:
无法连接数据库!
这样的提示信息。
如果总是连接失败的话,应该检查一下是否需要下载个mysql-connector什么的。
6.小结
这次在搭建tomcat的过程中学习到了很多知识,
个人觉得XML文档在开源项目中作为配置文档真的占有很大的比重,
如果有时间的话会专门系统的学习XML的一些语法规则的。
而且hive中的数据库的配置文件也是以XML写的。
其实,这次试验的目的是想要在本地搭建一个POJ平台的,
结果搭建后才知道,下载的POJ平台压缩包仅仅是个OJ,
相应的题集并不包含在其中的,最后虽然是正常显示了POJ的页面,
但是tomcat报了很多的错误,就LZ目前的水平看不懂tomcat报的那些错误的,
然后也懒得去apache的官网上面去查一些相关的报错信息,so....无奈的收工了。
LZ觉得吧......
POJ平台的搭建并不是很难,就是步骤比较的复杂,
而复杂的原因则是由于POJ平台系统中的许多环境变量是比较死板的,
没有任何的根据本地机器自动适配的优化措施。
例如tomcat只能安装在D:\盘的下面,
mysql也只能安装在D:\盘的下面。并且默认的8080端口必须要更改为80端口,等等。
用了整整一天,但是已经接触到了一直都想理解的tomcat了,还是很开心的。
下回还是专心AC吧,呵呵。
本地tomcat访问mysql数据库的更多相关文章
- Linux上通过MySQL命令访问MySQL数据库时常见问题汇总
Linux上通过mysql命令访问MySQL数据库时常见问题汇总 1)创建登录账号 #创建用户并授权 #允许本地访问 create user 'test'@'localhost' identified ...
- 【python小记】访问mysql数据库
题记: 最近因为工作需要,学习了python,瞬间对这个轻松快捷的语给吸引了,以前只知道js脚本是写网页的,没有想到python这个脚本语言的应用范围可以这么广泛,现在做一些简单或稍微复杂的操作,基本 ...
- java文件来演示如何访问MySQL数据库
java文件来演示如何访问MySQL数据库. 注:在命令行或用一个SQL的前端软件创建Database. 先创建数据库: CREATE DATABASE SCUTCS; 接着,创建表: CREATE ...
- PHP访问MySql数据库介绍
在网站后台,经常要与数据库打交道.本文介绍如何使用XAMPP来管理MySql数据库及如何用PHP来访问MySql数据库. 一.使用XAMPP来管理MySql数据库 首先使用XAMPP打开MySql的管 ...
- C#连接、访问MySQL数据库
一.准备工具 visual stuido(本示例使用visual studio 2010) MySql.Data.dll mysql_installer_community_V5.6.21.1_set ...
- 在Eclipse中使用JDBC访问MySQL数据库的配置方法
在Eclipse中使用JDBC访问MySQL数据库的配置方法 分类: DATABASE 数据结构与算法2009-10-10 16:37 5313人阅读 评论(10) 收藏 举报 jdbcmysql数据 ...
- C#访问MySQL数据库(winform+EF)
原文:C#访问MySQL数据库(winform+EF) 以前都是C#连接SQLServer,现在MySQL也比较火了,而且是开源跨平台的,这里连接使用一下,主要是体会一下整个流程,这里使用的是winf ...
- Spring Boot入门(六):使用MyBatis访问MySql数据库(注解方式)
本系列博客记录自己学习Spring Boot的历程,如帮助到你,不胜荣幸,如有错误,欢迎指正! 本篇博客我们讲解下在Spring Boot中使用MyBatis访问MySql数据库的简单用法. 1.前期 ...
- html页面通过http访问mysql数据库中的内容,实现用户登录的功能
需求: 通过html编写用户登录页面,页面内容包括用户名.密码和登录按钮,点击登录后访问login.php文件,使用按钮默认的submit提交用户名和密码,在login.php中访问mysql数据库, ...
随机推荐
- VLD(Visual LeakDetector)内存泄露库的使用
VLD简介 由于C/C++语言没有所谓的垃圾收集器,内存的分配和释放都需要程序员自己来控制,这会给C/C++程序员带来一定的困难.当您的程序越来越复杂时,它的内存管理也会变得越来越困难.内存泄漏.内存 ...
- 此集合已经采用方案 http 的地址。此集合中每个方案中最多只能包含一个地址。
错误信息:此集合已经采用方案 http 的地址.此集合中每个方案中最多只能包含一个地址.如果服务承载于 IIS 中,则可以通过将“system.serviceModel/serviceHostingE ...
- [LeetCode#253] Meeting Rooms II
Problem: Given an array of meeting time intervals consisting of start and end times [[s1,e1],[s2,e2] ...
- 去掉eclipse js 错误提示
1.去掉项目目录底下的.project文件中的以下部分:<buildCommand> <name>org.eclipse.wst.jsdt.core.javascri ...
- dotfuscator使用方法
dotfuscator如何对.net程序进行混淆保护对于程序代码的保护,网上有很多资料,有的说混淆,有的说加密,我比较支持混淆的方法,这样可以让反编译劳工,头晕一阵子,哈哈开玩笑.对于加密如果不是不得 ...
- 在QTP中使用DOM
大家对DOM应该都不陌生,它在网页制作中有广泛的应用.如果我们想在QTP中使用DOM模型需要通过Page对象的Object属性来实现.注意,QTP11才有良好的DOM支持操作,这里用百度首页做例子. ...
- 新图形API为unity5 带来了什么&下一代新图形API的好处
西瓜的演讲ppt翻译+解释+其他: wolf96 在最基本的层面上,这些新api是为了改进CPU性能和效率,通过:减少CPU渲染瓶颈的情况,提供更多可预测和稳定的驱动的行为,给应用程序更多控制,就像在 ...
- 冒泡排序原理(BubbleSorted)
//简单的冒泡排序public class BubbleMath { public static void main(String[] args) { //分清楚数组的头和尾,开始为尾,最后为头,因为 ...
- IronPython fail to add reference to WebDriver.dll
在使用Ironpython引用WebDriver程序集做web自动化时碰到这个问题,出问题的代码很简单,如下: import sys import clr clr.AddReferenceToFile ...
- 局域网内linux由ip反解析主机名