<!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 <%= request.getParameter("name") %>
<br>
Score <%= 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 <%= request.getParameter("name") %>
<br>
Score <%= request.getAttribute("score") %>
</body>
</html>
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.