zoukankan      html  css  js  c++  java
  • Tomcat应用部署

    背景

    记录一次使用tomcat搭建java应用的过程

    工程环境

    1. java应用(基于java1.7开发)
    2. jdk1.7
    3. tomcat-8.5.xx
    4. oracle12

    搭建步骤

    工具安装

    java 安装

    1. java下载安装不做赘述,自行百度
    2. 环境变量配置
    • CLASSPATH(java应用类搜索路径) .;%JAVA_HOME%lib ools.jar;%JAVA_HOME%libdt.jar;
    • PATH(应用程序加载路径) ;%JAVA_HOME%in
    1. 验证java是否安装成功,cmd运行java -version

    tomcat 安装

    1. 下载地址:https://tomcat.apache.org/download-80.cgi 下载后解压即可使用
    2. 环境变量配置
    • CATALINA_HOME(tomcat批处理文件搜索路径,也可在start.bat目录下配置,此处不配置,.bat不要随意移动位置,否则会出现搜索不到tomcat的问题)
    • CLASSPATH(可省略) D: omcatlibjsp-api.jar;D: omcatlibservlet-api.jar;
    1. 运行tomcat
    1. 目的:登录Manager控制台,管理应用程序或给应用程序授权
    2. 切换到tomcat/conf/目录下,在tomcat-users.xml的...中添加如下内容
    <tomcat-users>
      <role rolename="manager-gui"/>
      <user username="username" password="password" roles="manager-gui"/>
    </tomcat-users>
    
    1. 访问Manager APP
    1. 遇到的问题
    • tomcat启动时,命令窗口中文乱码

    切换到tomcat/conf/目录下,将logging.properties 中 java.util.logging.ConsoleHandler.encoding = utf-8改为java.util.logging.ConsoleHandler.encoding = GBK

    切换到tomcat/conf/目录下,将server.xml 中默认端口8080改为未使用的端口即可,如下:

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    

    配置文件

    配置tomcat/conf/web.xml

    1. web.xml作用
    1. 修改tomcat访问权限

    此步骤是为了启动服务时,tomcat能够访问应用目录下的所有文件
    将tomcat/conf/web.xml修改如下

        <servlet>
            <servlet-name>default</servlet-name>
            <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
            <init-param>
                <param-name>debug</param-name>
                <param-value>0</param-value>
            </init-param>
            <init-param>
                <param-name>listings</param-name>
                <param-value>true</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup>
        </servlet>
    

    配置tomcat/conf/server.xml(重要)

    1. server.xml作用
    1. 增加<Context>来添加工程路径dosBase

    在<Host>...</Host>内增加如下代码:

    <Context path="" docBase="D:AppStore" debug="0" reloadable="false" privileged="true"/>
    

    注意目录层级,docBase目录下必须有WEB-INF文件,且和下图层级一致,否则无法加载工程应用
    path:应用上下文路径,即访问 :port/path/,可以为空,不为空必须以'/'开头
    docBase:可以是绝对路径也可以是相对路径
    reloadable:扫描WEB-INF目录下class和lib中的jar包是否有更新,以此判断是否重启服务

    1. 修改<Host>中应用程序加载路径appBase
    <Host name="localhost"  appBase="D:appstore"
          unpackWARs="true" autoDeploy="true">
    

    appBase,即存放应用程序的目录
    注意目录层级,appBase目录下必须有WEB-INF文件

    配置tomcat/conf/context.xml(重要)

    1. context.xml作用
    1. 修改<Context>来添加应用程序路径

    添加如下代码(注意结尾没反斜杠噢

    <Context path="" docBase="D:AppStore" debug="0" reloadable="false" privileged="true">
    
    1. 增加<Resourses>来添加JNDI数据源

    在<Context>...</Context>内添加如下内容

    <!-- name,指定JNDI名称 -->
    <!-- auth,表示认证方式,一般为Container -->
    <!-- maxIdle,连接池中最多可空闲连接数 -->
    <!-- maxWaitMillis,连接池中连接用完时,新的请求等待时间,单位毫秒 -->
    <!-- username,password,数据库用户名/密码 -->
    <!-- driverClassName,jdbc驱动 -->
    <!-- url,数据库url地址 -->
    <Resource name="/jdbc/WebData" type="javax.sql.DataSource"
            auth="Container" 
    	maxTotal="10000"
    	maxWaitMillis="150"
    	maxIdle="10"
    	driverClassName="com.P6Driver"
    	url="jdbc:oracle:thin:@127.0.0.1:1521:oracle"
    	username="admin"
    	password="admin"/>
    	<Resources cachingAllowed="true" cacheMaxSize="100000"/>
    

    更多释义见大佬博客https://www.cnblogs.com/xyhero/p/9343924.html

    部署应用

    第一种方式:将应用程序放置在tomcatwebapps应用目录下

    1. 将应用程序放置在tomcatwebapps目录下
    2. 将对应版本的驱动包(jar包)放置在tomcat>lib目录下,数据库版本与驱动包版本必须一致
    3. 在context.xml中配置数据源

    第二种方式:修改appBase,将应用程序放置在appBase目录下

    1. 修改server.xml中appBase,将应用程序放置在appBase目录下
    2. 将对应版本的驱动包(jar包)放置在tomcat>lib目录下,数据库版本与驱动包版本必须一致
    3. 在context.xml中配置数据源

    第三种方式:增加docBase,将应用程序放置在docBase目录下

    1. 在context.xml增加docBase,将应用程序放置在docBase目录下
    2. 将对应版本的驱动包(jar包)放置在tomcat>lib目录下,数据库版本与驱动包版本必须一致
    3. 在context.xml中配置数据源

    第四种方式:自定义web部署文件

    1. 新建tomcatconfcatalinalocalhost文件夹,新建xml文件,在xml中写入:
    <Context path="/web" docBase="E:	omcatweb" debug="0" privileged="true"></Context>
    
    1. 多个应用程序添加多个xml文件,以应用程序文件名命名即可
    2. 将应用程序放置在docBase目录下
    3. 将对应版本的驱动包(jar包)放置在tomcat>lib目录下,数据库版本与驱动包版本必须一致
    4. 在context.xml中配置数据源
  • 相关阅读:
    国庆七天乐——第二天
    国庆七天乐——第一天
    线段树+树状数组+分块+循环展开 的模板
    AOE网络——求关键路径
    最小生成树模板+并查集(隐藏)+结构体排序模板
    并查集模板
    最短路径模板总结
    newifi mini将led指示灯引出当gpio使用
    openwrt 无线中继
    笔记本硬盘盒改装台式机硬盘盒
  • 原文地址:https://www.cnblogs.com/xiaohuboke/p/14218796.html
Copyright © 2011-2022 走看看