Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

<!DOCTYPE html> <-- index.html --> <html> <head> <title>Exam 1</title> <meta cha

ID: 3850505 • Letter: #

Question

<!DOCTYPE html>

<-- index.html -->

<html>

    <head>

        <title>Exam 1</title>

        <meta charset="UTF-8">

        <meta name="viewport" content="width=device-width, initial-scale=1.0">

    </head>

    <body>

        <form action="exam1servlet" method="post">

            Enter your name

            <input type="text" name="name"/>

            <input type="submit" />

        </form>

    </body

</html>

@WebServlet(name = "exam1servlet", urlPatterns = {"/exam1servlet"})

public class exam1servlet extends HttpServlet {

    @Override

    protected void doPost(HttpServletRequest request, HttpServletResponse response)

            throws ServletException, IOException {

            EntityManagerFactory emf = Persistence.createEntityManagerFactory("Exam1PU");

            EntityManager em = emf.createEntityManager();

            String key_name = request.getParameter("name");

    Student student = em.find(Student.class, key_name);

    request.setAttribute("score", Double.toString(student.getScore()) );

    getServletContext().getRequestDispatcher("/exam1score.jsp")

                       .forward(request,response);

   }

}

@Entity

public class Student implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id

    private String name;

    private double score;

    public String getName() {

        return name;

    }

    public void setName(String name) {

        this.name = name;

    }

    public double getScore() {

        return score;

    }

    public void setScore(double score) {

        this.score = score;

    }

}

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE html>

<-- exam1score.jsp -->

<html>

    <head>

        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

        <title>Exam 1 Score</title>

    </head>

    <body>

        Name &nbsp; <%= request.getParameter("name") %>

        <br>

        Score &nbsp; <%= request.getAttribute("score") %>       

    </body>

</html>

We want to change the application so that an integer value (student number) rather than student name is entered in index.html. The database table will now have columns for student id (the new primary key), name (remains a column but not primary key), and score. The output jsp will now report student id, name and score.If the student id is not found in the database, the output jsp should report the message (“Student ID not found”).

Describe the changes needed to:

Index.html

Exam1score.jsp

Student.java

Exam1servlet.java

Explanation / Answer

The code is given below :

<!DOCTYPE html>

<-- index.html -->

<html>

    <head>

        <title>Exam 1</title>

        <meta charset="UTF-8">

        <meta name="viewport" content="width=device-width, initial-scale=1.0">

    </head>

    <body>

        <form action="exam1servlet" method="post">

            Enter your name

            <input type="text" name="name"/>

            <input type="submit" />

        </form>

    </body

</html>

@WebServlet(name = "exam1servlet", urlPatterns = {"/exam1servlet"})

public class exam1servlet extends HttpServlet {

    @Override

    protected void doPost(HttpServletRequest request, HttpServletResponse response)

            throws ServletException, IOException {

            EntityManagerFactory emf = Persistence.createEntityManagerFactory("Exam1PU");

            EntityManager em = emf.createEntityManager();

            String key_name = request.getParameter("name");

    Student student = em.find(Student.class, key_name);

    request.setAttribute("score", Double.toString(student.getScore()) );

    getServletContext().getRequestDispatcher("/exam1score.jsp")

                       .forward(request,response);

    }

}

@Entity

public class Student implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id

    private String name;

    private double score;

    public String getName() {

        return name;

    }

    public void setName(String name) {

        this.name = name;

    }

    public double getScore() {

        return score;

    }

    public void setScore(double score) {

        this.score = score;

    }

}

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE html>

<-- exam1score.jsp -->

<html>

    <head>

        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

        <title>Exam 1 Score</title>

    </head>

    <body>

        Name &nbsp; <%= request.getParameter("name") %>

        <br>

        Score &nbsp; <%= request.getAttribute("score") %>     

    </body>

</html>

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote