Providing Services to
World Wide

Mail Us
khizarshahal3@gmail.com

Contact Us
+92 3472506073

Blog Post Details

Home / Free Services / Blog Posts / Blog Post Details

CS506 Assignment # 02 Spring 2026

June 23, 2026

Copy & Paste this Code into Main.java file

Code Examples

Java
// PortalServlet class simulates basic servlet lifecycle and request handling
class PortalServlet {

    // init() method is called before processing requests
    public void init() {
        System.out.println("Portal Servlet Initialized");
    }

    // service() method handles different student requests
    public synchronized void service(String request) {

        // Dispatch request based on request type
        if (request.equalsIgnoreCase("login")) {
            System.out.println("Forwarded to Login Page");
        }
        else if (request.equalsIgnoreCase("lecture")) {
            System.out.println("Forwarded to Lecture Page");
        }
        else if (request.equalsIgnoreCase("logout")) {
            System.out.println("Forwarded to Logout Page");
        }
        else {
            System.out.println("Invalid Request");
        }
    }

    // destroy() method is called after all requests are completed
    public void destroy() {
        System.out.println("\nPortal Servlet Destroyed");
    }
}

// StudentRequest class represents each student request as a separate thread
class StudentRequest extends Thread {

    // Data members to store request type and servlet object
    private String request;
    private PortalServlet servlet;

    // Constructor receives thread name, request type, and servlet object
    public StudentRequest(String threadName, String request, PortalServlet servlet) {
        super(threadName);
        this.request = request;
        this.servlet = servlet;
    }

    // run() method executes when the thread starts
    public void run() {

        // Display which student is processing which request
        System.out.println("\n" + getName() + " processing " + request + " request");

        // Call servlet service method to handle the request
        servlet.service(request);

        // Display completion message after request is handled
        System.out.println(request + " request completed");
    }
}

// Main class must be public because file name is Main.java
public class Main {
    public static void main(String[] args) {
        PortalServlet servlet = new PortalServlet();

        servlet.init();

        StudentRequest r1 = new StudentRequest("Student-1", "login", servlet);
        StudentRequest r2 = new StudentRequest("Student-2", "lecture", servlet);
        StudentRequest r3 = new StudentRequest("Student-3", "logout", servlet);

        r1.start();
        r2.start();
        r3.start();

        try {
            r1.join();
            r2.join();
            r3.join();
        } catch (InterruptedException e) {
            System.out.println("Request interrupted");
        }

        servlet.destroy();
    }
}