ubuntu下安装tomcat和配置mysql
1.到官网 http://jakarta.apache.org/tomcat-7.0.2.tar.gz 安装文件,JDK假设已经安装完毕,接下来直接安装tomcat-7.0.2.tar.gz
# ls //会发现在当前目录下,多出一个文件夹
apache-tomcat-7.0.2.tar.gz
# mv apache-tomcat-7.0.2
# mv apache-tomcat-7.0.2
3.设置环境变量
# vi ~/.bashrcif [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
//增加下面两个内容,然后保存退出:wq
回车
export CATALINA_BASE=/usr/local/tomcat-7.0.24.验证是否安装成功
# echo $CATALINA_HOME
/usr/local/tomcat-7.0.2如果显示上面内容,OK,已生效。如果不显示,重启一下系统,再试。4.启动服务
我们先看一下tomcat-7.0.2/bin
# ls
bootstrap.jar setclasspath.sh
catalina.50.bat shutdown.bat
catalina.50.sh shutdown.sh
catalina.bat shutdown-using-launcher.bat
catalina.sh shutdown-using-launcher.sh
catalina.xml startup.bat
commons-daemon.jar startup.sh
commons-launcher.jar startup-using-launcher.bat
commons-logging-api.jar startup-using-launcher.sh
cpappend.bat tomcat5w.exe
digest.sh tool-wrapper.bat
jmx.jar tool-wrapper.sh
jsvc.tar.gz tool-wrapper-using-launcher.bat
LauncherBootstrap.class tool-wrapper-using-launcher.sh
launcher.properties version.bat
service.bat version.sh
setclasspath.bat
//我们要注意这个文件:startup.sh#./startup.sh
Using CATALINA_BASE: /usr/local/jakarta-tomcat-5.0.28
Using CATALINA_TMPDIR: /usr/local/jakarta-linux现在所开的端口:
# netstat –l是不是多了个8080端口呢!这个就是tomcat的Web页面了。
如果还没看到,那就把放火墙关了。
# service iptables stop
清除防火墙规则:[ 确定 ]
把 chains 设置为 ACCEPT 策略:filter [ 确定 ]
正在卸载 Iiptables 模块:[ 确定 ],好了。这次绝对没问题了。5.tomcat-7.0.2/bin/startup.sh这样在系统重启后就可以自动启动tomcat-7.0.2/bin
# ./shutdown.sh
Using CATALINA_BASE: /usr/local/tomcat-7.0.2
Using CATALINA_TMPDIR: /usr/local/tomcat-7.0.2/bin/bootstrap.jar:/usr/local/tomcat-juli.jar7.独立环境的测试 (1) 测试Java的运行状况,如下命令:
java -version
javac -version
看到版本号则表示JDK安装成功
(2) 测试Apache的运行状况,如下命令:
/etc/rc.d/init.d/httpd restart ## 重新启动Apache Server
使用任意一浏览器,输入服务器地址后回车,应该可以看到Apache的默认主页 (3) 测试Jakarta-tomcat安装目录下面的bin目录
./startup.sh ## 启动jakarta-tomcat-4.1.24的默认主页
例如: http://localhost:8080
./shutdown.sh
## 关闭jakarta-linux下面安装tomcat-7.0.2/conf/
<user
name="root" password="admin"
roles="manager-gui"/>?
<role
rolename="admin-gui"/>
<user username="admin" password="admin"
roles="admin-gui"/>
用户 root 是管理:Status和Tomcat Manager的。
用户
admin 是管理:Host
Manager的。
保存后重新启动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>的上一行添加你想创建用户的用户名,密码,以及所需要分配的权限。
不过要依照下面添加用户的格式,填写之后保存文件即可。
然后在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
MySQL数据库程序和JDBC驱动的下载在http://dev.mysql.com/downloads/
弄好mysql-connector-java-3.1.13-bin.jar以后在jsp程序中可以通过Class.forName("com.mysql.jdbc.Driver");
来载入驱动。默认情况下的数据库地址是jdbc:mysql://localhost:3306/。(3306可以省掉不写)
1.下载JDBC驱动程序
www.mysql.com/downloads/中寻找connectors, 然后网页左侧有connector/J 点击会出现供选择的tar.gz和zip文件下载下载.tar.gz文件
2.展开刚刚下载的文件(mysql-connector-java-5.0.6.tar.gz)
tar zxvf mysql-connector-java-5.0.6.tar.gz
3.配置连接文件
将刚刚展开的mysql-connector-java-5.0.6 中的mysql-connector-java-5.0.6-bin.jar文件拷贝到上面安装的jdk 和 tomcat下的lib文件夹中
- cd mysql-connector-java-5.0.6
- cp ./mysql-connector-java-5.0.6-bin.jar ~/jdk/lib (可以不需要)
- cp ./mysql-connector-java-5.0.6-bin.jar ~/tomcat/lib (必须要)
4.在编写Ubuntu jsp平台过程中连接数据库可以用以下格式:
- Class.forName("com.mysql.jdbc.Driver").newInstance();
- Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/数据库名","用户名","密码");
- Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
- String sql = "select * from 数据库名";
- ResultSet rs = stmt.executeQuery(sql);
七.测试
sudo -shpassword启动 mysql 服务:#/etc/init.d/mysql start启动tomcat 服务:#/home/tomcat/bin/startup.sh创建测试用的数据库和表:#/mysql -u root -ppassword
- mysql> create database test;
- mysql> use test;
- mysql> create table test (test1 VARCHAR(20), test2 VARCHAR(20));
- mysql> insert into test (test1,test2) values ('a','b');
- //检查是否已经加入测试信息
- mysql> show databases;
- mysql> show tables;
- mysql> select * from test;
在/home/jinye/tomcat/webapps/ROOT下创建一个新的空文件,起名为test.Ubuntu jsp平台,写入代码
测试程序代码如下:
- <%@ page c%>
- <%@ page import="java.util.*"%>
- <%@ page import="java.sql.*"%>
- <%Class.forName("com.mysql.jdbc.Driver").newInstance();
- Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/test","root","666nnn");
- Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
- String sql = "select * from test";
- ResultSet rs = stmt.executeQuery(sql);
- while(rs.next()){ %>
- 您的第一个字段内容为:<%=rs.getString(1)%>
- 您的第二个字段内容为:<%=rs.getString(2)%>
- <%}%>
- <%out.print("数据库操作成功,恭喜您");%>
- <% rs.close();
- stmt.close();
- conn.close();
- %>
打开firefox浏览器,输入网址: http://localhost:8080/test.Ubuntu jsp平台 看到刚才在命令行中创建的测试表中的信息。