• JSTL下NoClassDefFoundError : javax/servlet/jsp/jstl/core/Config错误


    使用springmvc时,项目启动后发送请求报错

    Type Exception Report
    
    Message Handler processing failed; nested exception is java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
    
    Description The server encountered an unexpected condition that prevented it from fulfilling the request.
    
    Exception
    
    org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
        org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:986)
        org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
        org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
        org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
        org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
        org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    Root Cause
    
    java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config

    在项目中我明明已经导入了JSTLjar包了。

    网上说的有些版本即便你引入jstl1.2的包,uri处仍旧报错找不到标签。此时,我们还再引入standard包即可。但是也用maven引入了,依旧报错。

    再次查询资料发现还可能Jar 包冲突了,这是日常开发过程中,时常会遇到的问题。于是就解决由 jstl 的 Maven 依赖导致的 Jar 包冲突问题

    <dependency>
                <groupId>javax.servlet.jsp.jstl</groupId>
                <artifactId>jstl-api</artifactId>
                <version>1.2</version>
                <exclusions>
                    <exclusion>
                        <groupId>javax.servlet</groupId>
                        <artifactId>servlet-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.servlet.jsp</groupId>
                        <artifactId>jsp-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
    
            <dependency>
                <groupId>taglibs</groupId>
                <artifactId>standard</artifactId>
                <version>1.1.2</version>
            </dependency>

    不幸的是,结果图依旧是这个残忍的500

    然后就开始了debug行动。经过漫长的测试后发现在DispatherServelt中报错了。。

    可以看到是调用了modelview的时候出错,找不到视图了。。再看springmvc的配置,用到了JSTLView,于是做个测试,删掉这个试图后就可以访问了

    但是我对于国际化等需要这个视图解析器啊,,于是不服气,继续找原因。。。最后!!!终于发现了,,在target下的lib下jar包确实没有新加进去的两个jar包!!!!!好吧,,被自己蠢哭了,,

    加进去后重新启动就OK了。

  • 相关阅读:
    react 学习
    swiper
    日历插件
    插件 uploadify
    前端 websocket用法
    jQuery插件Highcharts
    可用于nodejs的SuperAgent(ajax API)
    git的基本命令
    自己对javascript闭包的了解
    函数中的this的四种绑定形式
  • 原文地址:https://www.cnblogs.com/DoJavaByHeart/p/7493407.html
Copyright © 2020-2023  润新知