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

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

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

        還記得年前在看尚學(xué)堂教程時(shí)候馬先生曾經(jīng)說過“JavaScript在客戶端無所不能,而Servlet在服務(wù)器端無所不能”。這句話讓我感覺Servlet深不可測。
        而在后來知道JSP,JSF,還有一系列WEB開發(fā)框架也是基于Servlet的時(shí)候更是對它懷有憧憬之神往。所以從今天起,開始繼續(xù)重新整理下Servlet。
        自己看的東西,面上話就不說了,概念的東西網(wǎng)上一搜都有。
        J2EE就是一系列標(biāo)準(zhǔn),Servlet屬于它所以也不例外。一些WEB容器符合這標(biāo)準(zhǔn)規(guī)范,就可以在其中使用Servlet。只用過TOMCAT所以別的就不說了。
        在TOMCAT中,WEB程序都在“webapps”這個(gè)文件夾中。要符合Servlet標(biāo)準(zhǔn),就有類似與這樣的一個(gè)結(jié)構(gòu):1、在項(xiàng)目目錄下必須存在“WEB-INF”這個(gè)目錄。2、“WEB-INF”下必須有一個(gè)“web.xml”文件,這個(gè)文件符合J2EE規(guī)范。3、如果要跑Servlet在“WEB-INF”下存在一個(gè)“classes”文件夾里面存放編譯好的Servlet文件(*.class)。4、“WEB-INF”下包含一個(gè)“lib”文件夾來存放所用到的“jar包”。
       
    Servlet是一個(gè)接口,Servlet是在服務(wù)器端運(yùn)行的程序,也可以在除HTTP服務(wù)器外的其他服務(wù)器端運(yùn)行,一般情況來說我們要實(shí)現(xiàn)Servlet這個(gè)接口就實(shí)現(xiàn)它的子類,GenericServle直接實(shí)現(xiàn)Serlvet但是個(gè)抽象類,所以直接實(shí)現(xiàn)GenericServle的子類HttpSerlvet。
        當(dāng)客戶端請求服務(wù)器的時(shí)候所制定的Servlet會(huì)被調(diào)用。doGet和doPost方法,直接在url訪問是調(diào)用doGet只有在通過Form提交時(shí)候并且Form的action屬性為post時(shí)候才調(diào)用doPost方法。
        這兩個(gè)方法里都有兩個(gè)參數(shù)“request”和“response”request是取得從客戶端拿來的數(shù)據(jù),而response是對客戶端發(fā)送數(shù)據(jù)。
        新建一個(gè)Servlet,名字為“HelloWorld.java”我把代碼貼下面。(建的時(shí)候如果IDE是不支持Servlet的話就先吧Servlet-api.jar這個(gè)包導(dǎo)入工程中,比如在用Eclipse做開發(fā)的時(shí)候。)
    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;


    public class HelloWorld extends HttpServlet {


        
    public void doGet(HttpServletRequest request, HttpServletResponse response)
                
    throws ServletException, IOException {
           
            response.setContentType(
    "text/html");//文件類型
           
            PrintWriter out 
    = response.getWriter();//拿到“out”
           
            // 簡單,不說了,一系列的客戶端輸出
            
         
            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(
    "HelloWorld!");
            out.println(
    "  </BODY>");
            out.println(
    "</HTML>");
            out.flush();
            out.close();
        }

    }
        建好這個(gè)文件之后編譯它,然后把它放在剛才說的“WEB-INF/classes/”下面

    這樣我就差配web.xml了,這個(gè)“web.xml”是web項(xiàng)目的配置核心。
    下面在WEB-INF下建立個(gè)文件,改名成"web.xml"
    把下面代碼寫到里面:
    <?xml version="1.0" encoding="UTF-8"?> 

    <web-app version="2.4" 
    xmlns
    ="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi
    ="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation
    ="http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    > 
    <servlet> //Servlet配置
        
    <servlet-name>Hello</servlet-name>       //這里是設(shè)置剛才寫的servlet的名字可以隨便起
        
    <servlet-class>HelloWorld</servlet-class>  //這里是class文件的名字,建立從classes目錄下HelloWorld.class文件把文件名字拷貝過來,不要后綴。。。。
    </servlet> 

    <servlet-mapping> //Servlet映射
        
    <servlet-name>Hello</servlet-name> //這里是指要訪問這個(gè)URL的時(shí)候?qū)?yīng)需要調(diào)用哪個(gè) Servlet。注意跟上面的“servlet名字”一直,而不是類名。
        
    <url-pattern>/Hello</url-pattern> //設(shè)置需要訪問的url是跟在你webapps下面項(xiàng)目名字后的記得以“/”開頭
    </servlet-mapping> 
    </web-app>
    都配完了。
    現(xiàn)在開啟tomcat服務(wù)器。這么簡單的程序,應(yīng)該不出錯(cuò)的,如果出錯(cuò),最多的應(yīng)該是web.xml文件的錯(cuò)誤,配置問題,請自己檢查。而且注意,servlet-class里“HelloWorld”要與你的HelloWorld.class名字大小寫一致。
    打開瀏覽器。如果你跟我的目錄一模一樣的話,就應(yīng)該輸入 http://localhost:8080/TestServlet/Hello

        今天心情不好,就寫到這里吧。


    posted on 2008-06-04 22:15 leweslove 閱讀(275) 評論(0)  編輯  收藏 所屬分類: J2EE

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


    網(wǎng)站導(dǎo)航:
     
    Copyright@2008-2009 By Evan
    主站蜘蛛池模板: 在线观看免费为成年视频| 亚洲欧美黑人猛交群| 国产美女无遮挡免费视频| 久久这里只精品99re免费 | 日韩免费无码视频一区二区三区| 亚洲变态另类一区二区三区| 中文字幕乱码亚洲无线三区| 好爽又高潮了毛片免费下载| 最近中文字幕2019高清免费| 成人av片无码免费天天看| 日韩亚洲翔田千里在线| 亚洲天堂一区在线| 亚洲成AV人在线观看天堂无码| 亚洲日本乱码一区二区在线二产线| 国产亚洲视频在线播放大全| 最近最新高清免费中文字幕| 亚洲精品在线网站| 欧洲乱码伦视频免费国产| 国产成人精品免费视频动漫| 国产亚洲精品无码拍拍拍色欲| 国内精品久久久久影院亚洲| 久久久久亚洲精品无码蜜桃| 国产高清免费观看| 天天操夜夜操免费视频| 免费无码AV片在线观看软件| 成人在线免费看片| aⅴ在线免费观看| 性短视频在线观看免费不卡流畅 | 在线观看永久免费| 久久精品免费电影| 国产免费一区二区视频| a级片免费在线播放| 国内精品久久久久影院免费| a级毛片毛片免费观看永久| 97人妻精品全国免费视频| 两个人看的www视频免费完整版| 精精国产www视频在线观看免费| WWW免费视频在线观看播放| 你好老叔电影观看免费| 美女被cao网站免费看在线看| 久久午夜夜伦鲁鲁片免费无码 |