本地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数据库, ...
随机推荐
- 浅谈.Net和Java互相调用的三种方式
在很多的大型系统开发中,开发工具往往不限制于同一种开发语言,而是会使用多种开发语言的混合型开发.目前Java和.Net都声称自己占85%的市场份 额,不管谁对谁错,Java和.Net是目前应用开发的两 ...
- SCP和SFTP(都使用SSH。但SCP上传不能中断,而SFTP可以续传,这是最大区别)
不管SCP还是SFTP,都是SSH的功能之一.都是使用SSH协议来传输文件的. 不用说文件内容,就是登录时的用户信息都是经过SSH加密后才传输的,所以说SCP和SFTP实现了安全的文件传输. SCP和 ...
- 14.6.3.1 The InnoDB Buffer Pool
14.6.3.1 The InnoDB Buffer Pool InnoDB 保持一个存储区域被称为buffer pool 用于cache数据和索引在内存里, 知道InnoDB buffer pool ...
- struts1 工作原理
struts1的原理和工作流程 struts1的工作原理或者说工作流程: 1.在web应用程序启动就会加载ActionServlet,ActionServlet从配置文件struts-config.x ...
- mysql中的timestamp类型时间比较:unix_timestamp函数
在mysql中,某字段的类型设置为了timestamp,那么我们现在希望取出指定时间段的记录,该如何做呢? 在php中有time()和strtotime()来进行日期和时间戳的格式化,而在mysql中 ...
- js或者cs代码拼接html
一:使用到的jQuery 文档操作方法 html() 设置或返回匹配的元素集合中的 HTML 内容. append() 向匹配元素集合中的每个元素结尾插入由参数指定的内容. empty() 删除匹配的 ...
- HDU-3854 LOOPS
http://acm.hdu.edu.cn/showproblem.php?pid=3853 LOOPS Time Limit: 15000/5000 MS (Java/Others) Memo ...
- css两句话搞定漂亮表格样式
CSS代码: table { background-color:#c0de98; width:500px; height:100px; } td { background-color:#ffffff; ...
- (转)java多线程的一篇好文
云转型基石ThinkServer特性解析 2013-05-29 10:47 佚名 importnew 字号:T | T 本文只是一些针对初学者或者新手的问题,如果你已经具备良好的基础,那么你可以跳过本 ...
- HTTP协议介绍(SERVLET)
本文是servlet的入门篇,主要简单介绍下http协议 1.什么是HTTP _ 1.http协议:_1. 复杂解释: http(超文本传输协议)是一个基于请求与响应模式的.无状态的.应用层的协议 ...