Tomcat,Jstl,Servlet-api,jsp-api,standard各版本支持

2024-06-17 05:32

本文主要是介绍Tomcat,Jstl,Servlet-api,jsp-api,standard各版本支持,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、前言


最近在整合SSM框架,然后引入了SiteMesh2.4布局框架,然后就引出了一系列问题,先是jstl版本报错,然后就是运行项目JSP页面报错等等这一些问题都是由于Tomcat,Jstl,Servlet-api,jsp-api,standard这几者之间的关系导致的。我在项目中引用了jstl1.2,servlet-api3.1.0,jsp-api2.2,standard1.1.2 mavne依赖如下:

<!-- Servlet api -->
<dependency><groupId>javax.servlet</groupId><artifactId>3.1.0</artifactId><version></version><scope>provided</scope>
</dependency>
<dependency>  <groupId>javax.servlet.jsp</groupId>  <artifactId>jsp-api</artifactId>  <version>2.2</version>  <scope>provided</scope>  
</dependency>
<dependency><groupId>javax</groupId><artifactId>javaee-api</artifactId><version>7.0</version>
</dependency>			
<!-- JSTL -->
<dependency>  <groupId>javax.servlet</groupId>  <artifactId>jstl</artifactId><type>jar</type><version>1.2</version>  
</dependency>
<!-- standard -->
<dependency><groupId>taglibs</groupId><artifactId>standard</artifactId><type>jar</type><version>1.1.2</version>
</dependency>
<dependency>  <groupId>org.glassfish.web</groupId>  <artifactId>jstl-impl</artifactId>  <version>1.2</version>  <exclusions>  <exclusion>  <artifactId>servlet-api</artifactId>  <groupId>javax.servlet</groupId>  </exclusion>  <exclusion>  <artifactId>jsp-api</artifactId>  <groupId>javax.servlet.jsp</groupId>  </exclusion>  <exclusion>  <artifactId>jstl-api</artifactId>  <groupId>javax.servlet.jsp.jstl</groupId>  </exclusion>  </exclusions>  
</dependency>  


Servlet版本用的是3.0,web.xml中的scheme定义为:

<web-app   xmlns="http://java.sun.com/xml/ns/javaee"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">  


由于JSTL1.0和JSTL1.1的声明语句不一样:

JSTL1.0的使用方法为:
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>JSTL1.1的使用方法为:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>JSTL1.2的使用方法为
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

我在JSP页面中引用的就是jstl1.1的语法,然后放到Tomcat8中去运行,一运行就报错:

org.apache.jasper.JasperException: /register.jsp (line: 10, 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


最后发现把语法改成1.0的就能运行,说明Tomcat8不支持1.1,然后发现Tomcat8/lib目录下并没有jstl1.1的jar包,复制一个到该目录下就行了。


如果说是报下面这种错的话,基本上就是由于版本不一致所导致的:

org.apache.jasper.JasperException:
java.lang.RuntimeException: org.apache.jasper.JasperException:


有时候要看EL表达式是否支持,默认开启支持EL表达式支持有:


1、servlet2.4
2、J2EE6


默认不支持EL表达式需要进行如下2种配置中的其一来开启EL:


1、在JSP中加入:

<%@ page isELIgnored="false"%>

2、在web.xm中加入:

<jsp-config>     <jsp-property-group>     <url-pattern>*.jsp</url-pattern>     <el-ignored>false</el-ignored>     </jsp-property-group>     
</jsp-config>


二、对应关系




Servlet - - Jsp - - EL表达式 - - Tomcat一览表




注:


1,来源自Tomcat官网:http://tomcat.apache.org/whichversion.html


JSTL各个版本与Jsp及Servlet版本之间的依赖关系:




注:


1,来源自百度百科:http://baike.baidu.com/view/73527.htm 

这篇关于Tomcat,Jstl,Servlet-api,jsp-api,standard各版本支持的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1068597

相关文章

IDEA如何切换数据库版本mysql5或mysql8

《IDEA如何切换数据库版本mysql5或mysql8》本文介绍了如何将IntelliJIDEA从MySQL5切换到MySQL8的详细步骤,包括下载MySQL8、安装、配置、停止旧服务、启动新服务以及... 目录问题描述解决方案第一步第二步第三步第四步第五步总结问题描述最近想开发一个新应用,想使用mysq

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

Debian如何查看系统版本? 7种轻松查看Debian版本信息的实用方法

《Debian如何查看系统版本?7种轻松查看Debian版本信息的实用方法》Debian是一个广泛使用的Linux发行版,用户有时需要查看其版本信息以进行系统管理、故障排除或兼容性检查,在Debia... 作为最受欢迎的 linux 发行版之一,Debian 的版本信息在日常使用和系统维护中起着至关重要的作

使用SpringBoot创建一个RESTful API的详细步骤

《使用SpringBoot创建一个RESTfulAPI的详细步骤》使用Java的SpringBoot创建RESTfulAPI可以满足多种开发场景,它提供了快速开发、易于配置、可扩展、可维护的优点,尤... 目录一、创建 Spring Boot 项目二、创建控制器类(Controller Class)三、运行

最新版IDEA配置 Tomcat的详细过程

《最新版IDEA配置Tomcat的详细过程》本文介绍如何在IDEA中配置Tomcat服务器,并创建Web项目,首先检查Tomcat是否安装完成,然后在IDEA中创建Web项目并添加Web结构,接着,... 目录配置tomcat第一步,先给项目添加Web结构查看端口号配置tomcat    先检查自己的to

Apache Tomcat服务器版本号隐藏的几种方法

《ApacheTomcat服务器版本号隐藏的几种方法》本文主要介绍了ApacheTomcat服务器版本号隐藏的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1. 隐藏HTTP响应头中的Server信息编辑 server.XML 文件2. 修China编程改错误

SpringBoot如何访问jsp页面

《SpringBoot如何访问jsp页面》本文介绍了如何在SpringBoot项目中进行Web开发,包括创建项目、配置文件、添加依赖、控制层修改、测试效果以及在IDEA中进行配置的详细步骤... 目录SpringBoot如何访问JSP页python面简介实现步骤1. 首先创建的项目一定要是web项目2. 在

Servlet中配置和使用过滤器的步骤记录

《Servlet中配置和使用过滤器的步骤记录》:本文主要介绍在Servlet中配置和使用过滤器的方法,包括创建过滤器类、配置过滤器以及在Web应用中使用过滤器等步骤,文中通过代码介绍的非常详细,需... 目录创建过滤器类配置过滤器使用过滤器总结在Servlet中配置和使用过滤器主要包括创建过滤器类、配置过滤

你的华为手机升级了吗? 鸿蒙NEXT多连推5.0.123版本变化颇多

《你的华为手机升级了吗?鸿蒙NEXT多连推5.0.123版本变化颇多》现在的手机系统更新可不仅仅是修修补补那么简单了,华为手机的鸿蒙系统最近可是动作频频,给用户们带来了不少惊喜... 为了让用户的使用体验变得很好,华为手机不仅发布了一系列给力的新机,还在操作系统方面进行了疯狂的发力。尤其是近期,不仅鸿蒙O

什么是 Ubuntu LTS?Ubuntu LTS和普通版本区别对比

《什么是UbuntuLTS?UbuntuLTS和普通版本区别对比》UbuntuLTS是Ubuntu操作系统的一个特殊版本,旨在提供更长时间的支持和稳定性,与常规的Ubuntu版本相比,LTS版... 如果你正打算安装 Ubuntu 系统,可能会被「LTS 版本」和「普通版本」给搞得一头雾水吧?尤其是对于刚入