Slip No 21 Q B

Write a SERVLET program in java to accept details of student (SeatNo,
Stud_Name, Class, Total_Marks). Calculate percentage and grade obtained and display details on page.

StudentServlet.java

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/StudentServlet")
public class StudentServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void doPost(HttpServletRequest request, HttpServletResponse response) 
            throws ServletException, IOException {

        // Set response type
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();

        try {
            // Read student details from form
            String seatNo = request.getParameter("SeatNo");
            String studName = request.getParameter("Stud_Name");
            String studClass = request.getParameter("Class");
            double totalMarks = Double.parseDouble(request.getParameter("Total_Marks"));

            // Assuming total maximum marks is 500
            double percentage = (totalMarks / 500) * 100;

            // Calculate grade
            String grade;
            if (percentage >= 75)
                grade = "A";
            else if (percentage >= 60)
                grade = "B";
            else if (percentage >= 50)
                grade = "C";
            else if (percentage >= 35)
                grade = "D";
            else
                grade = "F";

            // Display student details
            out.println("<html><body>");
            out.println("<h2>Student Details</h2>");
            out.println("<table border='1'>");
            out.println("<tr><td>Seat No</td><td>" + seatNo + "</td></tr>");
            out.println("<tr><td>Name</td><td>" + studName + "</td></tr>");
            out.println("<tr><td>Class</td><td>" + studClass + "</td></tr>");
            out.println("<tr><td>Total Marks</td><td>" + totalMarks + "</td></tr>");
            out.println("<tr><td>Percentage</td><td>" + String.format("%.2f", percentage) + "%</td></tr>");
            out.println("<tr><td>Grade</td><td>" + grade + "</td></tr>");
            out.println("</table>");
            out.println("</body></html>");

        } catch (Exception e) {
            out.println("<h3>Error: Please enter valid details!</h3>");
        }
    }

    // Handle GET request to redirect to form
    protected void doGet(HttpServletRequest request, HttpServletResponse response) 
            throws ServletException, IOException {
        response.sendRedirect("student.html");
    }
}

student.html (Form to accept student details)

<!DOCTYPE html>
<html>
<head>
    <title>Student Details Form</title>
</head>
<body>
    <h2>Enter Student Details</h2>
    <form action="StudentServlet" method="post">
        Seat No: <input type="text" name="SeatNo" required><br><br>
        Name: <input type="text" name="Stud_Name" required><br><br>
        Class: <input type="text" name="Class" required><br><br>
        Total Marks: <input type="number" name="Total_Marks" required><br><br>
        <input type="submit" value="Submit">
    </form>
</body>
</html>
Spread the love

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top