Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jan 7, 2026

JSP files were using deprecated JSTL 1.0 namespaces (http://java.sun.com/jstl/core_rt, http://java.sun.com/jstl/fmt_rt) and the obsolete Acegi Security taglib, causing JasperException failures when rendering pages. The old JSTL 1.1.2 dependencies also lacked the Tag Library Descriptor (TLD) files required by Tomcat 9 to resolve modern JSTL namespaces.

Changes

JSP Namespace Updates

  • taglibs.jsp: Updated to modern JSTL namespaces and Spring Security taglib

    • http://java.sun.com/jstl/core_rthttp://java.sun.com/jsp/jstl/core
    • http://java.sun.com/jstl/fmt_rthttp://java.sun.com/jsp/jstl/fmt
    • http://acegisecurity.org/authzhttp://www.springframework.org/security/tags (prefix changed from authz to sec)
  • error.jsp / error-500.jsp: Fixed incomplete JSTL namespaces

    • http://java.sun.com/jstl/corehttp://java.sun.com/jsp/jstl/core
    • http://java.sun.com/jstl/fmthttp://java.sun.com/jsp/jstl/fmt

JSTL Dependency Upgrade (pom.xml)

Upgraded JSTL from 1.1.2 to 1.2 to provide TLD files for modern namespaces required by Tomcat 9:

  • javax.servlet:jstl: Upgraded from 1.1.2 to 1.2 (JSTL API)
  • org.glassfish.web:jstl-impl:1.2: Added implementation containing TLD files that define modern namespace URIs (http://java.sun.com/jsp/jstl/core, http://java.sun.com/jsp/jstl/fmt, etc.)
  • taglibs:standard:1.1.2: Commented out (functionality included in jstl-impl)

The jstl-impl JAR includes the necessary TLD files (META-INF/c.tld, META-INF/fmt.tld) that were missing in JSTL 1.1.2, resolving the "cannot be resolved in either web.xml or the jar files" error.

Verification

All 208 JSP files checked; no other deprecated namespaces found. Build succeeds and WAR file includes proper JSTL 1.2 JARs with TLD files.

Original prompt

The JSPs are very outdated, including references to namespaces that are probably deprecated. This leads to this error (in the web UI):

org.apache.jasper.JasperException: /index.jsp (line: [1], column: [1]) The absolute uri: [http://java.sun.com/jstl/core_rt] cannot be resolved in either web.xml or the jar files deployed with this application
	org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:29)
	org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:265)
	org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88)
	org.apache.jasper.compiler.Parser.processIncludeDirective(Parser.java:334)
	org.apache.jasper.compiler.Parser.parseIncludeDirective(Parser.java:364)
	org.apache.jasper.compiler.Parser.parseDirective(Parser.java:455)
	org.apache.jasper.compiler.Parser.parseElements(Parser.java:1353)
	org.apache.jasper.compiler.Parser.parse(Parser.java:132)
	org.apache.jasper.compiler.ParserController.doParse(ParserController.java:240)
	org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:186)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:359)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:337)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:323)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:585)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:371)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:349)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:300)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)

Do a thorough review of all JSP files and upgrade any such deprecated features.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI self-assigned this Jan 7, 2026
Co-authored-by: rvosa <106490+rvosa@users.noreply.github.com>
Copilot AI changed the title [WIP] Update outdated JSP references and namespaces Fix deprecated JSTL and Acegi Security namespaces in JSP files Jan 7, 2026
Copilot AI requested a review from rvosa January 7, 2026 22:29
@rvosa
Copy link
Contributor

rvosa commented Jan 7, 2026

@copilot I still get a similar error, despite the updated namespace:

org.apache.jasper.JasperException: /index.jsp (line: [1], column: [1]) The absolute uri: [http://java.sun.com/jsp/jstl/core] cannot be resolved in either web.xml or the jar files deployed with this application
	org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:29)
	org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:265)
	org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88)
	org.apache.jasper.compiler.Parser.processIncludeDirective(Parser.java:334)
	org.apache.jasper.compiler.Parser.parseIncludeDirective(Parser.java:364)
	org.apache.jasper.compiler.Parser.parseDirective(Parser.java:455)
	org.apache.jasper.compiler.Parser.parseElements(Parser.java:1353)
	org.apache.jasper.compiler.Parser.parse(Parser.java:132)
	org.apache.jasper.compiler.ParserController.doParse(ParserController.java:240)
	org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:186)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:359)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:337)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:323)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:585)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:371)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:349)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:300)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)

Could something else be going on?

…mespaces

Co-authored-by: rvosa <106490+rvosa@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Jan 7, 2026

@copilot I still get a similar error, despite the updated namespace:

...

The issue was that while the namespaces were correct, the old JSTL 1.1.2 JARs didn't include the TLD (Tag Library Descriptor) files for the modern http://java.sun.com/jsp/jstl/core namespace.

I've upgraded the JSTL dependencies from 1.1.2 to 1.2 in commit 47379a8, which includes:

  • javax.servlet:jstl:1.2 (JSTL API)
  • org.glassfish.web:jstl-impl:1.2 (implementation with proper TLD files)

The jstl-impl-1.2.jar now includes the TLD files that define the modern namespaces, which Tomcat 9 requires. This should resolve the "cannot be resolved" error.

Co-authored-by: rvosa <106490+rvosa@users.noreply.github.com>
Copilot AI changed the title Fix deprecated JSTL and Acegi Security namespaces in JSP files Fix deprecated JSTL namespaces and upgrade to JSTL 1.2 for Tomcat 9 compatibility Jan 7, 2026
@rvosa rvosa marked this pull request as ready for review January 7, 2026 22:48
@rvosa rvosa merged commit 08898b0 into master Jan 7, 2026
3 checks passed
@rvosa rvosa deleted the copilot/update-deprecated-jsp-references branch January 7, 2026 22:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants