zoukankan      html  css  js  c++  java
  • CentOS 7 配置Tomcat9连接MySQL

    配置Tomcat

    首先安装Tomcat

    安装Tomcat分为安装Tomcat和安装JDK两个步骤

    JDK( Java Development Kit ) 是Sun Microsystems针对Java开发的产品 . 自从Java推出以来 , JDK已经成为使用最广泛的Java SDK . JDK是整个Java的核心 , 他包括了Java运行环境、Java工具和Java基础的类库 .  所以要想运行Java程序必须要有JDK的支持 , 而安装Tomcat的前提也是安装好JDK

    安装JDK

    # 上传完JDK的包之后 , 把它放到/usr/local/目录下 , 然后解压
    [root@DaMoWang ~]# tar xf jdk-10.0.2_linux-x64_bin.tar.gz -C /usr/local/
    [root@DaMoWang ~]# cd /usr/local/
    [root@DaMoWang local]# mv jdk-10.0.2/ jdk10
    # 设置环境变量
    [root@DaMoWang local]# vim /etc/profile
    JAVA_HOME=/usr/local/jdk10/
    JAVA_BIN=/usr/local/jdk10/bin
    JRE_HOME=/usr/local/jdk10/jre
    PATH=$PATH:/usr/local/jdk10/bin:/usr/local/jdk10/jre/bin
    CLASSPATH=/usr/local/jdk10/lib:/usr/local/jdk10/jre/lib/charsets/jar
    [root@DaMoWang local]# source /etc/profile     # 使配置文件生效
    [root@DaMoWang local]# java -version
    java version "10.0.2" 2018-07-17
    Java(TM) SE Runtime Environment 18.3 (build 10.0.2+13)
    Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.2+13, mixed mode)
    # 如果显示的不是java version 而是 openjdk version 那么做如下操作
    [root@DaMoWang local]# mv `which java`{,.bak}
    [root@DaMoWang local]# source /etc/profile
    # 直接使用openjdk也可以

    安装Tomcat

    # 因为是二进制包 , 所以免去了编译的过程 
    [root@DaMoWang ~]# tar xf apache-tomcat-9.0.10.tar.gz 
    [root@DaMoWang ~]# mv apache-tomcat-9.0.10/ /usr/local/tomcat
    [root@DaMoWang ~]# cd /usr/local/tomcat
    [root@DaMoWang tomcat]# bin/startup.sh      # 启动Tomcat

    使用netstat命令查看是否启动成功

    #  正常会有三个端口 8005、8009和8080 , 其中8080为提供web服务的端口 , 8005为管理端口 , 8009为第三方服务调用的端口 , 比如httpd和Tomcat结合时会用到
    [root@DaMoWang tomcat]# netstat -lntp|grep java
    tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      3430/java           
    tcp6       0      0 :::8009                 :::*                    LISTEN      3430/java           
    tcp6       0      0 :::8080                 :::*                    LISTEN      3430/java  

    测试

    配置Tomcat

    Tomcat的安装过程非常简单 , Tomcat的配置其实并不多

    配置Tomcat服务的访问端口

    Tomcat默认启动的端口是8080 , 想要修改则需要修改安装目录下conf/server.xml

    [root@DaMoWang tomcat]# vim conf/server.xml
    #    找到 <Connector port="8080" protocol="HTTP/1.1"  的行 , 比如修改为80
     <Connector port="80" protocol="HTTP/1.1 保存退出
    # 重启Tomcat服务
    [root@DaMoWang tomcat]# bin/shutdown.sh 
    Using CATALINA_BASE:   /usr/local/tomcat
    Using CATALINA_HOME:   /usr/local/tomcat
    Using CATALINA_TMPDIR: /usr/local/tomcat/temp
    Using JRE_HOME:        /usr/local/jdk10
    Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
    NOTE: Picked up JDK_JAVA_OPTIONS:  --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
    [root@DaMoWang tomcat]# bin/startup.sh 
    Using CATALINA_BASE:   /usr/local/tomcat
    Using CATALINA_HOME:   /usr/local/tomcat
    Using CATALINA_TMPDIR: /usr/local/tomcat/temp
    Using JRE_HOME:        /usr/local/jdk10
    Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
    Tomcat started.

    Tomcat的虚拟主机

    [root@DaMoWang tomcat]# vim conf/server.xml 
     # 增加虚拟主机 , 并定义域名, 在</Host>下一行添加新的<Host>
                <Host name="www.damowang.cn" appBase="/data/tomcatweb/"
                    unpackWARs="false" autoDeploy="true"
                    xmlValidation="false" xmlNamespaceAware="false">
                    <Context path="" docBase="/data/tomcatweb/" debug="0" reloadable="true" crossContext="true"/>                                                                                  
                    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                        prefix="damowang.cn_access_log" suffix=".txt"                                                                                                                              
                        pattern="%h %l %u %t &quot;%r&quot; %s %b" />
                </Host>
    # 保存退出
    [root@DaMoWang tomcat]# mkdir -p /data/tomcatweb
    [root@DaMoWang tomcat]# echo "damowang" > /data/tomcatweb/1.html
    # 修改完配置文件之后重启服务
    [root@DaMoWang tomcat]# bin/shutdown.sh 
    [root@DaMoWang tomcat]# bin/startup.sh
    # 用curl访问以下刚才创建的1.html
    [root@DaMoWang tomcat]# curl -x127.0.0.1:8080 www.damowang.cn/1.html    
    damowang

    测试Tomcat解析JSP

    # 创建一个JSP的测试页面
    [root@DaMoWang tomcat]# vim /data/tomcatweb/1.jsp
    <html><body><center>                                                                         
                Now time is: <%=new java.util.Date()%>
            </center></body></html>
    # 查看运行结果
    [root@DaMoWang tomcat]# curl -x127.0.0.1:8080     www.damowang.cn/1.jsp
    <html><body><center>
                Now time is: Fri Jul 27 18:40:46 CST 2018
            </center></body></html>
    # 可以看到中间那段代码被解析成当前系统时间了 , 也可以在物理机上绑定hosts , 用浏览器来测试

    Tomcat连接MySQL

    Tomcat连接MySQL是通过JDBC驱动实现的

    所以需要准备一个包 

    mysql-connector-java 可以去官网下载

    首先配置mysql , 创建测试用的库、表以及用户

    [root@DaMoWang ~]# mysql -uroot -p475541270
    mysql> create database java_test;
    mysql> use java_test
    mysql> grant all on java_test.* to 'java'@'127.0.0.1' identified by 'damowang';
    mysql> create table damowang (`id` int(4), `name` char(40));
    mysql> insert into damowang values (1,'abc');
    mysql> insert into damowang values (2,'aaa');
    mysql> insert into damowang values (3,'ccc');
    #  退出mysql 去验证java用户有没有问题
    [root@DaMoWang ~]# mysql -ujava -pdamowang -h127.0.0.1
    mysql: [Warning] Using a password on the command line interface can be insecure.
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 4
    Server version: 5.7.21 Source distribution
    
    Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> 

    MySQL配置完后接着配置Tomcat相关的配置文件

    [root@DaMoWang ~]# vim /usr/local/tomcat/conf/context.xml 
    #    在</Context> 上面添加以下内容
     <Resource name="jdbc/mytest"  # 可以随便定义,要记住名字,之后会用到
            auth="Container"
            type="javax.sql.DataSource"
            maxActive="100" maxIdle="30" maxWait="10000"
            username="java" password="damowang"    # 数据库的用户和密码
            driverClassName="com.mysql.jdbc.Driver"
            url="jdbc:mysql://127.0.0.1:3306/java_test">  # 数据库的IP、端口以及库名
    </Resource>
    #    编辑完之后还需要改另一个配置文件
    [root@DaMoWang ~]# vim /usr/local/tomcat/webapps/ROOT/WEB-INF/web.xml      #    在</web-app>上面添加
    <resource-ref>
          <description>DB Connection</description>
          <res-ref-name>jdbc/mytest</res-ref-name>  # 和之前定义的Resource name保持一致
          <res-auth>Container</res-auth>
          </resource-ref>

     现在要用到刚才准备好的软件包了

    [root@DaMoWang ~]# tar xf mysql-connector-java-8.0.12.tar.gz -C /usr/src/
    [root@DaMoWang ~]# mv /usr/src/mysql-connector-java-8.0.12/mysql-connector-java-8.0.12.jar /usr/local/tomcat/lib/

    测试

    [root@DaMoWang ~]# vim /usr/local/tomcat/webapps/ROOT/t.jsp
    # java语言写的代码 这个脚本可以去连接我们的数据库
    <%@page import="java.sql.*"%>                                                                
    <%@page import="javax.sql.DataSource"%>
    <%@page import="javax.naming.*"%>
    
    <%
    Context ctx = new InitialContext();
    DataSource ds = (DataSource) ctx 
    .lookup("java:comp/env/jdbc/mytest");
    Connection conn = ds.getConnection();
    Statement state = conn.createStatement();
    String sql = "select * from damowang";
    ResultSet rs = state.executeQuery(sql);
    
    while (rs.next()) {
    out.println(rs.getString("id") +"<tr>");
        out.println(rs.getString("name") +"<tr><br>");
    
    }
    
    rs.close();
    state.close();
    conn.close();
    %>
    # 重启Tomcat
    [root@DaMoWang ~]# /usr/local/tomcat/bin/shutdown.sh 
    [root@DaMoWang ~]# /usr/local/tomcat/bin/startup.sh 

    用浏览器访问

     连接数据库成功 , 并且显示出了java_test库里的damowang表里面的数据

    --求知若饥 虚心若愚
  • 相关阅读:
    小白专场-堆中的路径-python语言实现
    小白专场-堆中的路径-c语言实现
    集合及运算
    哈弗曼树与哈夫曼编码

    线性结构之习题选讲-ReversingLinkedList
    小白专场-是否同一颗二叉搜索树-python语言实现
    微信公众平台开发教程第1篇-新手解惑(转)
    GIT GUI的使用(转)
    Git操作指南(2) —— Git Gui for Windows的建库、克隆(clone)、上传(push)、下载(pull)、合并(转)
  • 原文地址:https://www.cnblogs.com/bigdevilking/p/9380461.html
Copyright © 2011-2022 走看看