0

im upgrading my java project from java 7 to java 17 and tomcat 7 to 0 but when i run my project on tomcat 10 it shows me some exception and im not able to find the solution. i want to change my servlet api from javax to jakarta and for that i made all possible changes in the project .o here im sharing my web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee 
         https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
         version="5.0">
  <display-name>Tender247WebFront</display-name>
 <servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
  <servlet>
    <servlet-name>CaptchaServlet</servlet-name>
    <servlet-class>com.isource.utility.CaptchaGenServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>CaptchaServlet</servlet-name>
    <url-pattern>/captcha.jpg</url-pattern>
  </servlet-mapping>
    <servlet>
    <servlet-name>CaptchaCodeServlet</servlet-name>
    <servlet-class>com.isource.utility.CaptchaCodeGenServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>CaptchaCodeServlet</servlet-name>
    <url-pattern>/captchacode.jpg</url-pattern>
  </servlet-mapping>
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext.xml</param-value>
  </context-param>
  <context-param>
    <param-name>resourceversion</param-name>
    <param-value>4</param-value>
  </context-param>
  <listener>
    <listener-class>
          org.springframework.web.context.ContextLoaderListener
    </listener-class>
  </listener>
  <session-config>
    <session-timeout>30</session-timeout>
    <tracking-mode>COOKIE</tracking-mode>
  </session-config>
  <error-page>
    <error-code>404</error-code>
    <location>/WEB-INF/jsp/fileNotFound.jsp</location>
  </error-page>
</web-app>

and these two exception is occuring while running the project




java.lang.ClassCastException: class org.springframework.web.servlet.DispatcherServlet cannot be cast to class jakarta.servlet.Servlet (org.springframework.web.servlet.DispatcherServlet is in unnamed module of loader org.apache.catalina.loader.ParallelWebappClassLoader @f20570f; jakarta.servlet.Servlet is in unnamed module of loader java.net.URLClassLoader @1ddc4ec2)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1071)


SEVERE: Servlet.service() for servlet [jsp] threw exception
org.apache.jasper.JasperException: /WEB-INF/jsp/fileNotFound.jsp (line: [3], column: [0]) Failed to load or instantiate TagLibraryValidator class: [org.apache.taglibs.standard.tlv.JstlCoreTLV]

i tried all the possible way to solve it by making java to jakarta but coudnt find any solution

0 Answers0