Java EE 6.0使用JSTL常见异常解决方法
来源:互联网 发布:c语言解析教程哪里有卖 编辑:程序博客网 时间:2024/06/06 12:21
很久没搞开发了,突然想玩玩就心血来潮下了个MyEclipse,版本居然已经到10了,N年前哥还是用的5.5,只能感叹时间过得太快,好了,废话不多说,直接正题。
如果创建Web Project时J2EE版本的是Java EE 6,那么JSTL库为jstl-impl.jar,MyEclipse 10并不会将它拷贝到项目的lib目录下,只是引用,若以前的项目的JSP页面中使用了jstl 1.1或jstl 1.2的版本,导入到Java EE 6环境中运行会报错,以下是我调试过程中出现的错误和解决方法,唉,本来不想写的,由于网上找了半天找不到一篇像样的文章,于是决定自己写下来:
软件环境:MyEclipse 10 + Tomcat 7
异常1、org.apache.jasper.JasperException: 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
如果在JSP中已经对声明了对JSTL的引入<%@ taglib ... %>,而在页面中没用使用JSTL标签,就会出现上述错误,原因是没有在web.xml中配置JSTL的引用路径或没有在lib目录的jar中找到对JSTL的引用,早期的JSTL版本是需要在web.xml配置tld的路径的,1.2版本就不需要配置了,只需将jstl-1.2.jar拷贝到lib目录中。可以查看jstl-impl.jar中内容,包名都是org.apache.taglibs开头的,显然和jstl-1.x版本不一致,jstl-1.x所使用的包名为javax.serlvet.jsp.jstl开头,所以即使把jstl-impl.jar拷贝到lib下还是会报错,由于找不到标签库使用的类。
解决方法:下载jstl-1.2.jar或从MyEclipse 10安装目录下查找jstl-1.2.jar,将其拷贝到项目的lib目录下
异常2、javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/xxx (xxx为标签所对应的类)
如果在JSP中已经对声明了对JSTL的引入<%@ taglib ... %>并且已经在页面中使用了JSTL,就会出现上述异常2,原因也是跟异常1一样,由于Tomcat在执行JSTL时找不到标签库jar包。
解决方法:同上
不知道Java EE 6中jstl-impl.jar是如何使用的,百度谷歌了半天也没找到相关资料,下了个Java EE 6 Tutorial中也没提到,这个以后再研究了...
- Java EE 6.0使用JSTL常见异常解决方法
- java ee 中常见的异常
- Java EE - useBean异常
- Android常见异常解决方法
- java 10大常见异常,出现的原因和解决方法
- Java常见的内存溢出异常及解决方法
- 使用Jstl异常:The absolute uri: http://java.sun.com/jsp/jstl/core cannot&nbs
- Struts常见异常和解决方法
- Maven常见异常及解决方法
- Spring10种常见异常解决方法
- Maven常见异常及解决方法 .
- Spring10种常见异常解决方法
- Maven常见异常及解决方法
- Spring种常见异常解决方法
- javaWeb常见异常的解决方法
- Spring10种常见异常解决方法
- Spring10种常见异常解决方法
- Maven常见异常及解决方法
- ArcGIS网络分析之Silverlight客户端服务区分析(五)-分析部分
- Thread异步更新UI
- 轻量级图形报表工具JSCharts (JSChart),内置函数中文参考及中文解决方案
- 在eclipse 中 安装Maven
- 利用World Wind实现三维结合
- Java EE 6.0使用JSTL常见异常解决方法
- inux环境下用户空间与内核空间数据的交换方
- WinCE流驱动基础知识小结
- MyMap
- .bashrc
- Windows CE 流驱动实例
- 一句话总结
- 织梦后台卡死的解决办法_织梦后台动不了的解决办法
- Javascript 中变量的作用范围引发的bug