0

I'm facing a problem right now. I just started learning servlets and when I tried to run the program, it shows an error. I tried looking for ways to solve them like adding javax.servlet.jar but couldn't solve the issue. I'm currently using NetBeans 12.4. This is the code I have.

HTML code:

< html >
< head >
    < title >Cookies< /title >
< /head >
< body >
    < form action=`FirstServlet' method="post" >
        Name:< input type="text" name="userName"/ >< br/ >
        < input type="submit" value="go"/ >
    < /form >
< /body >
< /html >

FirstServlet code:

package Cookie;
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;
import javax.servlet.http.Cookie;
public class FirstServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        try (PrintWriter out = response.getWriter()) {
            String n=request.getParameter("userName");
            out.print("Welcome"+n);
            Cookie ck= new Cookie("uname",n);
            response.addCookie(ck);
            out.print("<form action='servlet2'>");
            out.print("<input type='submit' value='Next page'>");
            out.print("</form");
            out.close();
        }catch(Exception e){
            System.out.println(e);
        }
    }
}

Web.xml:

< ?xml version="1.0" encoding="UTF-8"? >
< web-app version="4.0" 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" >
< servlet >
    < servlet-name >FirstServlet< /servlet-name >
    < servlet-class >Cookie.FirstServlet< /servlet-class >
< /servlet >
< servlet >
    < servlet-name >servlet2< /servlet-name >
    < servlet-class >Cookie.servlet2< /servlet-class >
< /servlet >
< servlet-mapping >
    < servlet-name >FirstServlet< /servlet-name >
    < url-pattern >/FirstServlet< /url-pattern >
< /servlet-mapping >
< servlet-mapping >
    < servlet-name >servlet2< /servlet-name >
    < url-pattern >/servlet2< /url-pattern >
< /servlet-mapping >
< session-config >
    < session-timeout >
        30
    < /session-timeout >
< /session-config >
< /web-app >

Servlet2 code:

package Cookie;

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;
import javax.servlet.http.Cookie;
public class servlet2 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    try (PrintWriter out = response.getWriter()) {
        Cookie ck[]=request.getCookies();
        out.print("Servlet 2"+ ck[0].getValue());
        out.close();
    }catch(Exception e){
        System.out.println(e);
    }
}
}

And this is the error I have:

HTTP Status 500 - Internal Server Error type Exception report

message: Internal Server Error

description: The server encountered an internal error that prevented it from fulfilling this request.

exception

jakarta.servlet.ServletException: Class Cookie.FirstServlet is not a Servlet root cause

java.lang.ClassCastException: Cookie.FirstServlet cannot be cast to jakarta.servlet.Servlet note The full stack traces of the exception and its root causes are available in the Eclipse GlassFish 6.0.0 logs.

Eclipse GlassFish 6.0.0

Mark Rotteveel
  • 90,369
  • 161
  • 124
  • 175
Michael
  • 1
  • 1
  • 1
    GlassFish 6 is Jakarta EE 9, which uses the `jakarta.*` namespace, but you have written your code against Jakarta EE 8 or earlier, which uses the `javax.*` namespace. – Mark Rotteveel Oct 02 '21 at 17:10

0 Answers0