隨筆-159  評論-114  文章-7  trackbacks-0
          容器就是負責運行和銷毀servlet的一組類的程序,一組代碼的運行環境。

          為了開發方便,可以從javax.servlet.GenericServlet 繼承實現主要業務方法。

          注意幾點,

          1.有一個無參數的init()方法,是GenericServlet實現的,它不是Servlet接口中的方法,所以不會由容器調用,而是因為GenericServlet本身已經覆蓋了帶參數的init方法,并且在方法的最后調用了自己的無參init()。

          所以開發人員只需要繼承,并覆蓋無參init,實現自己的資源申請動作。

          如果真要覆蓋帶參數的init(ServletConfig config),那么需要在第一行調用super.init(config),因為getServletConfig要返回這個config對象,如果不調用父類的init,不會保存下來。那么getServletConfig返回空。

          HttpServlet方便了程序員進行Http協議的Servlet開發。

          主要有幾個

          protected void doGet(HttpServletRequest req,
                               HttpServletResponse resp) throws ServletException,
                               java.io.IOException

          protected void doPost(HttpServletRequest req,
                                HttpServletResponse resp) throws ServletException,
                                java.io.IOException

          protected void service(HttpServletRequest req,
                                 HttpServletResponse resp) throws ServletException,
                                 java.io.IOException
          主要參數,已經由容器封裝成為HttpServletRequest對象,相應也就有更多的方法獲得相關信息。

          package imshark.servlet.http;

          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 PrintHeadingServlet extends HttpServlet {

              
          /**
               * Constructor of the object.
               
          */

              
          public PrintHeadingServlet() {
                  
          super();
              }


              
          /**
               * Destruction of the servlet. <br>
               
          */

              
          public void destroy() {
                  
          super.destroy(); // Just puts "destroy" string in log
                  
          // Put your code here
              }


              
          /**
               * The doGet method of the servlet. <br>
               * 
               * This method is called when a form has its tag value method equals to get.
               * 
               * 
          @param request
               *            the request send by the client to the server
               * 
          @param response
               *            the response send by the server to the client
               * 
          @throws ServletException
               *             if an error occurred
               * 
          @throws IOException
               *             if an error occurred
               
          */

              
          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>");
                  
          for (int i = 1; i < 6; i++{
                      out.print(
          "     <h" + i + ">" + this.getClass() + "</h" + i + ">");
                  }

                  out.println(
          "  </BODY>");
                  out.println(
          "</HTML>");
                  out.flush();
                  out.close();
              }


              
          /**
               * The doPost method of the servlet. <br>
               * 
               * This method is called when a form has its tag value method equals to
               * post.
               * 
               * 
          @param request
               *            the request send by the client to the server
               * 
          @param response
               *            the response send by the server to the client
               * 
          @throws ServletException
               *             if an error occurred
               * 
          @throws IOException
               *             if an error occurred
               
          */

              
          public void doPost(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(
          this.getClass());
                  out.println(
          ", using the POST method");
                  out.println(
          "  </BODY>");
                  out.println(
          "</HTML>");
                  out.flush();
                  out.close();
              }


              
          /**
               * Initialization of the servlet. <br>
               * 
               * 
          @throws ServletException
               *             if an error occure
               
          */

              
          public void init() throws ServletException {
                  
          // Put your code here
              }


          }


          ===============================================

          處理Html表單。

          主要適用HttpServletRequest的一些方法。

          public java.lang.String getParameter(java.lang.String name)

          public java.util.Enumeration getParameterNames()

          public java.lang.String[] getParameterValues(java.lang.String name)

          public java.util.Map getParameterMap()



          ============================
          public java.lang.String getProtocol()

          public java.lang.String getServerName()

          public int getServerPort()
          ============================


          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
          <html>
            
          <head>
              
          <title>index.html</title>
              
              
          <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
              
          <meta http-equiv="description" content="this is my page">
              
          <meta http-equiv="content-type" content="text/html; charset=UTF-8">
              
              
          <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
              
            
          </head>
            
            
          <body>
                  
          <FORM name="regForm" action="/MyWebApp/servlet/HandleFormServlet" method="POST">
                      
          <P>
                           
          &nbsp;
                          
          <INPUT type="text" name="userName" value="輸入姓名" size="20" maxlength="15">
                      
          </P><P>
                           
          &nbsp;
                          
          <INPUT type="password" name="userPw" size="20" maxlength="18">
                      
          </P><P>
                           
          &nbsp; 男<INPUT type="radio" name="sex" value="1" checked>
                           女
          <INPUT type="radio" name="sex" value="0">                
                      
          </P><P>
                           
          &nbsp; 足球<INPUT type="checkbox" name="habit" value="football">
                           籃球
          <INPUT type="checkbox" name="habit" value="basketball">
                      
          </P><P>
                           
          &nbsp; 自我介紹:</P><P>
                           
          &nbsp;
                          
          <TEXTAREA name="selfInfo" rows="5" cols="40"></TEXTAREA>
                      
          </P><P>
                          
          &nbsp; <INPUT type="submit" value="注冊">
                          
          <INPUT type="Reset" value="重置" />
                          
          &nbsp;</P><P></P></FORM>
              
          </body>
          </html>


          package imshark.servlet.http;

          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 HandleFormServlet extends HttpServlet {

              
          /**
               * Constructor of the object.
               
          */

              
          public HandleFormServlet() {
                  
          super();
              }


              
          /**
               * Destruction of the servlet. <br>
               
          */

              
          public void destroy() {
                  
          super.destroy(); // Just puts "destroy" string in log
                  
          // Put your code here
              }


              
          /**
               * The doGet method of the servlet. <br>
               *
               * This method is called when a form has its tag value method equals to get.
               * 
               * 
          @param request the request send by the client to the server
               * 
          @param response the response send by the server to the client
               * 
          @throws ServletException if an error occurred
               * 
          @throws IOException if an error occurred
               
          */

              
          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(
          this.getClass());
                  out.println(
          ", using the GET method");
                  out.println(
          "  </BODY>");
                  out.println(
          "</HTML>");
                  out.flush();
                  out.close();
              }


              
          /**
               * The doPost method of the servlet. <br>
               *
               * This method is called when a form has its tag value method equals to post.
               * 
               * 
          @param request the request send by the client to the server
               * 
          @param response the response send by the server to the client
               * 
          @throws ServletException if an error occurred
               * 
          @throws IOException if an error occurred
               
          */

              
          public void doPost(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>");
                  java.util.Enumeration names 
          = request.getParameterNames();
                  
          while(names.hasMoreElements())
                  
          {
                      String nameKey 
          = (String)names.nextElement();
                      String[] values 
          = request.getParameterValues(nameKey);
                      out.print(nameKey 
          + "{");
                      
          for(int i = 0; i < values.length; i++)
                      
          {
                          
          if(i != 0)
                              out.print(
          ","+ values[i]);
                          out.print(values[i]);
                      }

                      out.println(
          "}");
                  }

                  out.println(
          "  </BODY>");
                  out.println(
          "</HTML>");
                  out.flush();
                  out.close();
              }


              
          /**
               * Initialization of the servlet. <br>
               *
               * 
          @throws ServletException if an error occure
               
          */

              
          public void init() throws ServletException {
                  
          // Put your code here
              }


          }



          posted on 2006-02-11 12:10 北國狼人的BloG 閱讀(445) 評論(0)  編輯  收藏 所屬分類: 達內學習總結
          主站蜘蛛池模板: 花垣县| 郯城县| 哈尔滨市| 威信县| 莱阳市| 思南县| 彰化县| 霍城县| 武威市| 财经| 陵水| 永川市| 阜南县| 木里| 始兴县| 定远县| 容城县| 加查县| 辉南县| 岑溪市| 锡林浩特市| 日土县| 普洱| 安吉县| 桂阳县| 兰坪| 丽水市| 连城县| 城固县| 剑川县| 达日县| 清徐县| 乌审旗| 翁牛特旗| 乌拉特前旗| 仁怀市| 光山县| 横峰县| 多伦县| 礼泉县| 揭东县|