I am a beginner in Servlets so, trying to make a form and display the submitted data by clicking on the submit button. But for now, I have just printed "Welcome to Register form" but I am getting a 404 error not found.
I have tried several URLs in the action attribute of the HTML form:
But none of them resolved it.
RegisterServlet.java
package com. practice;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
import java.io.PrintWriter;
public class RegisterServlet extends HttpServlet {
@Override
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("Started ..............");
resp.setContentType("text/html");
PrintWriter out = resp.getWriter();
out.println("<h2> Welcome to Register form </h2>"); // This is the line which needs to get printed
}
}
index.html (form layout)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Servlet Form</title>
</head>
<style>
body{
background-color: bisque;
}
button{
background-color: blue;
color: aliceblue;
padding: 11px 30px;
border-radius: 10%;
font-style: oblique;
font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif;
font-weight: bold;
font-size: medium;
}
.container{
width: 40%;
border: 5px solid black;
margin: auto;
padding: 20px;
background-color: aliceblue;
font-size: 18px;
}
#myform table tr td input{
font-size: 20px;
}
</style>
<body>
<div class = "container">
<h1 style="text-align: center; font-style: italic">Welcome</h1>
<!-- post method is more secure than get method-->
<form id="myform" action="RegisterServlet" method="post">
<table>
<tr>
<td>Enter Your Full name</td>
<td> <input type="text" name="user_name" placeholder="Enter Your Name"></td>
</tr>
<tr>
<td>Enter Your Email-ID</td>
<td> <input type="text" name="user_email" placeholder="Enter Your Email-ID"></td>
</tr>
<tr>
<td>Enter Your Password</td>
<td> <input type="text" name="user_pass" placeholder="Enter Your Password"></td>
</tr>
<tr>
<td>Re-Enter Your Password</td>
<td> <input type="text" name="user_pass" placeholder="Enter Your Password"></td>
</tr>
<tr>
<td>Select Gender</td>
<td> <input type="radio" name="user_gender" value="male" placeholder="Enter Your Gender">Male <input type="radio" name="user_gender" value="female" placeholder="Enter Your Gender">Female</td>
</tr>
<tr>
<td>Select Course</td>
<td>
<select name="user_course">
<option value="java">JAVA</option>
<option value="android">Android Development</option>
<option value="web">Web Development</option>
<option value="ml">Machine Learning</option>
<option value="iot">IOT</option>
</select>
</td>
</tr>
<tr>
<td style="text-align: right"> <input type="checkbox" name="terms" value="checked"> </td>
<td> <h3> Please Agree to the Terms and Conditions </h3> </td>
</tr>
<tr>
<td>
</td>
<td>
<button type="submit" class="button">SUBMIT</button>
<button type="reset" class="button">RESET</button>
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<servlet>
<servlet-name>register</servlet-name>
<servlet-class>com.practice.RegisterServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>register</servlet-name>
<url-pattern>/RegisterServlet</url-pattern>
</servlet-mapping>
</web-app>
index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Servlet Form</title>
</head>
<body>
<h1>Hello</h1>
</body>
</html>