国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

Jsp&Servelet 學(xué)習(xí)筆記(1)

2019-11-18 16:40:51
字體:
供稿:網(wǎng)友
1.1    寫出一個 servelet 程序
1.2    寫出一個 jsp程序
1.3    編譯一個 Servlet 程序
1.4    打包一個Servlets 和 Jsps程序
1.5    構(gòu)建一個部署描述器
 
 
1.1    寫出一個 servelet 程序
 
問題
你想寫一個servlet作為一個web應(yīng)用程序
解決方案
寫一個java class 從 javax.servlet.http.HttpServlet.繼承。首先必須倒入一個類包servlet.jar。你將需要里面的類庫來編譯這個servlet程序。
討論
一個servlet程序就是一個java類,用于響應(yīng)客戶端通過網(wǎng)絡(luò)請求的動態(tài)內(nèi)容。如果你熟悉(CGI)程序,那么java技術(shù)的servlets完全能取代CGI程序。通常稱為一個web 組件,一個servlet 程序在一個運(yùn)行環(huán)境執(zhí)行將被提供一個servles容器比如 tomcat和bea weblogic.
注釋:一個web容器能夠被
Servlets被安裝在一個web容器中作為一個web應(yīng)用程序的一部分。這個應(yīng)用程序?qū)EB資源。像HTML頁面,圖片,多媒體片斷,servlets, jsps,xml 配置文件,java運(yùn)行類和類庫當(dāng)一個web應(yīng)用程序部署到一個web容器里,這個容器將產(chǎn)生和裝載這個java servlet類的實(shí)例到JVM去處理對于servlet的請求。
所有的servlet繼承 javax.servlet.Servlet接口。開發(fā)Web應(yīng)用的程序員特別的寫了一個servlet
繼承于javax.servlet.http.HttpServlet,一個抽象類實(shí)現(xiàn)了Servlet接口并且它是特別為處理HTTP請求設(shè)計的。
當(dāng)一個web容器產(chǎn)生一個servlet實(shí)例時,它的基本順序如下:
1、 servlet容器首先調(diào)用這個servlet的init()方法,它建會初始化一個資源給servlet使用。列如一個logger。這個init()方法在整個servlet的生存周期只會被調(diào)用一次。
2、 init()方法初始化了一個對象,對象繼承了java.servlet.ServletConfig接口。這個對象使servlet能夠初始化那些被聲明在部署描述符的參數(shù)。ServletConfig也使servlet有權(quán)使用一個 javax.servlet.ServletContext 的對象,用這個對象servlet可以記錄信息,分派請求到其他的web組件上并且能夠使用在同一個應(yīng)用上的其他web資源。
3、 servlet容器調(diào)用這個servlet的service()方法去響應(yīng)servlet的一些請求。根據(jù)HttpServlets,service()自動的調(diào)用合適的HTTP方法去處理請求通過調(diào)用servlet的doGet()或者doPost()方法。幾個例子,用戶發(fā)送了個Post請求這時servlet通過doPost()方法的執(zhí)行來響應(yīng)這個請求。
4、 當(dāng)調(diào)用兩個主要的HttpServlet的doPost(),doGet()方法,這個servlet容器將產(chǎn)生javax..servlet.http.HttpServletRequest和HttpServletResponse 的對象并且把它們作為參數(shù)傳到這些處理請求的方法中。
http://m.survivalescaperooms.com/ 
5、 管理一個servlet的生命周期,或者決定這個servlet實(shí)例對request請求的處理,在java虛擬機(jī)上的存在時間。當(dāng)一個servlet容器開始移除一個servlet的時候?qū)⒄{(diào)用servlet的destroy()方法,在這個方法中能夠釋放所有的資源,比如一個數(shù)據(jù)庫連接。
Example  A typical HttpServlet
 
 package com.mydev;  
 import java.io.IOException; import java.io.PRintWriter;  
 import java.util.Enumeration; import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 //必須繼承HttpServlet接口
 public class FirstServlet extends HttpServlet ...{    
         public void doGet(HttpServletRequest request,     HttpServletResponse response) throws ServletException, java.io.IOException ...{       
      //set the MIME type of the response, "text/html" 
        response.setContentType("text/html");   
      //use a PrintWriter to send text data to the client who has requested the 
     //servlet 
       java.io.PrintWriter out = response.getWriter( );  
    //Begin assembling the HTML content    out.println("<html><head>");   
        out.println("<title>Help Page</title></head><body>"); 
        out.println("<h2>Please submit your information</h2>");   
    //make sure method="post" so that the servlet service method
    //calls doPost in the response to this form submit 
         out.println(        "<form method="post" action ="" + request.getContextPath( ) +            "/firstservlet" >"); 
         out.println("<table border="0"><tr><td valign="top">"); 
         out.println("Your first name: </td> <td valign="top">"); 
         out.println("<input type="text" name="firstname" size="20">"); 
         out.println("</td></tr><tr><td valign="top">"); 
         out.println("Your last name: </td> <td valign="top">"); 
         out.println("<input type="text" name="lastname" size="20">"); 
         out.println("</td></tr><tr><td valign="top">"); 
         out.println("Your email: </td> <td valign="top">"); 
         out.println("<input type="text" name="email" size="20">"); 
         out.println("</td></tr><tr><td valign="top">"); 
         out.println("<input type="submit" value="Submit Info"></td></tr>"); 
         out.println("</table></form>");    out.println("</body></html>");   
   }
//doGet
    public void doPost(HttpServletRequest request,     HttpServletResponse response) throws ServletException,    java.io.IOException   ...{    
    //display the parameter names and values 
        Enumeration paramNames = request.getParameterNames( );  
        String parName;
       //this will hold the name of the parameter   
         boolean emptyEnum = false; 
        if (! paramNames.hasMoreElements( ))  
        emptyEnum = true;      
           //set the MIME type of the response, "text/html" 
        response.setContentType("text/html");    
         //use a PrintWriter to send text data to the client 
        java.io.PrintWriter out = response.getWriter( );    
         //Begin assembling the HTML content 
        out.println("<html><head>"); 
        out.println("<title>Submitted Parameters</title></head><body>");   
          if (emptyEnum)  ...{  
                out.println(           "<h2>Sorry, the request does not contain any parameters</h2>");
          } else   ...{  
                        out.println(        "<h2>Here are the submitted parameter values</h2>");  
          }    
          while(paramNames.hasMoreElements( ))  ...{     
                  parName = (String) paramNames.nextElement( );    
                  out.println(            "<strong>" + parName + "</strong> : " +                request.getParameter(parName));   
                 out.println("<br />");  
          }//while     
         out.println("</body></html>");  
         }
 // doPost
 }
 
你有可能注意到doGet()和doPost()每個將拋出ServletException和IOException.那是因為response.getWriter()將會拋出IO異常。
 
http://blog.csdn.net/bruceleey/archive/2007/02/07/1503843.aspx
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 兴义市| 黄冈市| 陵水| 哈尔滨市| 吉首市| 墨江| 东光县| 阜宁县| 寿宁县| 珠海市| 思南县| 奈曼旗| 遂溪县| 北海市| 尼勒克县| 时尚| 左权县| 瓦房店市| 政和县| 康乐县| 珠海市| 旬阳县| 乌兰察布市| 兰溪市| 商水县| 肇源县| 栖霞市| 吴忠市| 凉城县| 万州区| 潮安县| 西平县| 齐河县| 定远县| 绥化市| 永川市| 衡山县| 永兴县| 永兴县| 崇义县| 衢州市|