Tuesday, 30 August 2011

SessionTracker Program

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

public class SessionTracker extends HttpServlet {

      public void doGet(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException
     {
            res.setContentType("text/html");
            PrintWriter out = res.getWriter();

        // Get the current session object, create one if necessary
            HttpSession session = req.getSession(true);

            // Increment the hit count for this page.  The value is saved
            // in this client's session under the name "tracker.count".
            Integer count = (Integer)session.getValue("tracker.count");
            if (count == null)
                  count = new Integer(1);
            else
                  count = new Integer(count.intValue() + 1);
                session.putValue("tracker.count", count);

                out.println("<HTML><HEAD><TITLE>SessionTracker</TITLE></HEAD>");
                out.println("<BODY><H1>Session Tracking Demo</H1>");

            // Display the hit count for this page
            out.println("You've visited this page " + count +((count.intValue() == 1) ? " time." : " times."));

            out.println("<P>");

            out.println("<H2>Here is your session data:</H2>");
            String[] names = session.getValueNames();
            for (int i = 0; i < names.length; i++)
         {
                  out.println(names[i] + ": " + session.getValue(names[i]) + "<BR>");
             }
            out.println("</BODY></HTML>");
      }
}

GetParameters Servlets Program

//GetParameters Servlets Program
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class GetParameter extends HttpServlet
{
      public void doPost(HttpServletRequest request,HttpServletResponse response)throws IOException, ServletException
    {
            response.setContentType("text/html");
            PrintWriter out = response.getWriter();   
            String firstName = request.getParameter("firstname");
            String middleName = request.getParameter("middlename");
            String lastName = request.getParameter("lastname");
   
            out.println("<b><font color='blue'>Your FirstName is : </font></b>"  
                              + "<b>"+ firstName +"</b>" + "<br>");
            out.println("<b><font color='blue'>Your Middle Name is : </font></b>" 
                              + "<b>"+ middleName +"</b>" + "<br>");
            out.println("<b><font color='blue'>Your Last Name is : </font></b>" 
                              + "<b>"+ lastName +"</b>");
      }
}

ExampleSessionServlet Program

//sessionservlet
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;

public class ExampleSessionServlet extends HttpServlet
{
      public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException
    {
            HttpSession session = request.getSession(true);
            response.setContentType("text/html");
            PrintWriter out = response.getWriter();
            String title = "Simple Session Servlet Example";
            Integer accessCount = new Integer(0);

            if (session.isNew())
        {
            }
        else
        {
                  Integer oldAccessCount = (Integer)session.getValue("accessCount");
                  if (oldAccessCount != null)
            {
                  accessCount = new Integer(oldAccessCount.intValue() + 1);
                  }
            }
            session.putValue("accessCount", accessCount);
     
            out.println(title + "<BODY BGCOLOR=\"#FDF5E6\">\n" +
                            "<H2>Information on Your Session:</H2>\n" +
                            "<TABLE BORDER=1 ALIGN=CENTER>\n" +
                            "<TR BGCOLOR=\"#FFAD00\">\n" +
                            "  <TH>Info Type<TH>Value\n" +
                            "<TR>\n" +
                            "  <TD>ID\n" +
                            "  <TD>" + session.getId() + "\n" +
                            "<TR>\n" +
                            "  <TD>Creation Time\n" +
                            "  <TD>" + new Date(session.getCreationTime()) + "\n" +
                            "<TR>\n" +
                            "  <TD>Time of Last Access\n" +
                            "  <TD>" + new Date(session.getLastAccessedTime()) + "\n" +
                            "<TR>\n" +
                            "  <TD>Number of Previous Accesses\n" +
                            "  <TD>" + accessCount + "\n" +
                            "</TABLE>\n" +
                            "</BODY></HTML>");
      }
    /* By using getCreationTime() and new Date().getTime() you can set timeouts
    * for the session. If you are using JSDK 2.2 or higher then you can use
    * setMaxInactiveInterval(int interval) for setting timeouts.
    */
}

Accessing Date in Servlet - Program

//Accessing Date In Servlet
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class AccessedDateServlet extends HttpServlet
{
      public void doGet(HttpServletRequest request, HttpServletResponse response)
                                          throws ServletException, IOException
    {
        PrintWriter pw = response.getWriter();
        HttpSession session = request.getSession(true);
        Date create = new Date(session.getCreationTime());
        Date accessed = new Date(session.getLastAccessedTime());
        pw.println("ID " + session.getId());
        pw.println("Create: " + create);
        pw.println("Last Accessed: " + accessed);
        String dataName = request.getParameter("dataName");
        if (dataName != null && dataName.length() > 0) {
          String dataValue = request.getParameter("dataValue");
          session.putValue(dataName, dataValue);
        }
        String[] valueNames = session.getValueNames();
        if (valueNames != null &&  valueNames.length > 0)
    {
              for (int i = 0; i < valueNames.length; i++)
        {
                String str = valueNames[i];
                String str1 = session.getValue(str).toString();
                pw.println(str + " = " + str1);
              }
        }
      }

Monday, 29 August 2011

introductiion to servlets

The Java Servlet API
The Java Servlet API is a set of Java classes which define a standard interface between a Web client and a Web servlet. Client requests are made to the Web server, which then invokes the servlet to service the request
through this interface.
The Java Servlet API is a Standard Java Extension API, meaning that it is not part of the core Java framework, but rather, is available as an add-on set of packages.
The API is composed of two packages:
javax.servlet
javax.servlet.http
The javax.servlet package contains classes to support generic
protocol-independent servlets. This means that servlets can be used for many protocols, for example, HTTP and FTP. The javax.servlet.http package extends the functionality of the base package to include specific support for the HTTP protocol. In this chapter, we will concentrate on the classes in the javax.servlet.http package.
This class defines the methods which servlets must implement, including a service() method for the handling of requests. The GenericServlet class implements this interface, and defines a generic, protocol-independent servlet. To write an HTTP servlet for use on the Web, we will use an even more specialized class of GenericServlet called HttpServlet.
HttpServlet provides additional methods for the processing of HTTP requests such as GET (doGet method) and POST (doPost method). Although our servlets may implement a service method, in most cases we will implement the HTTP specific request handling methods of doGet and doPost.