- 浏览: 42872 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
iceaugust:
可惜,tomcat6.0就不行了,文件是建了,不管是改star ...
windows下如何获取Tomcat的控制台输出(转) -
linyfei:
版主你好,我想问一下:
“可以通过/usr/sbin/logr ...
Linux下Tomcat日志定期清理 及 logrotate 配置
java 监听器
www.firnow.com 时间 : 2009-10-20 作者:匿名 编辑:小张 点击: 314 [ 评论 ]
1、首先配置web.xml文件
<listener>
<listener-class>cn.com.spcs.ots.common.util.OverTimeSystemListener</listener-class>
</listener>
2、实现ServletContextListener接口
contextInitialized(final ServletContextEvent arg0)
contextDestroyed(ServletContextEvent arg0)
www.firnow.com 时间 : 2009-10-20 作者:匿名 编辑:小张 点击: 314 [ 评论 ]
1、首先配置web.xml文件
<listener>
<listener-class>cn.com.spcs.ots.common.util.OverTimeSystemListener</listener-class>
</listener>
2、实现ServletContextListener接口
contextInitialized(final ServletContextEvent arg0)
contextDestroyed(ServletContextEvent arg0)
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.Map; import java.util.Timer; import java.util.TimerTask; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import cn.com.cs.ots.bean.dao.DB2DAOImpl; import cn.com.cs.ots.bean.dao.IDAO; import cn.com.cs.ots.common.Constant; /** * 加班休假系统批处理启动 * * @author */ public class OverTimeSystemListener implements ServletContextListener { private Timer timer = null; private TimerTask task = null; protected IDAO dao; private int executeCount = 0; // 月份变量 private static int month = 1; // 日期变量 private static int day = 1; // 分钟变量 private static int minute = 1; // 小时变量 private static int hour = 1; // 秒变量 private static int second = 1; /** * 加班休假系统监听方法contextInitialized * * @param arg0 * * 备注<br> * 作者: 作成日:2008-10-22<br> */ public void contextInitialized(final ServletContextEvent arg0) { SysLogger.info(this, "contextInitialized is start."); timer = new Timer(); task = new TimerTask() { public void run() { try { GregorianCalendar date = new GregorianCalendar(); month = date.get(Calendar.MONTH); day = date.get(Calendar.DATE); hour = date.get(Calendar.HOUR_OF_DAY); minute = date.get(Calendar.MINUTE); second = date.get(Calendar.SECOND); // 日批处理类 EntryExitFileListener entryExitFileListener = new EntryExitFileListener(); // 月批处理类 AttendanceRecordListener attendanceRecordListener = new AttendanceRecordListener(); YearInput yearInput = new YearInput(); if ((hour == 15) && (minute == 35) && (second == 00)) { // 初始化Dao initDao(arg0); getConnection(); String start = "20081101"; String end = "20081108"; while ((end.length()) == 8) { if (start.equals(end)) { break; } entryExitFileListener.doDayBatch(dao, start, getNextDay(start)); start = getNextDay(start); } closeConnection(); } // 每日6:00调用日批处理中方法,处理下班打卡记录、门卡信息和加班记录 if ((hour == 9) && (minute == 30) && (second == 00)) { // String yesterdayDate = getYesterdayDate(); // String todayDate = getNextDay(yesterdayDate); // // // 初始化Dao // initDao(arg0); // getConnection(); // entryExitFileListener.doDayBatch(dao, yesterdayDate, // todayDate); // closeConnection(); } // 每月一日10:00启动线程,导入考勤记录 // if ((day == 1) && (hour == 10) && (minute == 0) // && (second == 1)) { // // // 初始化Dao // initDao(arg0); // getConnection(); // attendanceRecordListener.doStartTimeBatchSelect(dao); // closeConnection(); // // } // // if (executeCount == 0 // || (month == 12 && day == 30 && hour == 22 // && minute == 0 && second == 0)) { // // 初始化Dao // initDao(arg0); // getConnection(); // yearInput.getInitValue(dao, executeCount); // closeConnection(); // executeCount++; // } } catch (Exception e) { e.printStackTrace(); } finally { closeConnection(); } } }; timer.schedule(task, 10000, 500); } /** * 监听结束方法contextDestroyed * * @param arg0 * * 备注<br> * 作者: 作成日:2008-10-22<br> */ public void contextDestroyed(ServletContextEvent arg0) { timer.cancel(); SysLogger.info(this, "contextInitialized is end."); } /** * 初始化dao * * @param arg * * 备注<br> * 作者: 作成日:2008-10-22<br> */ private void initDao(ServletContextEvent arg) throws Exception { dao = new DB2DAOImpl(); dao.setSqlTemplateName("cn.com.cs.ots.sql.SQLTemplateImpl"); dao.setSqlMap((Map) arg.getServletContext().getAttribute( Constant.SQLTEMPLATE_KEY)); dao.setReturnTypeMap((Map) arg.getServletContext().getAttribute( Constant.RETURNTYPE_KEY)); } /** * getConnection * * * 备注<br> * 作者: 作成日:2008-10-22<br> */ private void getConnection() { try { dao.getConnection(); } catch (Exception e) { e.printStackTrace(); } } /** * closeConnection * * * 备注<br> * 作者: 作成日:2008-10-22<br> */ private void closeConnection() { try { if (dao != null) dao.closeConnection(); } catch (Exception e) { e.printStackTrace(); } } /** * 得到前一天的String类型 * * * @param dateTime * @return String * * 备注<br> * 作者: 作成日:2008-10-22<br> */ private String getYesterdayDate() { String dateTime = null; Date pre_date = new Date(System.currentTimeMillis() - 1 * 24 * 3600 * 1000); SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd"); dateTime = formatter.format(pre_date); return dateTime; } /** * 得到下一天的String类型 * * * @param dateTime * @return String * @throws ParseException * * 备注<br> * 作者: 作成日:2008-10-22<br> */ public String getNextDay(String dateTime) throws ParseException { Calendar now = Calendar.getInstance(); SimpleDateFormat simpledate = new SimpleDateFormat("yyyyMMdd"); Date date = null; date = simpledate.parse(dateTime); now.setTime(date); int year = now.get(Calendar.YEAR); int month = now.get(Calendar.MONTH); int day = now.get(Calendar.DAY_OF_MONTH) + 1; now.set(year, month, day); String time = simpledate.format(now.</p> <div align="center" class="pager"><span id="pagesSpan"> <span id="1">1</span> <a href="179650_2.html">2</a></span></div> <div class="ad7"><script language="javascript" src="/ad/2010/article/ad7.js"></script></div> <div class="ad8"><script language="javascript" src="/ad/2010/article/ad8.js"></script></div> <div class="index_main_err">如果图片或页面不能正常显示请<a href="javascript:void(0)" onClick="ReportError()" class= "redlink"><font color="#990000"><strong>点击这里</strong></font></a></div> </div> <div class="index_main_left_foot"> <div class="index_main_left_foot1"> <p><a href="javascript:window.external.addFavorite(self.location,document.title);">【收藏此页】</a><a href="http://bbs.firnow.com" target="_blank">【飞诺社区】</a><a href="#comment">【发表评论】</a><a href="javascript:window.close()">【关闭】</a></p> <a href="#comment"><img src="/images/2010/article/ping.gif" width="149" height="34" border="0" /></a> </div> <div class="index_main_left_foot2"> <p>上一篇:<a href="/course/3_program/java/javajs/20091020/179649.html">JSON所要依赖的jar包有</a></p> <p>下一篇:<a href="/course/3_program/java/javajs/20091020/179651.html">java 中 set map table list 的总结</a></p> </div> </div> </div> <div class="ad9"><script language="javascript" src="/ad/2010/article/ad9.js"></script></div> <div class="index_main_left_3">Java技术文章推荐文章</div> <div class="index_main_left_4"> <ul> <li><a href="/course/3_program/java/javajs/20090410/164705.html" target="_blank">Java继承关系、构造器的内存分析</a></li> <li><a href="/course/3_program/java/javajs/20071023/79561.html" target="_blank">java中返回局部对象问题</a></li> <li><a href="/course/3_program/java/javajs/2007128/91137.html" target="_blank">Windows下的OpenLDAP配置</a></li> <li><a href="/course/3_program/java/javajs/2008525/117792.html" target="_blank">Java中如何正确使用字体编码</a></li> <li><a href="/course/3_program/java/javajs/20100112/189415.html" target="_blank">Observer模式(转载)</a></li> <li><a href="/course/3_program/java/javajs/20090405/164210.html" target="_blank">java与模式 多例模式 multiton</a></li> <li><a href="/course/3_program/java/javajs/20090515/166931.html" target="_blank">java中取得微秒级的时间 - lujinan858的专栏 - CSDN博客</a></li> <li><a href="/course/3_program/java/javajs/20091118/182766.html" target="_blank">JS实现树形菜单</a></li> </ul> <ul> <li><a href="/course/3_program/java/javajs/20091220/185101.html" target="_blank">Spring读取加密属性文件处理</a></li> <li><a href="/course/3_program/java/javajs/20071022/79309.html" target="_blank">李开复:算法的力量</a></li> <li><a href="/course/3_program/java/javajs/20090226/156187.html" target="_blank">介绍JNDI的简单概念&简单示例</a></li> <li><a href="/course/3_program/java/javajs/20090511/166905.html" target="_blank">JAVA写日志整理代码</a></li> <li><a href="/course/3_program/java/javajs/20091006/178113.html" target="_blank">java抽象类和抽象方法</a></li> <li><a href="/course/3_program/java/javajs/2007927/74820.html" target="_blank">Java学习:多线程(2)</a></li> <li><a href="/course/3_program/java/javajs/200866/122754.html" target="_blank">struts分页</a></li> <li><a href="/course/3_program/java/javajs/20090505/166570.html" target="_blank">进程和线程的区别</a></li> </ul> </div> <div class="index_main_left_5"> <div class="index_main_left_5_top"><p><a name="comment"></a>文章评论</p></div> <div id="divComment" class="index_main_left_5_main"></div> </div> <div class="index_main_left_6"> <div class="index_main_left_6_left"> <div class="index_main_left_6_left_top">请您留言</div> <div class="index_main_left_6_left_ceneter"> <form> <table width="84%" height="216" border="0" cellpadding="10"> <tr> <td width="19%" height="29">昵称:</td> <td width="81%"><label> <input type="text" class="index_main_left_6_left_ceneter_text" style="width:150px;" name="tbName" id="tbName" onclick="this.focus();this.select()" maxlength="20" /> </label></td> </tr> <tr> <td>验证码:</td> <td> <span style="float:left;"><input name="tbCode" id="tbCode" class="index_main_left_6_left_ceneter_text" type="text" size="6" /></span><span id="spanCode" style="float:left; clear:right;"><img id="Img2" onclick="this.src=this.src" style="display:none;"/></span> </tr> <tr> <td height="26" colspan="2"><a href="http://bbs.firnow.com/register.aspx" style="color:#FF0000">注册会员</a> <a href="http://bbs.firnow.com/login.aspx">会员登录</a></td> </tr> <tr> <td height="100" colspan="2"><label> <a name="comment"></a><textarea name="tbContent" id="tbContent" class="index_main_left_6_left_ceneter_textarea" rows="5">
相关推荐
主要给大家介绍了关于java监听器实现和原理的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
java监听器练习,java初学者!
Java监听器添加 四种监听器 内部 外部 内部匿名 自身
简单的java监听器小练习,适合初学者!
监听器之定时器,写一个定时器的监听器,这个监听器每十秒向控制台输出一次时间信息 博客地址:https://blog.csdn.net/qq_36631076/article/details/80401609
java监听器和过滤器详解,详细而且简单,保证能看懂
一个java监听器的实现demo,即观察者设计模式实现
java一个监听器的例子
主要介绍了Java设计模式之监听器模式,结合实例形式较为详细的分析了java设计模式中监听器模式的概念、原理及相关实现与使用技巧,需要的朋友可以参考下
Java 监听器
2.1Java的时间监听机制涉及到三个组件:事件源、事件监听器、事件对象 2.2当事件源上发生操作时,它会调用事件监听器的一个方法,并且调用这个方法时,会传递事件对象过来 2.3事件监听器是由开
NULL 博文链接:https://mayufenga1.iteye.com/blog/637662
NULL 博文链接:https://xace.iteye.com/blog/424250
最近一直在搞低耦合的代码设计,后来发现JAVA中的监听器效果很不错,就特地研究了一下监听流程,后来经过调试终于成功,供大家分享下: 响应代码: /** * 事件响应运行 * @author wangchen * */ class EventRun {...
Java的监听器种类,文档内详细描述了java各种监听器,能够让你在系统当中合理的去使用,从而提高系统的效率。
Java的事件监听器Java的事件监Java的事件监听器听器
servelt 监听器 class MyRequest extends HttpServletRequestWrapper { public MyRequest(HttpServletRequest request) { super(request); } public String MyEncoding(String value) { String value...
监听器也叫Listener,是Servlet的监听器,它可以监听客户端的请求、服务端的操作等。通过监听器,可以自动激发一些操作,比如监听在线的用户的数量。当增加一个HttpSession时,就激发sessionCreated...
NULL 博文链接:https://skyfar666.iteye.com/blog/2205583
NULL 博文链接:https://wenchangping.iteye.com/blog/1869464