当前位置: 首页 > 知识库问答 >
问题:

HTTP状态404请求的资源不可用jersey tomcat

柴阳云
2023-03-14

我无法在tomcat8服务器上启动测试应用程序。当我输入http://localhost:8080/loginservice/rest/auth时,错误消息是“HTTP Status 404-type Status Report.message:description请求的资源不可用。”起始页http://localhost:8080/工作良好。我把所有的jar文件(jersey-client、jersey-common、jersey-container-servlet、jersey-container-servlet-core、jersey-server、javax.ws.rs-api-2.0...)在WEB-INF/lib下。而loginService是由服务器部署的。

WEB-INF下的web.xml文件

<?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" 
     xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
     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>loginService</display-name>
   <servlet>
    <servlet-name>Jersey REST Service</servlet-name>
     <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
     <init-param>
       <param-name>com.sun.jersey.config.property.packages</param-name>
      <param-value>loginTest</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
   </servlet>
   <servlet-mapping>
    <servlet-name>Jersey REST Service</servlet-name>
    <url-pattern>/rest/*</url-pattern>
   </servlet-mapping>
 </web-app> 
package loginTest;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
 @Path("/auth")
 public class Authenticate {
// This method is called if TEXT_PLAIN is request
      @GET
      @Produces(MediaType.TEXT_PLAIN)
      public String test() {
          return "succes";
      }
}
七月 10, 2014 3:06:20 下午 org.apache.catalina.core.StandardContext reload
严重: Exception starting Context with name [/loginService]
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/loginService]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
    at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3780)
    at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:293)
    at org.apache.catalina.core.StandardContext.backgroundProcess(StandardContext.java:5539)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1365)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1369)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1369)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1345)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: jersey/repackaged/com/google/common/base/Function
    at org.glassfish.jersey.internal.ServiceFinder.<clinit>(ServiceFinder.java:165)
    at org.glassfish.jersey.servlet.internal.ServletContainerProviderFactory.getAllServletContainerProviders(ServletContainerProviderFactory.java:66)
    at org.glassfish.jersey.servlet.init.JerseyServletContainerInitializer.onStartup(JerseyServletContainerInitializer.java:132)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5173)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 8 more
Caused by: java.lang.ClassNotFoundException: jersey.repackaged.com.google.common.base.Function
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1324)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1177)
    ... 13 more

七月 10, 2014 3:06:20 下午 org.apache.catalina.core.StandardContext reload
信息: Reloading Context with name [/loginService] is completed

我使用的是tomcat8和Jersey2.10.1。

我刚刚将web.xml文件更改为:

<?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" 
         xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
         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>loginService</display-name>
  <servlet>
    <servlet-name>Jersey REST Service</servlet-name>
    <servlet-class>org.glassfish.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <init-param>
      <param-name>jersey.config.server.provider.packages</param-name>
      <param-value>loginTest</param-value>
    </init-param>
    <init-param>
      <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
      <param-value>true</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Jersey REST Service</servlet-name>
    <url-pattern>/rest/*</url-pattern>
  </servlet-mapping>
</web-app>

共有1个答案

张敏达
2023-03-14

您的应用程序似乎缺少了一些必需的库,或者(因为您已经有了jercy-common.jar)类路径中已经存在的库不兼容。

因此,我想在下面的链接中指出一个完美工作(用Tomcat8测试)的示例。

泽西-HelloWorld-示例

希望这有帮助。

 类似资料:
  • 我在使用MyEclipse IDE中的Tomcat服务器和Struts 2框架时遇到了一个反复出现的问题。我正在运行我的程序作为一个服务器应用程序,当它运行时,默认的index.jsp文件将成功打开,但该应用程序的其他过去都将无法工作。当试图加载任何我的。do页面,我得到以下错误:HTTP状态404:请求的资源....不可用。当我以前遇到这个错误时,我只是重启了服务器,一切都很好,但是我现在没有同

  • 当我开始login.jsp表单并键入用户名和密码时,我有这个错误错误错误是HTTP状态404:请求的资源不可用。 我错过了什么?有什么帮助吗? 登录。JAVA 登录。jsp Web.xml Struts配置 这就是我http://www.tutorialspoint.com/struts_2/struts_database_access.htm

  • 问题内容: 在Tomcat服务器上运行Eclipse项目时出现以下错误: HTTP状态404-请求的资源(/ ProjectName /)不可用。 浏览器地址栏中的URL为。 我真的不知道文件中缺少什么。我在文件夹中有一个,并且我的包含以下条目: 问题答案: 默认情况下,当您打开项目根文件夹而不是中的物理文件时,服务器将在中查找欢迎文件。如果未找到任何内容,则将出现此404“找不到页面”错误。 就

  • 我正在制作一个简单的程序,以几个字段作为输入,然后点击确认按钮后,confirm.jsp将出现。 我创建了Controller.java servlet来标识单击的按钮,然后打开JSP。controller.java存储在web-inf/classes/ch2/servletController目录中,而submit.jsp、register.jsp、confirm.jsp存储在/ch2/serv

  • 我的文件夹中的JSP文件中有一个HTML表单。我在文件夹的默认包中有一个servlet类。在我的中,它被映射为。 我在HTML表单的属性中尝试了几个URL: 但这些都没用。它们都在Tomcat 6/7/8中不断返回HTTP 404错误,如下所示: 描述:请求的资源(/servlet)不可用。 或在Tomcat 8.5/9中如下所示: 消息:/servlet 描述:源服务器找不到目标资源的当前表示形

  • 我的文件夹中的JSP文件中有一个HTML表单。我有一个servlet类在文件夹中的默认包中。在我的它被映射为。 我在HTML表单的属性中尝试了几个URL: 但这些都不管用。它们都会不断返回HTTP 404错误,如Tomcat 6/7/8中的以下错误: 描述:请求的资源(/servlet)不可用。 或如Tomcat 8.5/9中所示: 消息:/servlet 描述:源服务器没有找到目标资源的当前表示