0

I am trying to create simple login application.I have created one login page and one servlet but it is giving the ServletException

here is my sample code.

public class Hello extends HttpServlet{

@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException{  
        try{  

        response.setContentType("text/html");  
        PrintWriter out = response.getWriter();  

        String username=request.getParameter("username"); 
        String password=request.getParameter("password");
        out.println("hello");

        if(username.equals("xyz")&&password.equals("password"))
        {
            HttpSession session=request.getSession();  
            session.setAttribute("uname",username);
            RequestDispatcher rd=request.getRequestDispatcher("/Home.jsp");
            rd.forward(request, response);
        }
        else
        {
            RequestDispatcher rd=request.getRequestDispatcher("/login.html");
            out.println("<h4>Plz provide correct Username or password</h4>");
            rd.include(request,response);
        }


        out.close();  

                }catch(Exception e){System.out.println(e);}  
    }

this code is giving the following Exception: I am not getting why this.

javax.servlet.ServletException: Class com.mq.sample.Hello is not a Servlet

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(Unknown Source)
root cause

java.lang.ClassCastException: com.mq.sample.Hello cannot be cast to javax.servlet.Servlet
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(Unknown Source)

Thanks in advance

Atul Dk
  • 15
  • 7

1 Answers1

1

You are getting error from Tomcat, refer to this link. So the thing is that you have servlet jar conflict in your classpath. Remove javax.servlet-api.jar from classpath and do this. enter image description here

zawhtut
  • 8,335
  • 5
  • 52
  • 76