2

My index page i have changed to Register_1.jsp and updated in xml file too and the page is running fine with action field to connect servlet file Guru_register i have added jsp code along with java code and structure in eclipse in image below please help me Thanks in advance...!!

Structure in eclipse

Register_1.jsp

<body>
<h1>Guru Register Form</h1>
<form action="Guru_register.java" method="post">
            <table style="with: 50%">
                <tr>
                    <td>First Name</td>
                    <td><input type="text" name="first_name" /></td>
                </tr>
                <tr>
                    <td>Last Name</td>
                    <td><input type="text" name="last_name" /></td>
                </tr>
                <tr>
                    <td>UserName</td>
                    <td><input type="text" name="username" /></td>
                </tr>
                    <tr>
                    <td>Password</td>
                    <td><input type="password" name="password" /></td>
                </tr>
                <tr>
                    <td>Address</td>
                    <td><input type="text" name="address" /></td>
                </tr>
                <tr>
                    <td>Contact No</td>
                    <td><input type="text" name="contact" /></td>
                </tr></table>
            <input type="submit" value="Submit" /></form>
</body>

Register_2.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Success Page</title>
</head>
<body>
           <a><b>Welcome User!!!!</b></a>
</body>
</html>

My servlet class

public class Guru_register extends HttpServlet {
    private static final long serialVersionUID = 1L;


     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        String first_name = request.getParameter("first_name");
        String last_name = request.getParameter("last_name");
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        String address = request.getParameter("address");
        String contact = request.getParameter("contact");
        System.out.println(first_name+" "+contact);
        if(first_name.isEmpty() || last_name.isEmpty() || username.isEmpty() || 
                password.isEmpty() || address.isEmpty() || contact.isEmpty())
        {
            RequestDispatcher req = request.getRequestDispatcher("Register_1.jsp");
            req.include(request, response);
        }
        else
        {
            RequestDispatcher req = request.getRequestDispatcher("Register_2.jsp");
            req.forward(request, response);
        }
    }

}

What i have tried in two ways submitted form with values and without either way getting same error.

BalusC
  • 1,082,665
  • 372
  • 3,610
  • 3,555

2 Answers2

1

You need to give Servlet Name in the action do not need to specify anything;

<body>
<h1>Guru Register Form</h1>
<form action="Guru_register" method="post">

//Servlet with annotation

@WebServlet("/Guru_register")
public class Guru_register extends HttpServlet {
    private static final long serialVersionUID = 1L;
Prabath
  • 81
  • 4
  • 1
    Hi Prabath i did added annotations like you said before the class begins then also same result i am going to remove cache and try re run again. Thanks for your time Prabath @WebServlet("/Guru_register") public class Guru_register extends HttpServlet { private static final long serialVersionUID = 1L; –  Aug 25 '18 at 01:44
  • 1
    bro still the same error after adding annotation –  Aug 25 '18 at 02:02
  • 1
    it is working fine now bro i changed in action field to Guru_register as you mentioned it is working fine now –  Aug 25 '18 at 02:11
  • 1
    Why with .java extension in action field is not working bro...? –  Aug 25 '18 at 02:13
  • 1
    HTML engine do not recognize java, that's why we need JSP. With Mapping we give a Servlet a name, a URL and force HTML to identify a Servlet by this particular URL. If you ask HTML tag to identify abc.java it looks in Mapping and it wont identify it. – Prabath Aug 25 '18 at 02:56
  • ok bro thanks for the explanation and your time....!! –  Aug 25 '18 at 03:28
0

Try adding servlet info to web.xml First move your servlet to a package, lets call it 'controllers', so the file's new location would be src > controllers > Guru_register.java

<servlet>
    <servlet-name>Guru_register</servlet-name>
    <servlet-path>controllers.Guru_register</servlet-path>
</servlet>
<servlet-mapping>
    <servlet-name>Guru_register</servlet-name>
    <url-pattern>/guru-register</url-pattern>
</servlet-mapping>

Next, modify jsp form as follows:

<form action="guru-register" method="post">
  • Hi Arvind bro, yeah this is another way right i mean without using annotation this one also would work i assume. thanks for letting me to learn new one –  Aug 25 '18 at 02:17