import
java.io.IOException;
import
java.util.HashMap;
import
java.util.Map;
import
java.util.regex.Matcher;
import
java.util.regex.Pattern;
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
(
"/CommitServlet"
)
public
class
CommitServlet
extends
HttpServlet {
private
static
final
long
serialVersionUID = 1L;
protected
void
doPost(HttpServletRequest request,
HttpServletResponse response)
throws
ServletException, IOException
{
Map<String, String> errors =
new
HashMap<String, String>();
Map<String, String> after =
new
HashMap<String, String>();
String inputName = request.getParameter(
"inputName"
);
String inputGender = request.getParameter(
"gender"
);
after.put(
"inputName"
, inputName);
if
(!validateName(inputName))
errors.put(
"Name"
,
"Please enter a valid name"
);
if
(inputGender ==
null
)
errors.put(
"Gender"
,
"Please select a Gender"
);
if
(errors.isEmpty())
response.sendRedirect(
"success.html"
);
else
{
request.setAttribute(
"after"
, after);
request.setAttribute(
"errors"
, errors);
request.getRequestDispatcher(
"comment.jsp"
).forward(request, response);
}
}
public
static
boolean
validateName(String txt)
{
String regex =
"^[a-zA-Z ]+$"
;
Pattern pattern = Pattern.compile(regex,
Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(txt);
return
matcher.find();
}
}