web.xml servlet标记在EC2上与Tomcat6分解

时间:2013-12-16 01:43:20

标签: eclipse servlets amazon-ec2 tomcat6 web.xml

ENV:EC2上带有Tomcat6的Amazon Linux。

我在Eclipse上创建了一个带有index.jsp的简单动态Web项目,将其加载到云端并正确显示。但是,一旦我创建了一个servlet并执行相同的过程,该页面就说服务不可用,并提供错误代码503。

我试图删除web.xml中的servlet标记,然后再次运行。

为了澄清,我有两个现有的动态网络项目,我想在云上部署。两者都在本地Tomcat6上正常运行。

编辑: enter image description here

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>Test</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
  <servlet>
    <description></description>
    <display-name>Se</display-name>
    <servlet-name>Se</servlet-name>
    <servlet-class>Servlet.Se</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Se</servlet-name>
    <url-pattern>/Se</url-pattern>
  </servlet-mapping>
</web-app>

上面是我的web.xml,如果删除servlet,servlet-mapping块,它会再次运行。

2 个答案:

答案 0 :(得分:2)

UnsupportedClassVersionError通常会发生,因为您使用的是较新的JDK版本进行编译而不是运行时使用的版本。尝试使用Tomcat使用的相同JDK版本进行编译。

答案 1 :(得分:1)

  

严重:部署Web应用程序存档Test.war时出错   java.lang.UnsupportedClassVersionError:Servlet / Se:不支持的major.minor版本51.0(无法加载类Servlet.Se)

当您在不同版本的JRE上运行应用程序时,会发生此类错误,而不是最初用于或编译的JRE。

51.0意味着它期待JRE版本7并且(最有可能的是)您必须在ec2服务器上的JRE 6上运行它。首先使用命令

确定ec2服务器上JRE的版本
  

$ java -version

并确保它与最初编译代码的那个匹配。您最有可能在JRE7和ec2服务器上编译代码,JRE6已配置,您可能希望在ec2服务器上升级它,或在您的计算机上降级。