`

tomcat 启动初始化一个线程

阅读更多
web.xml:


<listener>
<listener-class>com.fk.MyServletContentListener</listener-class>
</listener>



listener:


public class MyServletContentListener implements ServletContextListener {

ServerThread st = null;

public void contextInitialized(ServletContextEvent sce) {
// 重写的contextInitialized方法
sce.getServletContext().log("[fiker.Server] Start ServerThread.");

st = new ServerThread();
st.start();

sce.getServletContext().log("[fiker.Server] ServerThread starting succ...");
}

public void contextDestroyed(ServletContextEvent sce) {
// 重写的contextDestroyed方法
sce.getServletContext().log("[fiker.Server] Stop ServerThread.");

st.setFlag(false);

sce.getServletContext().log("[fiker.Server] ServerThread stop succ...");
}


}





serverThread:
public class ServerThread extends  Thread {
private boolean flag=true;
ServerSocket ss;
public void run(){
try {
ss=new ServerSocket(9999);
} catch (IOException e) {
// TODO Auto-generated catch block
this.setFlag(false);
e.printStackTrace();
}
Socket s;
while(flag)
{
try {
s=ss.accept();
} catch (IOException e) {
// TODO Auto-generated catch block
this.setFlag(false);
e.printStackTrace();
}
}

}
public void setFlag(boolean flag) {
this.flag = flag;
}

}
分享到:
评论

相关推荐

    tomcat启动时,在后台自动执行一线程

    在Tomcat中,我们可以通过编写一个Servlet类并将其配置在web.xml文件中,使得在Tomcat服务器启动时自动加载并初始化这个Servlet。 要实现在Tomcat启动时自动执行的Servlet,我们需要在Servlet的`init()`方法中添加...

    tomcat 启动报APR based Apache Tomcat Native library not found

    - 源码:如果你正在对Tomcat进行深入研究或自定义构建,理解源码中的AprLifecycleListener类和其初始化过程有助于解决问题。 - 工具:解决问题可能需要使用一些工具,如编译器(如GCC)来编译APR库,或使用系统包...

    eclipse启动tomcat内存泄漏解决

    - **初始化堆内存与最大堆内存**:`-Xms64m -Xmx4096m`,这里设置的最小内存为64M,最大为4096M。如果应用程序本身占用的内存不大,可以适当减少这些值,避免浪费资源。 - **永久代大小**:`-XX:PermSize=32m -XX:...

    TOMCAT源码分析(启动框架)

    3. **初始化Connector**:每个Connector初始化时,会创建Acceptor线程,监听指定端口等待客户端连接。 4. **加载Catalina**:Tomcat的核心组件Catalina开始加载,创建Engine、Host和Context对象。同时,会读取`WEB-...

    TOMCAT的启动.rar

    - 首先,Tomcat读取`server.xml`配置文件,初始化必要的组件和服务。 - 接着,Tomcat会加载`WEB-INF/web.xml`文件,这是每个Web应用程序的部署描述符,定义了Servlet、过滤器和监听器等。 - 然后,Tomcat创建并...

    tomcat9 源码学习

    2. **生命周期管理**:Tomcat中的每个组件都有其特定的生命周期,包括初始化、启动、暂停、恢复、停止和销毁。了解这些状态转换有助于理解服务的启动和关闭过程。 3. **容器概念**:在Tomcat中,容器是一个可以包含...

    解决tomcat5.5以上不能用命令行启动的问题

    这些脚本会执行一些初始化任务,包括设置环境变量、加载JVM参数、初始化类加载器以及启动服务器。 问题可能出现在以下几个方面: 1. **环境变量配置**:确保`JAVA_HOME`和`CATALINA_HOME`环境变量已正确设置。`...

    Tomcat5启动流程与配置详解 .

    - 加载`$CATALINA_HOME/bin/bootstrap.jar`初始化Tomcat,并执行`Main`方法。 - 加载`$JAVA_HOME/lib/tools.jar`,Sun的工具类,包括编译JSP为Servlet的工具类。 - **Common**: - 这个目录下的类虽然对Tomcat和...

    Tomcat启动参数及监控参数配置

    - `-Xms`:初始堆大小,如`-Xms512m`表示初始化时分配512MB内存。 - `-Xmx`:最大堆大小,如`-Xmx1024m`限制堆的最大值为1GB。 - `-XX:MaxPermSize`:非堆内存大小,对于Java 8之前的版本。 - `-XX:Metaspace...

    Tomcat源码学习:一个最简单的“Tomcat”

    1. **服务器启动流程**:从启动脚本开始,理解如何初始化服务器环境,加载配置文件,创建并启动线程池等。 2. **容器概念**:Tomcat中的Container接口及其实现,如Engine、Host、Context和Wrapper,它们如何组织和...

    tomcat 7.0.42 聊天一对一,多对多实现

    这个类可能包含了配置Tomcat、初始化Servlet、设置监听器以及启动服务器的相关代码。通过阅读和分析这个类,我们可以更深入地理解整个聊天系统的架构和工作流程。 总之,这个基于Tomcat 7.0.42的聊天应用展示了如何...

    web监听端口(Socket服务随web启动而启动)

    4. **使用后台线程**:在Web应用的初始化阶段,你可以启动一个新的后台线程来运行Socket服务。这样,即使Web请求处理完毕,Socket服务也能持续运行。 无论采用哪种方法,都要确保Socket服务的端口不会与Tomcat的...

    Tomcat深入剖析pdf+源码(Tomcat运行原理)

    3. **Servlet生命周期**:Servlet在Tomcat中的生命周期包括加载、初始化、服务、销毁四个阶段。Tomcat通过Servlet容器管理Servlet实例,确保其正确地创建、初始化和销毁。 4. **请求处理**:当一个HTTP请求到达时,...

    Tomcat线程池实现简介

    1. 服务启动时,创建一个最大容量为200的线程数组,并初始化5个空闲线程。 2. 当有用户请求到达时,`threadpool.runIt(ThreadPoolRunnable)`方法被调用,传入一个实现了`ThreadPoolRunnable`接口的任务实例。 3. ...

    Tomcat面试题 14道.pdf

    Tomcat 的监听端口,protocol 指定了 Connector 的协议,connectionTimeout 指定了网络连接超时时间,maxThreads 指定了 Tomcat 可创建的最大线程数,minSpareThreads 指定了 Tomcat 初始化时创建的线程数,...

    tomcat6源码分析

    Tomcat6采用多线程模型处理请求,每个请求都会分配一个工作线程进行处理。这既保证了请求处理的并发性,也避免了线程池过度消耗资源的问题。 六、安全性 Tomcat6支持多种安全认证方式,如Basic认证、Form认证等,并...

    tomcat7安装使用及jvm连接数参数调优

    其中,maxThreads="600" 指定了最大线程数为 600,minSpareThreads="100" 指定了初始化时创建的线程数为 100,maxSpareThreads="500" 指定了一旦创建的线程超过这个值,Tomcat 就会关闭不再需要的 socket 线程,...

    Tomcat 修改内存大小

    Tomcat 是一个流行的基于 Java 的 Web 应用服务器,为了确保 Tomcat 的稳定运行,需要根据实际情况调整 Tomcat 的内存大小。下面将介绍如何修改 Tomcat 的内存大小,在 Windows 和 Linux 两个操作系统下。 一、安装...

    tomcat7源码下载

    1. Bootstrap:启动过程始于Bootstrap类,它加载并初始化Server对象。 2. Server:Server对象包含了全局配置信息,并管理Service组件。 3. Service:Service包含一个或多个Connector(如Coyote)和一个Engine。 4...

    Tomcat 接口文档 API

    开发者可以通过ContextConfigListener来监听Web应用的初始化过程,实现自定义配置。 3. **Connector**: 连接器组件是Tomcat接收和处理HTTP请求的部分。Tomcat通常有多个连接器,每个连接器可以配置不同的端口、协议...

Global site tag (gtag.js) - Google Analytics