home *** CD-ROM | disk | FTP | other *** search
/ PC World 2001 March / PCWorld_2001-03_cd.bin / Software / Komercni / VAgeJava / ivj35 / setup / JSP.Cab / F27261_LeapYear.java < prev    next >
Text File  |  2000-08-10  |  6KB  |  140 lines

  1. package com.ibm.ivj.wte.samples.leapyear;
  2.  
  3. // Licensed Material - Property of IBM 
  4. // (C) Copyright IBM Corp. 2000 - All Rights Reserved 
  5. // 
  6. // DISCLAIMER: 
  7. // The following [enclosed] code is sample code created by IBM 
  8. // Corporation.  This sample code is not part of any standard IBM product 
  9. // and is provided to you solely for the purpose of assisting you in the 
  10. // development of your applications.  The code is provided 'AS IS', 
  11. // without warranty or condition of any kind.  IBM shall not be liable for any damages 
  12. // arising out of your use of the sample code, even if IBM has been 
  13. // advised of the possibility of such damages.
  14.  
  15. /**
  16.  * Insert the type's description here.
  17.  * Creation date: (05/22/2000 11:14:52 AM)
  18.  * @author: Administrator
  19.  */
  20. public class LeapYear extends javax.servlet.http.HttpServlet {
  21. private static final String copyright = 
  22.     "(c) Copyright IBM Corporation 2000.";
  23.  
  24. /**
  25.  * Process incoming HTTP GET requests 
  26.  * 
  27.  * @param request Object that encapsulates the request to the servlet 
  28.  * @param response Object that encapsulates the response from the servlet
  29.  */
  30. public void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException {
  31.  
  32.     performTask(request, response);
  33.  
  34. }
  35. /**
  36.  * Process incoming HTTP POST requests 
  37.  * 
  38.  * @param request Object that encapsulates the request to the servlet 
  39.  * @param response Object that encapsulates the response from the servlet
  40.  */
  41. public void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException {
  42.  
  43.     performTask(request, response);
  44.  
  45. }
  46. /**
  47.  * Returns the requested parameter 
  48.  * 
  49.  * @param request Object that encapsulates the request to the servlet 
  50.  * @param parameterName The name of the parameter value to return 
  51.  * @param checkRequestParameters when true, the request parameters are searched 
  52.  * @param checkInitParameters when true, the servlet init parameters are searched 
  53.  * @param isParameterRequired when true, an exception is thrown when the parameter cannot be found 
  54.  * @param defaultValue The default value to return when the parameter is not found 
  55.  * @return The parameter value 
  56.  * @exception java.lang.Exception Thrown when the parameter is not found 
  57.  */
  58. public String getParameter(javax.servlet.http.HttpServletRequest request, String parameterName, boolean checkRequestParameters, boolean checkInitParameters, boolean isParameterRequired, String defaultValue) throws Exception {
  59.  
  60.     String[] parameterValues = null;
  61.     String paramValue = null;
  62.  
  63.     // Get the parameter from the request object if necessary.
  64.     if (checkRequestParameters)
  65.     {
  66.       parameterValues = request.getParameterValues(parameterName);
  67.       if (parameterValues != null)
  68.            paramValue = parameterValues[0];
  69.     }
  70.  
  71.     // Get the parameter from the servlet init parameters if
  72.     // it was not in the request parameter.
  73.     if ( (checkInitParameters) && (paramValue == null) )
  74.       paramValue = getServletConfig().getInitParameter(parameterName);
  75.  
  76.     // Throw an exception if the parameter was not found and it was required.
  77.     // The exception will be caught by error processing and can be
  78.     // displayed in the error page.
  79.     if ( (isParameterRequired) && (paramValue == null) )
  80.          throw new Exception("Parameter " + parameterName + " was not specified.");
  81.  
  82.     // Set the return to the default value if the parameter was not found
  83.     if (paramValue == null)
  84.       paramValue = defaultValue;
  85.  
  86.     return paramValue;
  87. }
  88. /**
  89.  * Process incoming requests for information
  90.  * 
  91.  * @param request Object that encapsulates the request to the servlet 
  92.  * @param response Object that encapsulates the response from the servlet
  93.  */
  94. public void performTask(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException {
  95.  
  96.     javax.servlet.ServletContext sc;
  97.     javax.servlet.RequestDispatcher rd;
  98.  
  99.     try
  100.     {
  101.         com.ibm.ivj.wte.samples.leapyear.LeapYearBean leapYearBean = null;
  102.  
  103.         // instantiate the bean.
  104.         leapYearBean = (com.ibm.ivj.wte.samples.leapyear.LeapYearBean) java.beans.Beans.instantiate(getClass().getClassLoader(),"com.ibm.ivj.wte.samples.leapyear.LeapYearBean");
  105.  
  106.         request.setAttribute("leapYearBean", leapYearBean);
  107.  
  108.         // Initialize the bean startYear property
  109.         if (!getParameter(request, "startYear", true, true, true, null).equals("")) {
  110.           leapYearBean.setStartYear(Integer.valueOf(getParameter(request, "startYear", true, true, true, null)).intValue());
  111.         }
  112.  
  113.         // find next 10 leap years
  114.  
  115.         leapYearBean.findLeapYears();
  116.  
  117.         sc = getServletContext();
  118.         rd = sc.getRequestDispatcher("/JSP/Sample3/LeapYearResults.jsp");       // for JSP 1.0
  119. //        rd = sc.getRequestDispatcher("/JSP/Sample3/LeapYearResults091.jsp");       // for JSP 0.91
  120.         rd.forward(request, response);
  121.  
  122.     }
  123.     catch(Throwable theException)
  124.     {
  125.         // uncomment the following line when unexpected exceptions
  126.         // are occuring to aid in debugging the problem.
  127.         //theException.printStackTrace();
  128.         response.setContentType("text/html");
  129.         java.io.PrintWriter out =response.getWriter();
  130.         out.println("<HTML>");
  131.         out.println("<HEAD><TITLE>Find Next 10 Leap Years</TITLE></HEAD>");
  132.         out.println("<BODY BGCOLOR=#C0C0C0>");
  133.         out.println("<H2>Exception Occurred</H2>");
  134.         out.println(theException);
  135.         out.println("<P><I>Note: If the exception is java.lang.NumberFormatException, your input is probably not a number.<I>");
  136.         out.println("</BODY></HTML>");
  137.     }
  138. }
  139. }
  140.