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

Create a JSP that displays a form when the doGet method is invoked. The form wil

ID: 3911768 • Letter: C

Question

Create a JSP that displays a form when the doGet method is invoked. The form will contain a post action that directs the form post back to the same JSP, which in the doPost method will save the form data to a database using a Java Bean and a Custom Tag. Use your Oracle account to make the DB connection. After the form data has been saved to the database, respond back with a query from the database displaying all the current records contained in the database, in an appealing format. The form must contain a minimum of three input fields.

Java bean code

package beans;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.ArrayList;

import java.util.List;

import java.util.Vector;

import javax.servlet.http.HttpServlet;

public class dillonIsaacsWeek6 extends HttpServlet {

private Connection con = null;

private String fName;

private String mName;

private String lName;

public String getfName() {

return fName;

}

public void setfName(String fName) {

this.fName = fName;

}

public String getmName() {

return mName;

}

public void setmName(String mName) {

this.mName = mName;

}

public String getlName() {

return lName;

}

public void setlName(String lName) {

this.lName = lName;

}

public void init() {

try {

Class.forName("oracle.jdbc.driver.OracleDriver");

con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "student1", "pass");

Statement stmt = con.createStatement();

stmt.executeUpdate("CREATE TABLE MYTABLE (FNAME VARCHAR2(20), MNAME VARCHAR2(40), LNAME VARCHAR2(40))");

stmt.close();

} catch (Exception e) {

}

}

public List<Vector<String>> saveAndLoadUsers() throws SQLException {

if (con == null) {

init();

}

Statement stmt = con.createStatement();

stmt.executeUpdate(

"INSERT INTO MYTABLE VALUES('" + this.fName + "', '" + this.mName + "', '" + this.lName + "')");

List<Vector<String>> result = new ArrayList<Vector<String>>();

Vector<String> row = new Vector<String>();

ResultSet rset = stmt.executeQuery("SELECT * from MYTABLE");

while (rset.next()) {

row.add(rset.getString("FNAME"));

row.add(rset.getString("MNAME"));

row.add(rset.getString("LNAME"));

result.add(row);

}

stmt.close();

return result;

}

}

============================================================================================================================================================================================================================================================================================

index.jsp code

<html>
<body>
<%@ page import="java.util.*" %>
<jsp:useBean id="formPost" class="beans.dillonIsaacsWeek6">
<jsp:setProperty name="formPost" property="fName" param="FNAME" />
<jsp:setProperty name="formPost" property="mName" param="MNAME" />
<jsp:setProperty name="formPost" property="lName" param="LNAME" />
</jsp:useBean>
<% formPost.init(); %>
<%
if(request.getMethod().equals("GET"))
{
%>
<form action='<%=request.getRequestURI()%>' method='post' >
First Name: <input type='text' name='FNAME' /><br>
Middle Name: <input type='text' name='MNAME' /><br>
Last Name: <input type='text' name='LNAME' />
<input type='submit' value='Submit' />
</form>
<%
}
if(request.getMethod().equals("POST"))
{
try
{
List<Vector<String>> rset = formPost.saveAndLoadUsers();
for(int i=0; i<rset.size(); i++)
{
Vector<String> row = rset.get(i);
}
%>

<pre>Current Names (First, Middle, Last): <%=rset.get(0) %></pre>

<%
}
catch (Exception e)
{
out.println(e.getMessage());
}
}
%>
</body>
</html>

Explanation / Answer

SORCE CODE:

package beans;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.ArrayList;

import java.util.List;

import java.util.Vector;

import javax.servlet.http.HttpServlet;

public class chegg_index extends HttpServlet {

private Connection con = null;

private String fName;

private String mName;

private String lName;

public String getfName() {

return fName;

}

public void setfName(String fName) {

this.fName = fName;

}

public String getmName() {

return mName;

}

public void setmName(String mName) {

this.mName = mName;

}

public String getlName() {

return lName;

}

public void setlName(String lName) {

this.lName = lName;

}

public void init() {

try {

Class.forName("oracle.jdbc.driver.OracleDriver");

con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "student1", "pass");

} catch (Exception e) {

}

}

public List<Vector<String>> saveAndLoadUsers() throws SQLException {

if (con == null) {

init();

}

Statement stmt2 = con.createStatement();
Statement stmt1 = con.createStatement();

ResultSet rs =stmt1.executeQuery("select table_name from user_tables where table_name='MYTABLE'");

if(!rs.next()){
  
stmt2.executeUpdate("CREATE TABLE MYTABLE (FNAME VARCHAR2(20), MNAME VARCHAR2(40), LNAME VARCHAR2(40))");
}

Statement stmt = con.createStatement();

stmt.executeUpdate(

"INSERT INTO MYTABLE VALUES('" + this.fName + "', '" + this.mName + "', '" + this.lName + "')");

List<Vector<String>> result = new ArrayList<Vector<String>>();

Vector<String> row = new Vector<String>();

ResultSet rset = stmt.executeQuery("SELECT * from MYTABLE");

while (rset.next()) {

row.add(rset.getString("FNAME"));

row.add(rset.getString("MNAME"));

row.add(rset.getString("LNAME"));

result.add(row);

}

stmt.close();

stmt1.close();
stmt2.close();

return result;

}

}

index.jsp:

<html>
<body>
<%@ page import="java.util.*" %>
<jsp:useBean id="formPost" class="beans.chegg_index">
<jsp:setProperty name="formPost" property="fName" param="FNAME" />
<jsp:setProperty name="formPost" property="mName" param="MNAME" />
<jsp:setProperty name="formPost" property="lName" param="LNAME" />
</jsp:useBean>
<% formPost.init(); %>
<%
if(request.getMethod().equals("GET"))
{
%>
<form action='<%=request.getRequestURI()%>' method='post' >
  
First Name: <input type='text' name='FNAME' /><br>
Middle Name: <input type='text' name='MNAME' /><br>
Last Name: <input type='text' name='LNAME' /><br>
<input type='submit' value='Submit' />
</form>
<%
}
if(request.getMethod().equals("POST"))
{
try
{

List<Vector<String>> rset = formPost.saveAndLoadUsers();
for(int i=0; i<rset.size(); i++)
{
Vector<String> row = rset.get(i);
}
%>

<pre>Current Names (First, Middle, Last): <%=rset.get(0) %></pre>

<%
}
catch (Exception e)
{
out.println(e.getMessage());
}
}
%>
</body>
</html>