`
为了明天
  • 浏览: 114616 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java web部署 启动线程 (监听socket等)

    博客分类:
  • JAVA
 
阅读更多
很简单……

多写一个Servlet,在init函数中启动对应的线程。

把这个Servlet加到web.xml中,例如

    <servlet>
        <servlet-name>EchoServiceStartUpServlet</servlet-name>
        <servlet-class>EchoService.EchoServiceStartUpServlet</servlet-class>
        <load-on-startup>3</load-on-startup>
    </servlet>

注意load-on-startup。

后边数字要大于0,表示优先级,越小优先级越高。

不设置或者小于0表示不启动。
但这样有个很大的问题!!就是没有在Tomcat关闭的时候关闭线程,也许就是没有释放监听的端口。

应该用Listener。

public class ServerSocketListener implements ServletContextListener {  
    private EchoServerThread echoServerThread;  
  
    public void contextInitialized(ServletContextEvent event) {  
        String port = event.getServletContext().getInitParameter("socketPort");  
//        event.getServletContext().log("++++++++++++++++++++++++++++++++");  
//        event.getServletContext().log("++++ Socket服务随web启动而启动 ++++");  
        echoServerThread = new EchoServerThread(Integer.parseInt(port));  
        echoServerThread.start();  
//        event.getServletContext().log("++++ Socket服务已经启动完毕,端口:" + port + " ++++");  
    }  
  
    //tomcat关闭时,关闭线程,释放端口  
    public void contextDestroyed(ServletContextEvent event) {  
        echoServerThread.stopThread();  
    }  
}  

这里就有启动和释放的操作了~~~



然后在web.xml中这样配置:

在web-app节点下加入:

    <context-param>
        <param-name>socketPort</param-name>
        <param-value>2230</param-value>
    </context-param>
    <listener>
        <description>Socket服务随web启动而启动</description>
        <listener-class>EchoService.ServerSocketListener</listener-class>
    </listener>
分享到:
评论

相关推荐

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

    本文将详细解析"web监听端口(Socket服务随web启动而启动)"这一主题,涵盖Socket、Tomcat服务器以及Web服务的监听端口设置。 首先,让我们了解Socket。Socket是计算机网络中的一个概念,它提供了一种进程间通信(IPC...

    Java Web项目中使用Socket通信多线程、长连接的方法

    此外,考虑到Java Web应用可能部署在集群环境下,如果多个服务器实例需要共享同一套Socket服务,可能需要借助分布式协调服务(如Zookeeper)来管理Socket服务的启动和停止,防止重复监听。 总的来说,Java Web项目...

    JAVA WEB 服务器

    5. **Socket编程**:在Java Web服务器中,Socket编程主要用于创建服务器端的套接字,监听客户端的连接请求。服务器启动时,会创建一个Socket监听特定的端口,等待客户端的HTTP连接。当连接建立后,Socket允许数据在...

    java webserver编写

    Java Web服务器编写是一个涵盖多个技术领域的话题,包括网络编程、HTTP协议、多线程处理以及可能的容器化部署。在本篇文章中,我们将深入探讨如何使用Java语言来创建一个简单的Web服务器。 首先,我们需要理解Web...

    多线程socket+webservice操作demo

    本示例着重于如何在Java环境中实现多线程Socket通信以及利用Web Service接口进行交互。下面将详细讲解这两个主题。 **一、多线程Socket通信** Socket,也被称为套接字,是网络编程中的基本概念,它为应用程序提供...

    Eclipse开发部署在Websphere的Socket服务器端应用

    ### Eclipse开发部署在Websphere的Socket服务器端应用 #### 概述 本文将详细介绍如何在Eclipse IDE中构建一个可以部署到IBM Websphere应用服务器的Socket服务器端应用程序。该程序不仅支持多线程处理,还实现了数据...

    socket服务器 eclipse tomcat

    Eclipse是一款强大的Java集成开发环境(IDE),而Tomcat则是一个流行的开源Java Servlet容器,常用于部署Web应用。本篇文章将深入讲解如何使用Eclipse创建一个基于Java的Socket服务器,并将其部署到Tomcat服务器上,...

    JAVA监听器 绝对有用

    在Java Web开发中,监听器(Listeners)是一种非常重要的机制,用于监控应用程序中的特定事件,如应用程序启动、停止等,并在这些事件发生时执行相应的操作。本文将详细介绍Java监听器的基本概念、实现原理以及一个...

    java Web Service 打成War包后如何Debug

    WAR文件是ZIP格式的压缩包,包含了一个完整的Web应用程序的所有资源,如Java类、JSP页面、静态文件(CSS、JavaScript等)、配置文件(web.xml)等。调试WAR包内的代码需要一些特殊的设置和工具,因为你不能直接在...

    Java项目实战-基于java博网即时通讯软件的设计与实现(附源码,部署说明).zip

    7. **部署说明**:部署说明.txt文件提供了将项目部署到服务器的步骤,可能涉及配置环境变量、安装必要的依赖库、设置服务器端口、导入数据库脚本、启动服务等操作。 8. **框架与库**:Java项目通常会使用各种框架和...

    JAVA实现简单的http静态网页服务器

    这通常是为了学习、测试或在简单环境中部署Web应用。以下是对这个主题的详细说明: 1. **Java基础**:Java是一种广泛使用的面向对象的编程语言,具有跨平台的特性,通过Java虚拟机(JVM)运行。要实现HTTP服务器,...

    Java HTTP服务器 TJWS

    服务器启动后,会监听指定端口,接收到请求时创建新的线程来处理,确保服务器性能不会因大量并发请求而降低。 4. **Servlet基础** Servlet是Java Web开发中的核心组件,用于处理和生成动态内容。TJWS支持Servlet,...

    Java-webserver:简单的 Web 服务器完全用 Java 构建,带有简单的 GUI

    【Java-webserver:构建简单的Web服务器与GUI】 Java-webserver项目是一个开源的示例,它展示了如何使用Java语言创建一个基本的Web服务器,并且配备了一个简单的图形用户界面(GUI)。这个项目对于学习Java网络编程...

    java Socket,Swing聊天室系统的设计与实现毕业论文.doc

    该论文旨在设计和实现一个基于 C/S 架构的聊天室系统,使用 Java 语言、Socket 和 Swing 等技术,并使用面向对象数据库作为后台数据库。该系统主要功能包括管理员和用户登录聊天室、管理员启动和关闭服务器、用户...

    Zxy97 Web服务器

    这款服务器能够帮助用户在指定的IP地址和端口上快速部署并运行一个小型的Web站点,为学习和测试提供便利。它的核心功能是处理HTTP请求并返回响应,支持基本的静态资源服务,如HTML、CSS和JavaScript文件的访问。 ...

    java chat基于Tomcat

    在Java编程领域,构建一个基于Tomcat的聊天室是一项常见的任务,这涉及到网络编程、多线程、Socket通信以及Web服务器的配置等多个知识点。这里,我们主要探讨的是使用Java技术栈来开发一个在线聊天应用,并将它部署...

    Java小程序

    工具在Java开发中起着至关重要的作用,例如,Eclipse、IntelliJ IDEA等集成开发环境(IDE)提供了编写、编译、调试和部署Java小程序的全套功能。此外,Maven或Gradle等构建工具可以帮助管理项目依赖,而JDK(Java ...

    飞鸽传书的GUI(java实现).

    10. **打包与部署**:最后,开发者需要了解如何将Java程序打包成可执行的JAR文件,并可能使用Java Web Start或自定义启动脚本来方便用户运行。 以上是实现“飞鸽传书的GUI(Java实现)”可能涉及的主要知识点。通过...

    java_upload_tool.rar_java_upload_tool_tool

    Java上传工具是一款基于Java开发的文件传输应用,主要...综上所述,Java上传工具涉及了Java编程、网络通信、多线程、文件I/O等多个关键知识点,是一个实用的教育和实践案例,可以帮助开发者更好地理解和掌握这些技术。

Global site tag (gtag.js) - Google Analytics