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

星组游戏论坛

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

QQ登录

只需一步,快速开始

查看: 2597|回复: 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 编辑 3 s. d' y1 @/ l, G
/ `% P9 \( c- o  |! W

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

1.配置web.xml

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

<listener>

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

</listener>


7 h( q4 i3 B9 @8 t) h: L

<listener-class></listener-class>

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


3 ?: H# y0 `# S- W& f. e5 a8 a

<listener></listener>

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

  m  ?; X) q4 X/ l* D. O4 d, Y- K

# k" M4 a( R/ o

2.添加一个Servlet监听器

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

该类会自动两个方法:

void contextInitialized(ServletContextEvent v)

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

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


! a  \+ e+ z6 R. y; y4 M- [$ s$ b

void contextDestroyed(ServletContextEvent v)

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

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


. G9 |- ~4 p2 ?8 K4 M


; K# b" G6 v/ f1 \8 `/ G! x9 b

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

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

% C' V, K: Q) ?* ^

         ServletContextListener接口的方法:

                void contextInitialized(ServletContextEvent sce)

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

; s' F( s' t) {# N6 y" @

               void contextDestroyed(ServletContextEvent sce)

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


+ d$ j4 d. e0 q0 W7 h! `8 T$ E' _
( O( D4 i2 K. W$ \更详细的Servlet监听器介绍:http://hht83.blog.163.com/blog/static/44037112008324232278/4 v* P+ e/ u( q
头像被屏蔽

禁止发言

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

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

GMT+8, 2019-5-23 13:46

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部