Need help with the code. When user signs up on the signup.jsp page they should b
ID: 671181 • Letter: N
Question
Need help with the code. When user signs up on the signup.jsp page they should be able to go to the home.jsp page. I'm currently doing testing to see if its storing the values of the user and their email address etc.. but when the user clicks submit i get a 404 page. here is there code for the signup.jsp , home.jsp and the servlet
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<script language="javascript" type="text/javascript" src="signupvalidation.js"></script>
<link rel="stylesheet" href="styles/main.css" type="text/css"/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Join MyTwitter</h1>
<p>To join MyTwitter, enter your information
below.</p>
<form action="/membership" method="post">
<input type="hidden" name="action" value="add">
<label class="pad_top">First Name:</label>
<input type="text" name="firstName" required><br>
<label class="pad_top">Last Name:</label>
<input type="text" name="lastName" required><br>
<label class="pad_top">Email:</label>
<input type="email" name="email" required><br>
<label class="pad_top">Password:</label>
<input type="password" name="password" required pattern=".{7,}"required><br>
<label class="pad_top">Birthday:</label>
<select id="form_dob_month" name="dob_month"
<option value="month">Month</option>
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
<select id="form_dob_day" name="dob_day">
<option value="day">Day</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<select id="form_dob_year" name="dob_year">
<option value="year">Year</option>
<option value="2011">2011</option>
<option value="2010">2010</option>
<option value="2009">2009</option>
<option value="2008">2008</option>
<option value="2007">2007</option>
<option value="2006">2006</option>
<option value="2005">2005</option>
<option value="2004">2004</option>
<option value="2003">2003</option>
<option value="2002">2002</option>
<option value="2001">2001</option>
<option value="2000">2000</option>
<option value="1999">1999</option>
<option value="1998">1998</option>
<option value="1997">1997</option>
<option value="1996">1996</option>
<option value="1995">1995</option>
<option value="1994">1994</option>
<option value="1993">1993</option>
<option value="1992">1992</option>
<option value="1991">1991</option>
<option value="1990">1990</option>
<option value="1989">1989</option>
<option value="1988">1988</option>
<option value="1987">1987</option>
<option value="1986">1986</option>
<option value="1985">1985</option>
<option value="1984">1984</option>
<option value="1983">1983</option>
<option value="1982">1982</option>
<option value="1981">1981</option>
<option value="1980">1980</option>
</select><br>
<label> </label>
<button type="reset"value="Reset" class="margin_left">Reset</button>
<button type="submit" value="Register" class="margin_left">Submit</button>
</form>
</body>
</html>
package controller;
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;
import business.User;
import dataaccess.UserDB;
/**
*
* @author xl
*/
@WebServlet(name = "membershipServlet", urlPatterns = {"/membership"})
public class membershipServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
String url = "/signup.jsp";
String action = request.getParameter("action");
if (action == null) {
action = "signup";
}
if (action.equals("add")) {
// get parameters from the request
String firstName = request.getParameter("firstName");
String lastName = request.getParameter("lastName");
String email = request.getParameter("email");
String password= request.getParameter("password");
// use regular Java classes
User user = new User(firstName, lastName, email,password);
UserDB.insert(user);
// store the User object in request and set URL
request.setAttribute("user", user);
url = "/home.jsp"; //redirect to home once user signs up.
}
else if (action.equals("signup")) {
// set URL to index page
url = "/signup.jsp";
}
getServletContext()
.getRequestDispatcher(url)
.forward(request, response);
}
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
}
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="styles/main.css" type="text/css"/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Thanks for joining our email list</h1>
<p>Here is the information that you entered:</p>
<label>Email:</label>
<span>${user.email}</span><br>
<label>First Name:</label>
<span>${user.firstName}</span><br>
<label>Last Name:</label>
<span>${user.lastName}</span><br>
<p>To enter another email address, click on the Back
button in your browser or the Return button shown
below.</p>
<form action="/membership" method="get">
<input type="hidden" name="action" value="signup">
<input type="submit" value="Return">
</form>
</body>
</html>
Explanation / Answer
Actually we have class names "membershipServlet "
But in html page...we have action as "membership" . So it will look membership.java when you click on submit button. Change it to "/membershipServlet".
----------------------------------------------------------------------------------------------------------------------------------------------------------
code:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<script language="javascript" type="text/javascript" src="signupvalidation.js"></script>
<link rel="stylesheet" href="styles/main.css" type="text/css"/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Join MyTwitter</h1>
<p>To join MyTwitter, enter your information
below.</p>
<form action="/membershipServlet" method="post">
<input type="hidden" name="action" value="add">
<label class="pad_top">First Name:</label>
<input type="text" name="firstName" required><br>
<label class="pad_top">Last Name:</label>
<input type="text" name="lastName" required><br>
<label class="pad_top">Email:</label>
<input type="email" name="email" required><br>
<label class="pad_top">Password:</label>
<input type="password" name="password" required pattern=".{7,}"required><br>
<label class="pad_top">Birthday:</label>
<select id="form_dob_month" name="dob_month"
<option value="month">Month</option>
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
<select id="form_dob_day" name="dob_day">
<option value="day">Day</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<select id="form_dob_year" name="dob_year">
<option value="year">Year</option>
<option value="2011">2011</option>
<option value="2010">2010</option>
<option value="2009">2009</option>
<option value="2008">2008</option>
<option value="2007">2007</option>
<option value="2006">2006</option>
<option value="2005">2005</option>
<option value="2004">2004</option>
<option value="2003">2003</option>
<option value="2002">2002</option>
<option value="2001">2001</option>
<option value="2000">2000</option>
<option value="1999">1999</option>
<option value="1998">1998</option>
<option value="1997">1997</option>
<option value="1996">1996</option>
<option value="1995">1995</option>
<option value="1994">1994</option>
<option value="1993">1993</option>
<option value="1992">1992</option>
<option value="1991">1991</option>
<option value="1990">1990</option>
<option value="1989">1989</option>
<option value="1988">1988</option>
<option value="1987">1987</option>
<option value="1986">1986</option>
<option value="1985">1985</option>
<option value="1984">1984</option>
<option value="1983">1983</option>
<option value="1982">1982</option>
<option value="1981">1981</option>
<option value="1980">1980</option>
</select><br>
<label> </label>
<button type="reset"value="Reset" class="margin_left">Reset</button>
<button type="submit" value="Register" class="margin_left">Submit</button>
</form>
</body>
</html>
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.