精华内容
下载资源
问答
  • 小编典典您需要实现ServletContextListner接口,并在其中启动要在tomcat启动时执行的代码。这是有关它的简短描述。ServletContextListner在javax.servlet包中。这是有关如何执行的简短代码。public class ...

    小编典典

    您需要实现ServletContextListner接口,并在其中启动要在tomcat启动时执行的代码。

    这是有关它的简短描述。

    ServletContextListner在javax.servlet包中。

    这是有关如何执行的简短代码。

    public class MyServletContextListener implements ServletContextListener {

    @Override

    public void contextDestroyed(ServletContextEvent arg0) {

    //Notification that the servlet context is about to be shut down.

    }

    @Override

    public void contextInitialized(ServletContextEvent arg0) {

    // do all the tasks that you need to perform just after the server starts

    //Notification that the web application initialization process is starting

    }

    }

    并且您需要在部署描述符web.xml中对其进行配置

    mypackage.MyServletContextListener

    2020-06-16

    展开全文
  • 找到的解决方式1、在tomcat/bin/shutdown.sh文件中增加一个参数在文件最后一行的命令添加一个force exec "$PRGDIR"/"$EXECUTABLE" stop -force "$@"2、在tomcat/bin/catalina.sh脚中,加入下面这三行在这一行后面 ...

    找到的解决方式

    1、在tomcat/bin/shutdown.sh文件中增加一个参数

    在文件最后一行的命令添加一个force exec "$PRGDIR"/"$EXECUTABLE" stop -force "$@"

    2、在tomcat/bin/catalina.sh脚中,加入下面这三行

    在这一行后面   PRGDIR=`dirname "$PRG"`

    if [ -z "$CATALINA_PID" ]; then

    CATALINA_PID=$PRGDIR/CATALINA_PID

    cat $CATALINA_PID

    fi

    3、在tomcat/bin/下面新建setenv.sh文件,文件内容如下:

    #!/bin/bash

    CATALINA_PID=$CATALINA_HOME/bin/CATALINA_PID

    -----------------------------------------------------------------------------------------------------

    猜测原因如下:

    linux的线程是通过进程实现的。 2.6内核32位系统上 gcc -static编译出来的程序 会让多线程表现成多进程的状态,出现同名多个PID 不带-static就表现为只有一个PID 64位系统,不管加不加-static,都只有一个PID 感觉32位和64位在线程的实现不一样。

    欢迎各路大神解惑

    以下为解决问题中发现的有价值的帖子。

    偶尔发现linux下tomcat启动后出现多个java进程,如下: 000 S     0  4789     1  0  85   0    - 75083 schedu pts/1    00:00:03 java 040 S     0  4790  4789  0  75   0    - 75083 schedu pts/1    00:00:00 java 040 S     0  4791  4790  0  75   0    - 75083 schedu pts/1    00:00:03 java 040 S     0  4792  4790  0  75   0    - 75083 rt_sig pts/1    00:00:00 java 040 S     0  4793  4790  0  75   0    - 75083 rt_sig pts/1    00:00:00 java 040 S     0  4794  4790  0  78   0    - 75083 rt_sig pts/1    00:00:00 java 040 S     0  4795  4790  0  75   0    - 75083 rt_sig pts/1    00:00:02 java 040 S     0  4796  4790  0  78   0    - 75083 rt_sig pts/1    00:00:00 java 040 S     0  4797  4790  0  75   0    - 75083 schedu pts/1    00:00:00 java 040 S     0  4802  4790  0  75   0    - 75083 schedu pts/1    00:00:00 java 040 S     0  4803  4790  0  80   0    - 75083 rt_sig pts/1    00:00:00 java 040 S     0  4804  4790  0  80   0    - 75083 rt_sig pts/1    00:00:00 java 040 S     0  4805  4790  0  80   0    - 75083 rt_sig pts/1    00:00:00 java 040 S     0  4806  4790  0  80   0    - 75083 rt_sig pts/1    00:00:00 java 040 S     0  4807  4790  0  80   0    - 75083 rt_sig pts/1    00:00:00 java 040 S     0  4808  4790  0  80   0    - 75083 rt_sig pts/1    00:00:00 java 040 S     0  4809  4790  0  80   0    - 75083 rt_sig pts/1    00:00:00 java 040 S     0  4810  4790  0  80   0    - 75083 rt_sig pts/1    00:00:00 java 大概有40多个,感觉好恐怖,在网上查了半天也没有什么结果,只是发现了主进程子进程的关系。 和做C的同事讨论后,他说发现mysql也有类似情况: PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND  6238 mysql     25   0 49272  12m 2020 S  0.0  5.0   0:00.30 mysqld  6239 mysql     18   0 49272  12m 2020 S  0.0  5.0   0:00.00 mysqld  6240 mysql     25   0 49272  12m 2020 S  0.0  5.0   0:00.00 mysqld  6241 mysql     24   0 49272  12m 2020 S  0.0  5.0   0:00.00 mysqld  6242 mysql     24   0 49272  12m 2020 S  0.0  5.0   0:00.00 mysqld  6243 mysql     25   0 49272  12m 2020 S  0.0  5.0   0:00.00 mysqld  6245 mysql     18   0 49272  12m 2020 S  0.0  5.0   0:00.01 mysqld 后来查mysql多进程的时候有高手回答如下: 原来如此啊,linux的线程是通过进程实现的。 2.6内核32位系统上 gcc -static编译出来的程序 会让多线程表现成多进程的状态,出现同名多个PID 不带-static就表现为只有一个PID 64位系统,不管加不加-static,都只有一个PID 感觉32位和64位在线程的实现不一样

    ---------------------

    作者:winderain

    来源:CSDN

    原文:https://blog.csdn.net/winderain/article/details/2592619

    版权声明:本文为博主原创文章,转载请附上博文链接!

    1、在tomcat/bin/shutdown.sh文件中增加一个参数

    在文件最后一行的命令添加一个force exec "$PRGDIR"/"$EXECUTABLE" stop -force "$@"

    2、在tomcat/bin/catalina.sh脚中,加入下面这三行

    if [ -z "$CATALINA_PID" ]; then

    CATALINA_PID=$PRGDIR/CATALINA_PID

    cat $CATALINA_PID

    fi

    3、在tomcat/bin/下面新建setenv.sh文件,文件内容如下:

    #!/bin/bash

    CATALINA_PID=$CATALINA_HOME/bin/CATALINA_PID

    ---------------------

    作者:脚踏一方土

    来源:CSDN

    原文:https://blog.csdn.net/Diaochengrui1989/article/details/81669372

    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • 在实际的项目中,有时我们需要用到负载均衡配置,需要处理多个tomcat,但是如果每个tomcat中都使用同样代码的应用程序,会显得很臃肿,我们可以将这个应用程序给单独的提出来作为每一个tomcat服务器共享一个使用。...

    在实际的项目中,有时我们需要用到负载均衡配置,需要处理多个tomcat,但是如果每个tomcat中都使用同样代码的应用程序,会显得很臃肿,我们可以将这个应用程序给单独的提出来作为每一个tomcat服务器共享一个使用。

    第一种方式,把应用放到一个公共目录,修改server.xml中配置

    bc7fdfc03a181785f939cc7c3cabcadc.gif

    name 表示机器ip地址,默认本机是localhost,appBase是应用程序目录,可以指定一个绝对位置

    如果在负载均衡处理中使用多个tomcat需要修改各个tomcat的server,内容同上。

    然后把你的应用程序放在指定的webapps目录下,当然你也可以将tomcat中默认的webapps应用程序一起拷贝过来,示例如下

    bc7fdfc03a181785f939cc7c3cabcadc.gif

    bc7fdfc03a181785f939cc7c3cabcadc.gif

    启动两个tomcat的日志记录如下

    bc7fdfc03a181785f939cc7c3cabcadc.gif

    这种方式还有另外一种配置方法,如下图配置

    bc7fdfc03a181785f939cc7c3cabcadc.gif

    第二种方式:不修改Server.xml文件

    使用默认的 配置

    在apache-tomcat-8.0.20\conf\Catalina 下新建localhost目录,并新建一个xml文件,譬如你的应用程序为http:localhost:8080/DemoWeb,那么你的xml文件为DemoWeb.xml

    文件内容为以下配置,在docBase中最好使用绝对位置,在linux中使用 / 斜线,与Windows不同,然后将这个xml文件拷贝到apache-tomcat-7.0.52的相同目录结构下

    bc7fdfc03a181785f939cc7c3cabcadc.gif<?xml  version="1.0" encoding="UTF-8"?>   

    启动日志如下

    bc7fdfc03a181785f939cc7c3cabcadc.gif

    Java开发中的reloadable设置

    为了在开发时,让tomcat能够自动重新加载,我们修改过的代码和配置,需要对Tomcat的context.xml文件进行设置。在标签中,加上reloadable属性,并且将值设为true

    展开全文
  • tomcat启动加载war包非常慢甚至卡死 下面两种方式都要添加上,速度会很快,启动妙级 Tomcat环境 可以通过配置JRE使用非阻塞的Entropy Source。 在catalina.sh中加入这么行: JAVA_OPTS="-Djava....

    下面两种方式都添加上,启动速度会很快

    1. tomcat环境

      在catalina.sh中加入这么一行:

      JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom"

      加入后再启动Tomcat,整个启动耗时迅速下降

    2. jvm环境

    打开$JAVA_PATH/jre/lib/security/java.security这个文件(可以使用 find / -name java.security 查找java.security文件

    securerandom.source=file:/dev/urandom
    替换成
    securerandom.source=file:/dev/./urandom

     

     

    展开全文
  • 本文主要为大家分析几种Tomcat启动失败的原因以及解决方法,详情如下:情况: 运行Tomcat启动文件startup.bat,弹出黑窗口,直接闪退。失败原因分析:这种情况一般都是没有配置JAVA_HOME导致的,配置jdk如果没有...
  • 假设我们有两个web项目需要启动测试,想用一个tomcat同时启动两个,那么这时候在idea上设置tomcat端口的时候我们只需要把两个web项目所用的tomcat端口设置成不一样就行
  • Tomcat启动与执行流程

    2021-03-04 17:04:02
    什么是容器?容器就是程序运行时需要的环境。...Tomcat就是一个开源的Servlet容器,也是一个web容器—用于处理静态html,css等。接着介绍一下Tomcat的架构,如下图 1.server层代表整个servlet容器.
  • 20-Jan-2021 19:01:22.656 严重 [Catalina-utility-1] org.apache.catalina.core.StandardContext.startInternal 一个或多个筛选器启动失败。完整的详细信息将在相应的容器日志文件中找到 20-Jan-2021 19:01:22.656 ...
  • 、静态部署静态部署指的是我们在服务器启动之前部署我们的程序,只有当服务器启动之后,我们的Web应用程序才能访问。以下3中方式都可以部署:1、将PetWeb目录拷贝到$CATALINA_HOME\webapps下,然后启动服务器就...
  • 偶尔发现linux下tomcat启动后出现多java进程,如下:000 S 0 4789 1 0 85 0 - 75083 schedu pts/1 00:00:03 java040 S 0 4790 4789 0 75 0 - 75083 schedu pts/1 00:00:00 java040 S 0 4791...
  • 使用Intellij idea 其发动tomcat时会配置启动vm options :-Xms128m -Xmx768m -XX:PermSize=64M -XX:MaxPermSize=512m。但是这些参数到底是什么意思呢? 有时候参数设置大小会出现内存泄漏的问题:OOM(“Out of ...
  • 把多web工程copy到tomcat的webapps路径下2. 修改conf/service.xml配置文件3. 在conf\Catalina\localhost路径下给每web工程新建xml配置文件 1. 把多web工程copy到tomcat的webapps路径下 访问url:...
  • 通常,我的Tomcat实例启动没有任何问题.但是,当我向“预览”Web应用程序添加新过滤器时,该应用程序无法启动:09-Jun-2011 12:23:49 org.apache.catalina.core.StandardContext startSEVERE: Error filterStart09-Jun-...
  • tomcat 用sh startup.sh启动没有日志输出,需要切换到logs目录看日志太麻烦解决方案:在tomcat =》bin目录下 catalina.sh编辑找到:else"$_RUNJAVA" "$LOGGING_CONFIG" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS ...
  • tomcat启动javaweb程序404

    2021-08-18 12:00:57
    解决思路: 1.先考虑tomcat能不能正常启动(此时端口已经被占用,记得先停掉java web应用)然后去tomcat文件夹bin目录下...这是我遇到的问题的解决思路,至于怎么解决,比如怎么导入war包,怎么配置tomcat,搜下来的.
  • Tomcat启动时报错:Web应用程序[ROOT]似乎启动一个名为[SeedGenerator Thread]的线程,但未能停止它。这很可能会造成内存泄漏。
  • tomcat启动与关闭

    2021-07-25 10:56:51
    tomcat经过对应版本的下载解压后应该怎样启动呢? 1.找到tomcat下的bin目录下的startup.bat文件,双击就可以启动tomcat服务器了 2.打开命令行,cd到bin目录下,转化盘,最后输入命令catalina run即可 如何检测...
  • 今天遇上一个bug,打开myeclpse的工作空间,显示报错,重新更新maven,启动tomcat发现项目起不来。查询了一系列的资料之后,发现可能是java build path 和deployment assembly有一方面有问题了 java build path :...
  • 部署在 Linux 服务器上边的 Tomcat服务通常在项目更新的时候需要重新启动,但是会由于各种原因,导致 Tomcat 启动失败,本文将以Linux 发行版 centOS 7 系统为例介绍两种 Tomcat 启动失败时的问题排查思路通常情况下 ...
  • 有几件事你应该做,把线程标记为一个守护进程线程,所以它至less不会在错误情况下捆绑tomcat,并且当你的servlet上下文被销毁时,你应该停止执行器(例如,当你重新部署或停止你的应用程序。要做到这一点,使用一个...
  • Tomcat启动和停止及问题分析解决 1)启动和停止 Tomcat服务器的启动文件在二进制文件...第一个问题:启动一闪而过 原因:没有配置环境变量。 解决办法:配置上JAVA_HOME环境变量 第二个:Address already in use : JVM_
  • 问题描述 ...Tomcat命令行运行的时候,无法实时看到运行日志信息,当启动出错的时候,无法及时排错,如图所示: 解决方法 命令行通过catalin程序运行,如下所示: > bin/catalina.sh run
  • 严重 [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployWAR 部署 Web 应用程序 archive [/apache-tomcat-9.0.39/webapps/xxxx.war] 时出错 java.lang.IllegalStateException: 启动子级时出错 at...
  • 原文如下:linux本地检测如何tomcat是否启动成功?解决方法:1.curl 127.0.0.1:8080第可以知道本地是否可以访问tomcat,返回页面代码2.tail -f ./catalina.out查看tomcat的logs目录下的catalina.out文件,看到末尾...
  • tomcat启动多实例

    2020-12-29 02:27:23
    最近在玩jenkins+maven+git,用jenkins构建好jenkins的war包后想看看构建的war包能不能用,于是想着在台机器上面启动个tomcat实例。首先,来看看解压后的tomcat根目录中含有什么东西吧:bin 目录:包含所有运行...
  • 当前位置:我的异常网» J2EE»java.io.FileNotFoundException: D:\MyEclipse\apacjava.io.FileNotFoundException: D:\MyEclipse\apache-tomcat-(另一个程序正在使用此文件,进程无法访问。)解决思路...
  • 今天和大家学习解决一下tomcat启动时黑窗口闪而过的问题当我们下载并解压好tomcat安装包之后,当点击startup.bat命令时,tomcat并没有按照正常的方式进行启动,而是出现了黑窗口,并且闪而过,这是为什么呢?...
  • Tomcat无法成功启动

    2021-03-16 12:33:29
    步骤:cmd输入:输入 netstat -ano步骤二:netstat -aon|findstr "端口号"步骤三:tasklist|findstr "查询出的 listening"步骤四:taskkill /f /t /im 查询出占用程序名称这是新手经常会犯的错误,只要注意三点...
  • 启动tomcat并查看日志发现启动到webapps/ROOT时卡住 Apr 09, 2019 4:27:12 PM org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["ajp-bio-8009"] Apr 09, 2019 4:27:12 PM org.apache...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 374,194
精华内容 149,677
关键字:

tomcat怎么启动一个程序