java webÖж¨Ê±Æ÷µÄÔËÓÃ
ÔÚ×öweb¿ª·¢µÄʱºò£¬¾³£ÐèÒªÔÚÒ»¶¨µÄʱ¼äÈ¥¸úÐÂijЩ¶«Î÷£¬»òÊǼÓÔØÄ³Ð©¶«Î÷£¬Õâ¾ÍÓõ½Á˶¨Ê±Æ÷¡£
µ±Web¹¤³ÌÆô¶¯Ê±£¬¶¨Ê±Æ÷ÄÜ×Ô¶¯¿ªÊ¼¼ÆÊ±£¬ÔÚÕû¸öWeb¹¤³ÌµÄÉúÃüÆÚÀ¶¨Ê±Æ÷ÿ¹ýÒ»¶Îʱ¼ä¾ÍÖ´ÐÐÒ»´Î£¬ËùÒÔ¿¼ÂǶ¨Ê±Æ÷´æ·ÅµÄλÖá£
¶¨Ê±Æ÷¿Ï¶¨²»Äܲ»Äܼòµ¥µÄ´æÔÚÓÚµ¥¸öServlet»òJavaBeanÖУ¬±ØÐëÄÜÈö¨Ê±Æ÷ËÞÖ÷µÄ´æ»îÆÚΪÕû¸öWeb¹¤³ÌÉúÃüÆÚ£¬ÔÚ¹¤³ÌÆô¶¯Ê±ÄÜ×Ô¶¯¼ÓÔØÔËÐС£½áºÏÕâÁ½µã£¬¸ú ServletÉÏÏÂÎÄÓйصÄÕìÌýÆ÷¾Í×îºÏÊʲ»¹ýÁË£¬Í¨¹ýÔÚ¹¤³ÌµÄÅäÖÃÎļþÖмÓÒÔºÏÀíÅäÖ㬻áÔÚ¹¤³ÌÆô¶¯Ê±×Ô¶¯ÔËÐУ¬²¢ÔÚÕû¸ö¹¤³ÌÉúÃüÆÚÖд¦ÓÚ¼àÌý״̬¡£
ÏÂÃæ¾ÍServletÕìÌýÆ÷½áºÏJava¶¨Ê±Æ÷À´½²ÊöÕû¸öʵÏÖ¹ý³Ì£º
import java.util.Timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.http.HttpServlet;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
* @date 2010-1-14
* @author wangpeng
* ¹¦ÄÜ£º¼àÌýÆ÷£¬ÓÃÀ´ÊµÏÖ¼ÆÊ±Æ÷
*/
public class ContextListener extends HttpServlet implements
ServletContextListener {
/**
*
*/
private static final long serialVersionUID = 1L;
private static final Log log = LogFactory.getLog(NewsTimerTask.class);
public ContextListener() {
}
private Timer timer = null;
public void contextInitialized(ServletContextEvent event) {
timer = new Timer(true);
log.info("¶¨Ê±Æ÷ÒÑÆô¶¯");
timer.schedule(new NewsTimerTask(event.getServletContext()),
TIME_NEWS_DELAY, TIME_NEWS_PERIOD);
log.info("ÒѾÌí¼ÓÈÎÎñµ÷¶È±í");
}
public void contextDestroyed(ServletContextEvent event) {
timer.cancel(); //¶¨Ê±Æ÷µÄÏú»Ù
log.info("¶¨Ê±Æ÷Ïú»Ù");
}
}
NewsTimerTask- ËùÒª°²ÅŵÄÈÎÎñ¡£ TIME_NEWS_DELAY - Ö´ÐÐÈÎÎñǰµÄÑÓ³Ùʱ¼ä£¬µ¥Î»ÊǺÁÃë¡£ Ϊ0ʱ±íÃ÷²»ÑÓ³ÙTIME_NEWS_PERIOD - Ö´Ðи÷ºóÐøÈÎÎñÖ®¼äµÄʱ¼ä¼ä¸ô£¬µ¥Î»ÊǺÁÃë¡£
NewsTimerTask¼Ì³ÐTimerTask
TimerTaskÊÇ ÓÉ Timer °²ÅÅΪһ´ÎÖ´Ðлò
Ïà¹ØÎĵµ£º
Ò»¡¢ÎÊÌâµÄÌá³ö
JavaµÄÒ»¸öÖØÒªÓŵã¾ÍÊÇͨ¹ýÀ¬»øÊÕ¼¯Æ÷(Garbage Collection£¬GC)×Ô¶¯¹ÜÀíÄÚ´æµÄ»ØÊÕ£¬³ÌÐòÔ±²»ÐèҪͨ¹ýµ÷Óú¯ÊýÀ´ÊÍ·ÅÄÚ´æ¡£Òò´Ë£¬ºÜ¶à³ÌÐòÔ±ÈÏΪJava²»´æÔÚÄÚ´æÐ¹Â©ÎÊÌ⣬»òÕßÈÏΪ¼´Ê¹ÓÐÄÚ´æÐ¹Â©Ò²²»ÊdzÌÐòµÄÔðÈΣ¬¶øÊÇGC»òJVMµÄÎÊÌâ¡£Æäʵ£¬ÕâÖÖÏë·¨ÊDz»ÕýÈ·µÄ£¬ÒòΪJavaÒ²´æÔÚÄÚ´æÐ¹Â¶£¬µ«ËüµÄ±íÏÖÓëC ......
±¾ÎÄÄÚÈÝÕª×Ô£º¡¶Java Web¿ª·¢½Ì³Ì——ÈëÃÅÓëÌá¸ßƪ£¨JSP+Servlet£©¡·
½»»¥µÄ»ù±¾¹ý³Ì°üÀ¨£º
l ´´½¨XMLHttpRequest¶ÔÏó£»
l ·¢ËÍÇëÇó£»
l ´¦ÀíÏìÓ¦¡£
´ ......
Õâ¸ö¿ò¼ÜÒ²ÊÇΪgoogle app engine×¼±¸µÄ¡£µ±Ê±¸Ð¾õÖ±½ÓÔÚgaeÉÏsevletÌ«·³ÈËÁË£¬¾Í·â×°¸ö¼òÒ׵Ŀò¼Ü¡£Ê¹ÓõÄʱºòÖ»ÐèÒªÅäÖÃweb.xmlÖÐDispacherSevletºÍpackage.propertiesÖеÄpackage.path£¨Ä¬ÈÏɨÃèµÄ°ü£©¼´¿É
gaeÀý×Ó£ºhttp://orzblogs.appspot.com/Home.htm
´óѧµÄʱºòºÜBS java£¬Ñ§ÁËÖ®ºó¾ÍÈÓµôÁË£¬ÏÖÔÚ¹¤×÷Á˲ſªÊ¼ ......
×ܽáÒ»£º
Java IOµÄÒ»°ãʹÓÃÔÔò£º
Ò»¡¢°´Êý¾ÝÀ´Ô´£¨È¥Ïò£©·ÖÀࣺ
1¡¢ÊÇÎļþ£º FileInputStream, FileOutputStream, FileReader, FileWriter
2¡¢ÊÇbyte[]£ºByteArrayInputStream, ByteArrayOutputStream
3¡¢ÊÇChar[]: CharArrayReader, CharArrayWriter
4¡¢ÊÇString: StringBufferInputStream, StringReader, StringW ......