posts - 23,comments - 12,trackbacks - 0

          建目錄coreservlets,將兩個servlets放在這個目錄中,在coreservlet的上級目錄
          運行:
          javac coreservlets/HelloServlet3.java



          package coreservlets;

          import java.io.*;
          import javax.servlet.*;
          import javax.servlet.http.*;

          /** Simple servlet for testing the use of packages
           *  and utilities from the same package.
           *  <P>
           *  Taken from Core Servlets and JavaServer Pages 2nd Edition
           *  from Prentice Hall and Sun Microsystems Press,
           *  http://www.coreservlets.com/.
           *  &copy; 2003 Marty Hall; may be freely used or adapted.
           */

          public class HelloServlet3 extends HttpServlet {
            public void doGet(HttpServletRequest request,
                              HttpServletResponse response)
                throws ServletException, IOException {
              response.setContentType("text/html");
              PrintWriter out = response.getWriter();
              String title = "Hello (3)";
              out.println(ServletUtilities.headWithTitle(title) +
                          "<BODY BGCOLOR=\"#FDF5E6\">\n" +
                          "<H1>" + title + "</H1>\n" +
                          "</BODY></HTML>");
            }
          }




          package coreservlets;

          import javax.servlet.*;
          import javax.servlet.http.*;

          /** Some simple timesavers. Note that most are static methods.
           *  <P>
           *  Taken from Core Servlets and JavaServer Pages 2nd Edition
           *  from Prentice Hall and Sun Microsystems Press,
           *  http://www.coreservlets.com/.
           *  &copy; 2003 Marty Hall; may be freely used or adapted.
           */

          public class ServletUtilities {
            public static final String DOCTYPE =
              "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 " +
              "Transitional//EN\">";

            public static String headWithTitle(String title) {
              return(DOCTYPE + "\n" +
                     "<HTML>\n" +
                     "<HEAD><TITLE>" + title + "</TITLE></HEAD>\n");
            }

            /** Read a parameter with the specified name, convert it
             *  to an int, and return it. Return the designated default
             *  value if the parameter doesn't exist or if it is an
             *  illegal integer format.
            */
           
            public static int getIntParameter(HttpServletRequest request,
                                              String paramName,
                                              int defaultValue) {
              String paramString = request.getParameter(paramName);
              int paramValue;
              try {
                paramValue = Integer.parseInt(paramString);
              } catch(NumberFormatException nfe) { // null or bad format
                paramValue = defaultValue;
              }
              return(paramValue);
            }

            public static double getDoubleParameter
                                           (HttpServletRequest request,
                                            String paramName,
                                            double defaultValue) {
              String paramString = request.getParameter(paramName);
              double paramValue;
              try {
                paramValue = Double.parseDouble(paramString);
              } catch(NumberFormatException nfe) { // null or bad format
                paramValue = defaultValue;
              }
              return(paramValue);
            }

            /** Replaces characters that have special HTML meanings
             *  with their corresponding HTML character entities.
             */
           
            // Note that Javadoc is not used for the more detailed
            // documentation due to the difficulty of making the
            // special chars readable in both plain text and HTML.
            //
            // Given a string, this method replaces all occurrences of
            //  '<' with '&lt;', all occurrences of '>' with
            //  '&gt;', and (to handle cases that occur inside attribute
            //  values), all occurrences of double quotes with
            //  '&quot;' and all occurrences of '&' with '&amp;'.
            //  Without such filtering, an arbitrary string
            //  could not safely be inserted in a Web page.

            public static String filter(String input) {
              if (!hasSpecialChars(input)) {
                return(input);
              }
              StringBuffer filtered = new StringBuffer(input.length());
              char c;
              for(int i=0; i<input.length(); i++) {
                c = input.charAt(i);
                switch(c) {
                  case '<': filtered.append("&lt;"); break;
                  case '>': filtered.append("&gt;"); break;
                  case '"': filtered.append("&quot;"); break;
                  case '&': filtered.append("&amp;"); break;
                  default: filtered.append(c);
                }
              }
              return(filtered.toString());
            }

            private static boolean hasSpecialChars(String input) {
              boolean flag = false;
              if ((input != null) && (input.length() > 0)) {
                char c;
                for(int i=0; i<input.length(); i++) {
                  c = input.charAt(i);
                  switch(c) {
                    case '<': flag = true; break;
                    case '>': flag = true; break;
                    case '"': flag = true; break;
                    case '&': flag = true; break;
                  }
                }
              }
              return(flag);
            }
          }

           

          posted on 2005-08-17 11:34 my java 閱讀(1028) 評論(1)  編輯  收藏 所屬分類: java

          FeedBack:
          # re: package編譯
          2008-04-13 22:27 | pobu
          你好,我對package的編譯過程非常迷惑,希望能得到你的幫助!  回復  更多評論
            
          主站蜘蛛池模板: 阳原县| 孝昌县| 白玉县| 赤城县| 胶南市| 望奎县| 介休市| 南昌市| 黄梅县| 凤城市| 景洪市| 稻城县| 富民县| 年辖:市辖区| 安陆市| 胶州市| 泽州县| 循化| 东丰县| 绥中县| 徐汇区| 江孜县| 沐川县| 卢龙县| 桃园县| 龙海市| 南投县| 舒城县| 正宁县| 上犹县| 延长县| 阳信县| 柞水县| 辽中县| 巴东县| 资阳市| 岫岩| 西城区| 兴仁县| 久治县| 绵阳市|