dimanche 20 octobre 2019

response.sendRedirct() is throwing "HTTP Status 404 – Not Found" in Eclipse - Tomcat server, as it works fine for Mozilla browser

I am using sendRedirect() method for login validation with form tag, so I encountered an error as "HTTP Status 404 – Not Found" with description "The origin server did not find a current representation for the target resource or is not willing to disclose that one exists." on Eclipse tomcat server 8.5 as it works fine on Mozilla browser. I am a bit confused whether if it is a linking error or sendRedirect() method is causing that error.

Here's the code :

Web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>ServletAppDemo</display-name>
  <welcome-file-list>
    <welcome-file>practice_form.html</welcome-file>
    <welcome-file>practice_form.htm</welcome-file>
    <welcome-file>practice_form.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>

  <servlet>
    <servlet-name>Login_SendRedirect</servlet-name>
    <servlet-class>sendRedirect2.VerifyLogin</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>Login_SendRedirect</servlet-name>
    <url-pattern>/login</url-pattern>
  </servlet-mapping>


  <servlet>
    <servlet-name>VerifyUser</servlet-name>
    <servlet-class>sendRedirect2.verifiedUser</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>VerifyUser</servlet-name>
    <url-pattern>/welcome_kid</url-pattern>
  </servlet-mapping>

</web-app>

practice_form.html

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Login</title>
</head>
<body>
<form action="login" method="get">
User name :- <input type="text" name="uname">
<br><br>
Password :- <input type="password" name="upass">
<br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>

VerifyLogin.java

package sendRedirect2;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class VerifyLogin extends HttpServlet
{
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException 
    {       
        resp.setContentType("text/html");
        PrintWriter pw = resp.getWriter();

        String name = req.getParameter("uname");
        String password = req.getParameter("upass");

        if( name.equals("Prasad") && password.equals("password_x") )
        {
            resp.sendRedirect("welcome_kid");
        }
        else
        {
            pw.print("User name or password is incorrect");
            RequestDispatcher dis = req.getRequestDispatcher("practice_form.html"); 
            dis.include(req, resp); 
        }

        pw.close();
    }
}

verifiedUser.java

package sendRedirect2;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class verifiedUser extends HttpServlet
{
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        resp.setContentType("text/html");
        PrintWriter pw = resp.getWriter();

        pw.println("Welcome to some website, ");
    }

}

Output in Mozilla Browser :-

Login Screen in Mozilla

Welcome o/p in Mozilla


Output in Eclipse Tomcat Server 8.5 :-

Login screen in Eclipse

Error for Welcome o/p in Eclipse

Please help me for this.




Aucun commentaire:

Enregistrer un commentaire