设为首页收藏本站
机战Z2破界篇 星组汉化 下载

星组游戏论坛

 找回密码
 注册(QQ注册+邀请注册)

QQ登录

只需一步,快速开始

查看: 2406|回复: 1

[心得] 如何使Web服务器启动时加载一个ServerSocket服务 [复制链接]

Rank: 11Rank: 11Rank: 11Rank: 11

UID
98178
星币
61
积分
24
阅读权限
90
注册时间
2013-4-11
最后登录
2015-10-29
发表于 2013-6-13 16:32:16 |显示全部楼层
本帖最后由 执着的蜗牛 于 2013-6-13 16:41 编辑   \+ {) \$ F5 ?! @1 m
2 i  Z; c, J2 N* N3 t2 z

如果想在让一个ServerSocket服务伴随WEB服务器的启动而启动,需要做以下配置:

1.配置web.xml

在工程下的web.xml<web-app></web-app> 节点内添加如下代码

<listener>

        <listener-class>com.mybank.xfire.example.ServerSocketListener</listener-class>

</listener>

  F3 ]* \7 p9 y6 x3 X- e% r

<listener-class></listener-class>

其中listener-class节点内填写需要调用的类的全路径,该处的具体作用在java的反射机制一贴中已经说明,结合java反射机制更易理解此处。

- K* W3 w4 V$ M* Q8 J

<listener></listener>

监听器也叫Linstener 是用来监听web工程状态改变的一种实现机制,用来监听整个web工程状态改变 是Servlet的监听器,它可以监听客户端的请求、服务端的操作等。通过监听器,可以自动激发一些操作


% I% {* i* e( v1 @, c9 i2 h9 H# C! U


# T7 M8 f! d  k; O* _5 Z6 j

2.添加一个Servlet监听器

在工程项目下添加一个类,该类需继承ServletContextListener

该类会自动两个方法:

void contextInitialized(ServletContextEvent v)

//在该方法中添加加载ServerSocket服务的代码

//注意在此方法中切勿直接添加耗时操作,应用线程来处理。

0 m$ a! g+ a+ L6 F

void contextDestroyed(ServletContextEvent v)

//该方法在工程结束时服务器自动调用

//可以在该方法内添加一些收尾操作,如关闭ServerSocket服务


( v8 K- K  W# h


6 S( J- ]: _& D# D

Servlet监听器用于监听一些重要事件的发生,监听器对象可以在事情发生前、发生后可以做一些必要的处理,目前Servlet2.4JSP2.0总共有8个监听器接口和6Event

ServletContextListener ServletContext 的监听者,如果 ServletContext 发生变化,如服务器启动时 ServletContext 被创建,服务器关闭时 ServletContext 将要被销毁。

! `( D3 O4 r1 c2 i9 o: L, S& b# i+ {

         ServletContextListener接口的方法:

                void contextInitialized(ServletContextEvent sce)

                通知正在接受的对象,应用程序已经被加载及初始化。

/ M" c: l2 J3 Q5 B+ Y9 u/ _

               void contextDestroyed(ServletContextEvent sce)

                通知正在接受的对象,应用程序已经被载出。

2 E$ X9 r! H; _
& }, @+ X8 [. {+ o4 C4 {
更详细的Servlet监听器介绍:http://hht83.blog.163.com/blog/static/44037112008324232278/  O7 s6 d2 N/ i' a( d! H% h# `
头像被屏蔽

禁止发言

UID
110386
星币
11
积分
5
阅读权限
0
注册时间
2015-10-10
最后登录
2015-11-16
发表于 2015-10-18 05:32:00 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

Archiver|星组游戏论坛 ( 京公网安备110403080002 )  

GMT+8, 2018-6-23 02:34

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部