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

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

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

    andy_taoke
    大家一起來學JAVA
    posts - 9,comments - 3,trackbacks - 0
    今天動手實踐了一下寫Servlet的代碼,感覺不錯.現在寫些東西給大家分享一下:

    我們是用Servlet的API處理HTTP請求的,現在我給大家看一段代碼,它的作用就是在瀏覽器里面打出一行字,經典的不能再經典(你想說老土我也不反對)就是,Hello,World
    package Chap2;

    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
    {
        // eclipse非要讓我加這句話,要么會有一個警告,我看對運行沒有什么影響我就加了,不知道哪位高人知道怎么用這個東西
        private static final long serialVersionUID = 1L;

        // 這個方法可以處理GET的請求
        public void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {

            // 設置一個Content-Type首部
            response.setContentType("text/html");
           
            // 這個東西就像你拿到了向客戶端瀏覽器寫字的一支筆
            PrintWriter out = response.getWriter();       
            // 現在可以往客戶端的瀏覽器寫HTML代碼了,想怎么寫就怎么寫,呵呵
            out.println( "<HTML>" );
            out.println( "<HEAD><TITLE>Hello World</TITLE></HEAD>" );
            out.println( "<BODY>" );
            out.println( "<BIG>Hello World</BIG>" );
            out.println( "</BODY></HTML>" );
        }
    }

    把這個東西發布到你的服務器下面,你就可以看到一行字:Hello,World.
    至于怎么配置服務器,近期我會給大家一份資料,里面詳細描述了配置JDK+Tomcat+Eclipse+MyEclipse的方法,這些軟件都可以到我的網站上去下載,鏈接在我的簽名里面!

    下面我們來點動態的東西,做完了以后,學過JSP的人們會發現,這個...不就是JSP么?
    對!JSP就是拿這個東西實現的,就如同Windows API和MFC的關系;相信如果你是個肯鉆研的主,早就不愿意學MFC那個把你規定的死死的東西了吧.
    第二個例子:
    package Chap2;

    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 Exp2 extends HttpServlet
    {
        private static final long serialVersionUID = 1L;

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

            response.setContentType("text/html");
            PrintWriter out = response.getWriter();
           
            String name = request.getParameter( "name" );
            out.println( "<HTML>" );
            out.println( "<HEAD>" );
            out.println( "<TITLE>Hello " + name + ".</TITLE>" );
            out.println( "</HEAD>" );
            out.println( "<BODY>" );
            out.println( "Hello, " + name + "." );
            out.println( "</BODY>" );
            out.println( "</HTML>" );
        }
       
        public String getServletInfo()
        {
            return "A servlet that knows the name of the person to whom it's saying hello";
        }
    }
    這個Servlet可以接受一個name的參數,當然你可以新建一個頁面來讓用戶來提交這個參數.
    我給大家一個
    <HTML>
        <HEAD>
            <TITLE>Introductions</TITLE>
        </HEAD>
       
        <BODY>
            Exp2
            <FORM METHOD=GET ACTION="servlet/Exp2"> If you don't mind me asking, what is your name?
                <INPUT TYPE=TEXT NAME="name"></P>
                <INPUT TYPE=SUBMIT>
            </FORM>
        </BODY>
    </HTML>
    純粹的HTML代碼,簡單的不能再簡單,根據你服務器配置的不同和Servlet存放的地方的不同,你要看你的FORM標簽上面那個ACTION屬性該怎么填!

    Exp2那個Servlet就是接受了一個name的變量,然后叫一下你的名字,問候你下你呵呵.

    但是有時候用戶會發出一個HEAD請求(客戶端只想看到響應的首部時發出的請求),這個東西可能會讓你很煩,你心里會說這些人就會給我搗亂,發什么HEAD請求啊!確實這個東西看上去微不足道,也沒有doHead()的方法可以使用.任何有子類HttpServlet和實現了doGet方法的servlet都支持HEAD請求.

    現在我們看一下處理HEAD請求的工作過程:
    HttpServlet的service()方法確定HEAD請求并把它特殊對待。它構建一個修改過的HttpServletResponse對象,并把它和原來的請求一起發給doGet方法(你知道了,我們要在doGet那個東西里面做文章!)。很高興地告訴你,如果是一個HEAD請求,系統可以為我們自動屏蔽后面的輸出,但是如果讓我們來做一個判斷,你可以提高你的程序性能,也能加深我們對這個Servlet的了解。

    我們要在Exp2的doGet()方法中加一句話:
    if( request.getMethod().equals( "HEAD" ) ) return;
    通過request這個對象我們可以看到客戶端的請求類型,如果這個字符串時HEAD,哈哈,干掉他!

    但是,即使我們只是處理一個HEAD請求,我們也要設置Content-Type首部。
    posted on 2005-12-30 13:32 Fusion KISS 閱讀(418) 評論(0)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 瑟瑟网站免费网站入口| 亚洲日韩av无码中文| aa毛片免费全部播放完整| 免费少妇a级毛片| 日日躁狠狠躁狠狠爱免费视频 | 国产在亚洲线视频观看| 日本黄色免费观看| 黄床大片30分钟免费看| 亚洲国产香蕉人人爽成AV片久久| 一本久久免费视频| 国产AV无码专区亚洲精品| 日韩内射激情视频在线播放免费| 久久精品国产亚洲av高清漫画 | 亚洲国产电影av在线网址| 久久九九免费高清视频| 亚洲第一区香蕉_国产a| 国产无人区码卡二卡三卡免费| 亚洲色大成网站www永久网站| 国产精品二区三区免费播放心 | 成视频年人黄网站免费视频| 亚洲欧洲免费无码| 亚洲成a人片在线播放| 另类免费视频一区二区在线观看| 99人中文字幕亚洲区 | 久久精品国产亚洲综合色| 巨波霸乳在线永久免费视频| 亚洲精品国产摄像头| 国产午夜亚洲精品理论片不卡| 日本亚洲欧洲免费天堂午夜看片女人员| 亚洲精品国产专区91在线| 麻豆成人精品国产免费| 精品熟女少妇aⅴ免费久久 | 一出一进一爽一粗一大视频免费的| 亚洲av无码专区在线播放| 成年18网站免费视频网站| 中国人免费观看高清在线观看二区| 亚洲色欲www综合网| heyzo亚洲精品日韩| 亚洲啪啪免费视频| 日韩在线观看免费完整版视频| 在线观看亚洲一区二区|