2017-02-27 134 views
-2

我創建一個web應用程序,並保持整個這個錯誤ClassCastException異常:不能被轉換爲com.sun.jersey.spi.container.servlet.ServletContainer

java.lang.ClassCastException: org.uiowa.logsdon.genespot.JobInformation.GeneSpotAnalysis cannot be cast to javax.servlet.Servlet 
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1050) 
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:779) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349) 
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:783) 
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) 
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:789) 
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455) 
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
at java.lang.Thread.run(Unknown Source) 

來這裏是我的web.xml

<?xml version="1.0" encoding="ISO-8859-1"?> 
<web-app version="3.0" 
    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"> 


    <display-name>The Gene Spot</display-name> 
    <welcome-file-list> 
    <welcome-file>jobSubmission 2.html</welcome-file> 
    </welcome-file-list> 


    <servlet> 
     <servlet-name>TheGeneSpot</servlet-name> 
     <servlet-class>org.uiowa.logsdon.genespot.JobInformation.GeneSpotAnalysis</servlet-class> 
<init-param> 
    <param-name>com.sun.jersey.config.property.packages</param-name> 
    <param-value>org.uiowa.logsdon.genespot.JobInformation</param-value> 
    </init-param> 
    </servlet> 

    <!-- Note: All <servlet> elements MUST be grouped together and 
     placed IN FRONT of the <servlet-mapping> elements --> 

    <servlet-mapping> 
     <servlet-name>TheGeneSpot</servlet-name> 
     <url-pattern>/analysis/*</url-pattern> 
    </servlet-mapping> 
</web-app> 

該servlet本身(JAVA)

package org.uiowa.logsdon.genespot.JobInformation; 

import java.io.FileNotFoundException; 
import java.io.UnsupportedEncodingException; 
import java.util.List; 

import javax.ws.rs.FormParam; 
import javax.ws.rs.POST; 
import javax.ws.rs.Path; 
@Path("/GeneSpot") 
public class GeneSpotAnalysis { 
    @POST 
    public String Genespot(@FormParam("inputArray[]") List<String> datalist) 
      throws UnsupportedEncodingException, FileNotFoundException { 
//Code here 
} 

和後向servlet(JS)

var location =window.location.href+"analysis/GeneSpot" 
    var results = $.post(location,{inputArray:inputArray},function(results){ 
    }) 

我對日食,我知道運行Tomcat服務器時有一些問題,運行這一點,但我已經清洗並問這個問題之前建造的項目

我肯定這是一些小事,我只是俯瞰,但任何幫助表示讚賞

回答

-1

web.xml中的servlet-class標記值沒有指向正確的Servlet類。

我注意到你正在使用Jersey REST API實現來公開你的REST服務,所以你有兩個選擇;使用Jersey Servlet來處理您的請求,而不是您自己的資源類(GeneSpotAnalysis),或將@Path註釋更改爲@ApplicationPath。

使用,你可以在這行更改 的web.xml中第一多的傳統選項:

<servlet-class>org.uiowa.logsdon.JobInformation.GeneSpotAnalysis</servlet-class>

此:

<servlet-class><servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> </servlet-class>

您可以查看更多本頁詳細信息 https://jersey.java.net/documentation/latest/deployment.html#deployment.servlet.3

+0

這是我輸入時出現的一個錯誤。我在servlet類中確實有.genespot。道歉。 – Georgrio

+0

雖然錯誤仍在發生 – Georgrio

相關問題