隨筆 - 11  文章 - 2  trackbacks - 0
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          新聞分類

          link

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          JAVA+TOMCAT網站部署第一天

                 安裝APACHE Tomcat 5.0,默認有Tomcat的服務程序運行,在ROOT目錄加入Jsp文件,似乎無法運行。采用命令窗口方式運行。運行"E:\program files\Apache Software Foundation\Tomcat 5.0\bin\startup.bat"

           

          環境變量配置:

          Tomcat的根目錄CATALINA_HOME

          E:\program files\Apache Software Foundation\Tomcat 5.0

          JAVA的類路徑[第一個點”.;”表示當前路徑] CLASSPATH

          .;M:\Java\Demos;C:\j2sdk1.4.2_04;C:\j2sdk1.4.2_04\lib\tools.jar;C:\j2sdk1.4.2_04\lib\dt.jar;C:\j2sdk1.4.2_04\lib\tools.jar;C:\j2sdk1.4.2_04\lib\htmlconverter.jar; C:\j2sdk1.4.2_04\lib\servlet.jar;M:\Java

          JAVA根目錄JAVA_HOME

          C:\j2sdk1.4.2_04

          PATH環境變量中加入C:\j2sdk1.4.2_04\bin;這樣直接運行javac.exejava.exe就能找到JAVA對應的可執行文件了。

          winXP,系統環境變量不需要重新啟動系統就能起作用,但是需要重新打開應用程序,用戶變量需要重新啟動系統才能生效。

           

          Edit PlusJava環境配置:

          原來曾用過JCreator進行Java代碼編寫,而且是J2ME摩托羅拉手機程序編寫的配置,復雜得多,可以參考:

          寫手機程序請用JCreator pro     sunyuzhe114 [原作]

          http://dev.csdn.net/Develop/article/13/13625.shtm

          這里Edit Plus主要是在Tools/Configure User Tools …里面添加命令。這里簡單的配置如下:

          Group Name … Java Tools

          功能:編譯Java文件,生成classJava文件所在目錄

          Menu Text: Java Compile

          Command: C:\j2sdk1.4.2_04\bin\javac.exe

          Argument: $(FileName)

          Initial Directory: $(FileDir)

           

          功能:運行生成的class文件

          Menu Text: Java Run

          Command: C:\j2sdk1.4.2_04\bin\java.exe

          Argument: $(FileNameNoExt)

          Initial Directory: $(FileDir)

           

          功能:[打開class文件]JAD直接進行反編譯,生成Java文件到class文件所在目錄

          Menu Text: JAD Decompile

          Command: M:\Java\Tools\jad_win\jad.exe

          Argument: -o -d .\ -s java $(FileNameNoExt).class

          Initial Directory: $(FileDir)

           

          功能:用Edit Plus打開反編譯生成的java文件

          Menu Text: Open Decompile File

          Command: E:\program files\EditPlus 2\editplus.exe

          Argument: $(FileNameNoExt).java

          Initial Directory: $(FileDir)

           

          加入自定義工具以后,直接用Ctrl+1[~N]運行自定義工具。

           

          /* 以下所說[根目錄]

          * E:\program files\Apache Software Foundation\Tomcat 5.0\webapps\ROOT

          */

          Java Bean 部署過程:

          1. [根目錄]/ WEB-INF\classes\test\下面新建FAQ.txt,改名為FAQ.java

          2. FAQ.java輸入內容:

          package test;

          public class FAQ{

          public FAQ () {

                   System.out.println(“FAQ Construction Method”);

            }

            public sayHello(){

                   System.out.println(“FAQ : Hello World!”);

            }

          }

                 3. 編譯以上內容,在[根目錄]/ WEB-INF\classes\test\生成*.class文件。

                 4. [根目錄]/test/下面新建faq.txt,改名為faq.jsp

                 5. faq.jsp輸入內容:

          <%

          workM.sayHello();

          %>

                6. 現象:sayHello將在Tomcat的命令行窗口輸出” FAQ : Hello World!”;在JSP文件中使用System.out.println同樣輸出到命令行窗口,out.println則直接輸出到瀏覽器。

                 7.  Java Bean的使用方法二:在JSP中加入引用

          <%@ page import="test.*"%>

                        調用的時候,

          faq myfaq = new faq();

          myfaq.sayHello();

                        這種方法的好處是,每個JSP中可以多次定義對象。

           

          Servlet 部署過程:

          1.       [根目錄]/ WEB-INF/classes/test/下面新建FaqServlet.txt,改名為FaqServlet.java

          2.       FaqServlet.java輸入內容:

          package test;

          import java.io.*;

          import javax.servlet.http.*;

          import javax.servlet.*;

           

          public class FaqServlet extends HttpServlet

          {

            public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException{

                   response.setContentType("text/xml");

                   PrintWriter out = response.getWriter();

                   out.println(" Hello World! ");

            }

          }

          Servlet 是一個從HttpServlet派生的所有對象的統稱。主要處理doGetdoPost兩個方法,doGet就是一般情況,瀏覽器從服務器取網頁,doPost就是瀏覽器通過Post的方法從服務器取數據,比如網頁中formmethod=”post”提交到服務器。

          3.       [根目錄]/ WEB-INF/web.xml節點下面添加內容:

              

                  FaqServletL

                  test.FaqServlet

             

              根據url-pattern來獲取servlet-name,再根據servlet-name來獲取servlet-class">

                  FaqServletL

                  /servlet/FaqServlet

              

          主要含義應該是:當URL中是http://[ROOT]/servlet/FaqServlet的時候使用的servlet的名稱是FaqServletL,服務器根據FaqServlet找到名稱為FaqServletLServlet,并通過servlet-class test.FaqServlet來定位Servlet的位置。

          4.       現象:瀏覽地址http://127.0.0.1:8080/servlet/FaqServlet,瀏覽器打開一個頁面,效果和xml一樣,因為上面response.setContentType("text/xml");如果需要用text/html,則是html頁面了,不過需要補全html代碼了。

          5.       似乎Servlet可以不用部署就可以用的,暫時還不知道,具體以后學習。

           

          Taglib 部署過程:

          1.       [根目錄]/ WEB-INF/classes/test/hello/下面新建HelloTag.java

          2.       HelloTag.java輸入內容:

            package test.hello;

            import javax.servlet.jsp.JspException;

            import javax.servlet.jsp.JspTagException;

            import javax.servlet.jsp.tagext.TagSupport;

            public class HelloTag extends TagSupport {

              public HelloTag() {

              }

              public int doEndTag() throws JspException{

                try{

                  pageContext.getOut().print("Hello World!");

                }catch(Exception ex){

                  ex.printStackTrace();

                }

                return SKIP_BODY;

              }

              public void release(){

                super.release();

              }

            }

          TagLib應該就是都該從TagSupport派生出來的了。

          3.       [根目錄]/ WEB-INF/目錄下面新建mytaglib.tld

          4.       mytaglib.tld輸入內容:

           

             1.0

             1.1

             mytablib

             /mytaglib

            

              hello

              test.hello.HelloTag

              empty

              Just Says Hello

            

           

          里面覺得主要的兩個內容是將在jsp中引用的時候用到,tag/tagclassTagLib對應class的引用,和上面Javapackage對應。

          5.       [根目錄]/ test/下面新建helloTag.jsp,并輸入內容:

            <%@ taglib uri="/mytaglib" prefix="mm" %>

           

          這樣就行了。通過mm來調用taglib里面的類,函數。看起來似乎Java Bean也可以實現同樣的功能,而且似乎Java Bean更加靈活,初學,需要以后進一步認識。

          6.       現象:瀏覽地址http://[ROOT]/test/helloTag.jsp,頁面顯示:”Hello World!”

          7.       tld中似乎有直接對TagLib類中的static函數進行部署的方法,暫時沒有嘗試出來。這種方法在Java Bean中應該沒有可替代的方法吧!

           

           

          小結:

          1.                JAVA中的網站建設可以這么多層次,明顯增加了靈活性,可使用JAVA所有類庫的,這樣做出來的網站,無疑功能可以是非常強大的。

          2.                使用JAD等反編譯工具,可以將Java 的目標文件class反編譯出來,這樣要學習別人的成果,變得非常容易,但是也同樣自己的代碼也不安全了。

          3.                JAVA在不同系統中的支持,增加了程序的可復用性,實現同樣功能,用不同的類庫,語言寫幾次實在不爽。

          4.                JAVA包括派生出來的工具環境的配置紛繁復雜,還真是麻煩。J Builder挺好用,為了更透徹了解JAVA,了解一下不同的部署步驟還是必要的。

          轉:http://blog.csdn.net/hahu/archive/2004/07/18/44545.aspx
          posted on 2008-09-18 22:18 poower 閱讀(1373) 評論(0)  編輯  收藏 所屬分類: j2ee學習筆記
          主站蜘蛛池模板: 平利县| 仁布县| 织金县| 张家界市| 华阴市| 武鸣县| 兴安盟| 嘉鱼县| 甘泉县| 克拉玛依市| 商水县| 绥化市| 崇阳县| 南安市| 睢宁县| 巢湖市| 阳高县| 丹凤县| 沅江市| 寿宁县| 新宾| 巴青县| 龙口市| 延边| 漳平市| 玉溪市| 金华市| 榆中县| 浙江省| 西安市| 邹城市| 景洪市| 中牟县| 雅安市| 新沂市| 建瓯市| 绥宁县| 驻马店市| 定结县| 合水县| 昌宁县|