<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    zhyiwww
    用平實的筆,記錄編程路上的點點滴滴………
    posts - 536,comments - 394,trackbacks - 0
    ?

    在我們開發Web程序的過程,可能您也遇到過這樣的問題,如果你正在開發一個web程序,然后發布到tomcat下面,那么,你在修改類的代碼的時候,要想生效,就要重新啟動tomcat,

    這樣就很麻煩,也影響效率。

    其實,這個問題還是有辦法解決的。下面是我在從網上看了一些資料后,自己總結和使用的方法。

    開發環境:

    Eclipse3.3?+?Tomcat6.0.14?+?JDK1.6

    開發環境的安裝和配置略。

    類自動編譯的實現步驟是:

    1)?修改tomcat\conf\server.xml

    添加下面的紫色部分的代碼,內容和位置如下:

    ??<Service?name="Catalina">

    ?

    ?<!--??zhangyi?add?to?reload?servlet?automaticly?-->

    ?<DefaultContext?reloadable="true"/>

    ????<!--The?connectors?can?use?a?shared?executor,?you?can?define?one?or?more?named?thread?pools-->

    ????<!--

    ????<Executor?name="tomcatThreadPool"?namePrefix="catalina-exec-"?

    ????????maxThreads="150"?minSpareThreads="4"/>

    ????-->????

    ????<!--?A?"Connector"?represents?an?endpoint?by?which?requests?are?received

    ?????????and?responses?are?returned.?Documentation?at?:

    ?????????Java?HTTP?Connector:?/docs/config/http.html?(blocking?&?non-blocking)

    ?????????Java?AJP??Connector:?/docs/config/ajp.html

    ?????????APR?(HTTP/AJP)?Connector:?/docs/apr.html

    ?????????Define?a?non-SSL?HTTP/1.1?Connector?on?port?8080

    ????-->

    ????<Connector?port="8080"?protocol="HTTP/1.1"?

    ???????????????connectionTimeout="20000"?

    ???????????????redirectPort="8443"?/>

    2)??在tomcat\conf\Catalina\localhost下面添加工程的發布配置文件

    如:zysd.xml文件,發布我的工程zysd

    配置代碼如下:

    <Context?docBase="H:\\WorkSpace3.3\\ZY-STRUTS-DEMO\\WebRoot"?path="/zysd"?reloadable="true">

    </Context>

    docBase執行你的開發工程的web目錄,這樣你在開發的時候,你的代碼就會自動編譯,但是,要讓編譯生效,還是要加上

    reloadable="true"

    3)?啟動tomcat,測試

    如果上面的配置完畢,就可以生效了。

    我的servlet測試代碼如下:

    package?org.zy.demo.sd.servlet;

    import?java.io.IOException;

    import?java.io.PrintWriter;

    import?javax.servlet.ServletException;

    import?javax.servlet.http.HttpServlet;

    import?javax.servlet.http.HttpServletRequest;

    import?javax.servlet.http.HttpServletResponse;

    import?org.zy.demo.sd.ImageUtil;

    public?class?CollectParam?extends?HttpServlet?{

    ?public?CollectParam()?{

    ??super();

    ?}

    ?public?void?doGet(HttpServletRequest?request,?HttpServletResponse?response)

    ???throws?ServletException,?IOException?{

    ?

    ??response.setContentType("text/html");

    ??

    ??PrintWriter?out?=?response.getWriter();

    ??out

    ????.println("<!DOCTYPE?HTML?PUBLIC?\"-//W3C//DTD?HTML?4.01?Transitional//EN\">");

    ??out.println("<HTML>");

    ??out.println("??<HEAD><TITLE>A?Servlet</TITLE></HEAD>");

    ??out.println("??<BODY>");

    ??out.print("????This?is?");

    ??out.print("<br>");

    ??out.print(this.getClass());

    ??out.println("<br>");

    ??

    ??//out.println(ImageUtil.getImageUrl("map.png"));

    ??

    ??out.println("<br>");??

    ??out.println("using?the?GET?method");

    ??out.println("??</BODY>");

    ??out.println("</HTML>");

    ??out.flush();

    ??out.close();

    ?}

    ?public?void?init()?throws?ServletException?{

    ??//?Put?your?code?here

    ?}

    }

    測試url為:http://localhost:8080/zysd/servlet/CollectParam

    結果如下:

    This?is?

    class?org.zy.demo.sd.servlet.CollectParam

    using?the?GET?method?

    入后我就寫了一個測試類:

    package?org.zy.demo.sd;

    public?class?ImageUtil?{

    ?public?static?String?getImageUrl(String?imgName){

    ??return?"/images/view/"+imgName;

    ?}

    }

    然后,在上面的servlet里面調用如下:

    out.println(ImageUtil.getImageUrl("map.png"));

    也就是,直接寫完類,就可以測試上面的鏈接,結果如下:

    This?is?

    class?org.zy.demo.sd.servlet.CollectParam

    /images/view/map.png?

    using?the?GET?method?

    由此可見,修改已經生效。

    我們可以看一下控制臺的輸出:

    信息:?Initialization?processed?in?2712?ms

    2007-9-21?15:55:53?org.apache.catalina.core.StandardService?start

    信息:?Starting?service?Catalina

    2007-9-21?15:55:53?org.apache.catalina.core.StandardEngine?start

    信息:?Starting?Servlet?Engine:?Apache?Tomcat/6.0.14

    log4j:WARN?No?appenders?could?be?found?for?logger?(org.apache.struts.uti

    tyMessageResources).

    log4j:WARN?Please?initialize?the?log4j?system?properly.

    2007-9-21?15:56:04?org.apache.coyote.http11.Http11Protocol?start

    信息:?Starting?Coyote?HTTP/1.1?on?http-8080

    2007-9-21?15:56:04?org.apache.jk.common.ChannelSocket?init

    信息:?JK:?ajp13?listening?on?/0.0.0.0:8009

    2007-9-21?15:56:04?org.apache.jk.server.JkMain?start

    信息:?Jk?running?ID=0?time=0/61??config=null

    2007-9-21?15:56:04?org.apache.catalina.startup.Catalina?start

    信息:?Server?startup?in?11541?ms

    2007-9-21?15:56:34?org.apache.catalina.core.StandardContext?reload

    信息:?Reloading?this?Context?has?started

    2007-9-21?15:57:15?org.apache.catalina.core.StandardContext?reload

    信息:?Reloading?this?Context?has?started

    2007-9-21?15:57:27?org.apache.catalina.core.StandardContext?reload

    有黑體部分,我們可以知道,其實當前的Context已經在自動重載了。

    所以,通過這種開發模式,可以給我們帶來很大的方便。您不妨也試一下,如果有其他的好地新的體會,大家可以共同討論。



    |----------------------------------------------------------------------------------------|
                               版權聲明  版權所有 @zhyiwww
                引用請注明來源 http://www.tkk7.com/zhyiwww   
    |----------------------------------------------------------------------------------------|
    posted on 2007-09-21 16:28 zhyiwww 閱讀(1732) 評論(5)  編輯  收藏

    FeedBack:
    # re: web開發中類的自動編譯和載入
    2007-09-21 17:38 | 千里冰封
    呵呵,不錯,  回復  更多評論
      
    # re: web開發中類的自動編譯和載入
    2007-09-21 18:09 | zhyiwww
    謝謝您的評論和鼓勵。  回復  更多評論
      
    # re: web開發中類的自動編譯和載入
    2007-09-22 00:07 | 千里冰封
    不錯,頂了  回復  更多評論
      
    # re: web開發中類的自動編譯和載入
    2007-11-14 16:29 | 路過
    自動裝載在開發階段的確非常有用,但是在運行階段,為了得到更好的性能,還是關閉了比較好!  回復  更多評論
      
    # re: web開發中類的自動編譯和載入
    2009-02-09 10:59 | Yvon
    查資料中,謝謝博主分享  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲成在人线av| 久久精品亚洲中文字幕无码麻豆 | 亚洲丰满熟女一区二区哦| 永久黄色免费网站| 亚洲高清中文字幕| 精品国产免费人成电影在线观看 | 亚洲AV综合色区无码另类小说| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 亚洲伊人久久精品影院| WWW国产成人免费观看视频| 久久影视国产亚洲| 黄色免费在线网站| 日本久久久久亚洲中字幕| 18以下岁毛片在免费播放| 亚洲校园春色另类激情| 韩国18福利视频免费观看| 污网站免费在线观看| 日日噜噜噜噜夜夜爽亚洲精品 | h视频在线免费看| 亚洲一区无码中文字幕乱码| 嫩草影院免费观看| 一本久久免费视频| 亚洲av鲁丝一区二区三区| 成人浮力影院免费看| 美女被免费视频网站| 亚洲一区二区女搞男| 91免费国产精品| 亚洲成熟丰满熟妇高潮XXXXX| 亚洲熟妇少妇任你躁在线观看无码| a在线视频免费观看| 亚洲毛片一级带毛片基地| 色吊丝最新永久免费观看网站 | 中文字幕在线免费| 边摸边吃奶边做爽免费视频网站 | 91精品成人免费国产| 亚洲人成网站在线观看播放动漫 | 91高清免费国产自产| 男女污污污超污视频免费在线看| 亚洲国产精品无码专区在线观看| 中文字幕无码不卡免费视频| 一边摸一边爽一边叫床免费视频|