2017-02-27 107 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

相关问题