初学者Java REST 404错误

时间:2016-09-10 11:00:32

标签: java rest

新手试图在Java中设置REST服务。我创建了一个简单的java程序,并在apache-tomcat-8.5.5(在apache-tomcat-8.5.5 \ webapps目录下)部署了war文件。但是当我尝试访问REST服务(http://localhost:8081/SampleRS/rest/sampproj/uservalue)时,出现404错误。 (在端口8081上启动tomcat {本来想做一个POST - 使用Postman,但是收到错误,然后添加了一个GET方法来验证,但仍然有错误)

Java文件:

package sampproj;

import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.GET;
import javax.ws.rs.Produces;
import javax.ws.rs.PathParam;

@Path("sampproj")
public class WSPostSer {
    public WSPostSer() {
        super();
    }

    @POST
    @Consumes("application/json")
    @Path("devpost")
    public String createTemp (String devName){
        System.out.println (" in reate");
        return "heloo" + devName;
    }

    @GET
    @Produces("text/plain")
    @Path("/uservalue")
    public String welcomeResource (@PathParam("uservalue") String username){    
        System.out.println("  welcomeResource ");   
        return "heloo Get " + username; 
    }
}

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" 
   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
   http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
   id="WebApp_ID" version="3.0">
   <display-name>SampleRS</display-name>
   <servlet>
      <servlet-name>Jersey RESTful Application</servlet-name>
      <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
            <param-name>jersey.config.server.provider.packages</param-name>
            <param-value>sampproj</param-value>
         </init-param>
      </servlet>
   <servlet-mapping>
   <servlet-name>Jersey RESTful Application</servlet-name>
      <url-pattern>/rest/*</url-pattern>
   </servlet-mapping>  
</web-app>

lib(jars):

enter image description here

  

日志文件    localhost_access_log.2016-09-10: 0:0:0:0:0:0:0:1 - - [10 / Sep / 2016:08:16: 56 +0530]&#34; POST / SampleRS / rest / sampproj / devpost   HTTP / 1.1&#34; 404 1052 0:0:0:0:0:0:0:1 - - [10 / Sep / 2016:08:18:46 +0530]   &#34; POST / SampleRS / rest / sampproj / devpost HTTP / 1.1&#34; 404 1052     0:0:0:0:0:0:0:1 - - [10 / Sep / 2016:08:24:57 +0530]&#34; GET   / SampleRS / rest / sampproj / uservalue HTTP / 1.1&#34; 404 1056 0:0:0:0:0:0:0:1    - [10 / Sep / 2016:08:25:04 +0530]&#34; GET / SampleRS / rest / sampproj / hell HTTP / 1.1&#34; 404 1046 0:0:0:0:0:0:0:1 - - [10 / Sep / 2016:08:29:25 +0530]   &#34; GET / HTTP / 1.1&#34; 200 11450 0:0:0:0:0:0:0:1 - - [10 / Sep / 2016:08:29:26   +0530]&#34; GET /tomcat.css HTTP / 1.1&#34; 200 5926 0:0:0:0:0:0:0:1 - - [10 / Sep / 2016:08:29:26 +0530]&#34; GET /tomcat.png HTTP / 1.1&#34; 200 5103     0:0:0:0:0:0:0:1 - - [10 / Sep / 2016:08:29:26 +0530]&#34; GET /favicon.ico   HTTP / 1.1&#34; 200 21630 0:0:0:0:0:0:0:1 - - [10 / Sep / 2016:08:29:27 +0530]   &#34; GET /bg-nav.png HTTP / 1.1&#34; 200 1401 0:0:0:0:0:0:0:1 - -   [10 / Sep / 2016:08:29:27 +0530]&#34; GET /asf-logo.png HTTP / 1.1&#34; 200 17811     0:0:0:0:0:0:0:1 - - [10 / Sep / 2016:08:29:27 +0530]&#34; GET /bg-upper.png   HTTP / 1.1&#34; 200 3103 0:0:0:0:0:0:0:1 - - [10 / Sep / 2016:08:29:27 +0530]   &#34; GET /bg-button.png HTTP / 1.1&#34; 200 713 0:0:0:0:0:0:0:1 - -   [10 / Sep / 2016:08:29:27 +0530]&#34; GET /bg-middle.png HTTP / 1.1&#34; 200 1918年     0:0:0:0:0:0:0:1 - - [10 / Sep / 2016:08:29:42 +0530]&#34; GET / SampleRS   HTTP / 1.1&#34; 404 1008 0:0:0:0:0:0:0:1 - - [10 / Sep / 2016:08:30:02 +0530]   &#34; GET / SampleRS HTTP / 1.1&#34; 404 1008 0:0:0:0:0:0:0:1 - -   [2016年9月10日:15:49:20 +0530]&#34; GET / SampleRS / rest / sampproj / uservalue   HTTP / 1.1&#34; 404 1056 0:0:0:0:0:0:0:1 - - [10 / Sep / 2016:15:49:20 +0530]   &#34; GET /favicon.ico HTTP / 1.1&#34; 200 21630 0:0:0:0:0:0:0:1 - -   [10 / Sep / 2016:16:07:42 +0530]&#34; GET / SampleRS / rest / sampproj / uservalue / df   HTTP / 1.1&#34; 404 1062 0:0:0:0:0:0:0:1 - - [10 / Sep / 2016:16:07:49 +0530]   &#34; GET / SampleRS / rest / sampproj / uservalue = df HTTP / 1.1&#34; 404 1062     0:0:0:0:0:0:0:1 - - [10 / Sep / 2016:16:22:41 +0530]&#34; GET   / SampleRS / rest / sampproj / user HTTP / 1.1&#34; 404 1046 0:0:0:0:0:0:0:1 - -   [10 / Sep / 2016:17:40:07 +0530]&#34; GET / SampleRS / rest / sampproj / uservalue / me   HTTP / 1.1&#34; 404 1062 0:0:0:0:0:0:0:1 - - [10 / Sep / 2016:17:43:08 +0530]   &#34; GET / SampleRS / rest / sampproj / uservalue / me HTTP / 1.1&#34; 404 1062     0:0:0:0:0:0:0:1 - - [10 / Sep / 2016:18:04:23 +0530]&#34; GET   / SampleRS / rest / sampproj / uservalue / me HTTP / 1.1&#34; 404 1062     0:0:0:0:0:0:0:1 - - [10 / Sep / 2016:18:04:31 +0530]&#34; GET   / WSwebapp / SampleRS / rest / sampproj / uservalue / me HTTP / 1.1&#34; 404 1080     0:0:0:0:0:0:0:1 - - [10 / Sep / 2016:18:04:40 +0530]&#34; GET   / WSwebapp / rest / sampproj / uservalue / me HTTP / 1.1&#34; 404 1008     0:0:0:0:0:0:0:1 - - [10 / Sep / 2016:18:09:10 +0530]&#34; GET   / WSwebapp / rest / sampproj / uservalue / me HTTP / 1.1&#34; 404 1008     0:0:0:0:0:0:0:1 - - [10 / Sep / 2016:18:20:25 +0530]&#34; GET   / WSwebapp / rest / sampproj / uservalue / me HTTP / 1.1&#34; 404 1008     0:0:0:0:0:0:0:1 - - [10 / Sep / 2016:18:21:04 +0530]&#34; GET   / WSwebapp / rest / sampproj / uservalue / me HTTP / 1.1&#34; 404 1008

     

catalina.2016-09-10: 2016年9月10日17:45:33.158 INFO [localhost-startStop-2]   org.apache.catalina.startup.HostConfig.deployWAR部署web   应用程序归档C:\ apache-tomcat-8.5.5 \ webapps \ WSwebapp.war有   完成于2,632 ms 10-Sep-2016 17:45:33.235 INFO [Thread-5]   org.apache.coyote.AbstractProtocol.stop停止ProtocolHandler   [&#34; http-nio-8081&#34;] 10-Sep-2016 17:45:33.248 INFO [Thread-5]   org.apache.coyote.AbstractProtocol.stop停止ProtocolHandler   [&#34; ajp-nio-8009&#34;] 10-Sep-2016 17:45:33.259 INFO [Thread-5]   org.apache.coyote.AbstractProtocol.destroy销毁ProtocolHandler   [&#34; http-nio-8081&#34;] 10-Sep-2016 17:45:33.267 INFO [Thread-5]   org.apache.coyote.AbstractProtocol.destroy销毁ProtocolHandler   [&#34; ajp-nio-8009&#34;] 10-Sep-2016 17:57:11.249 INFO [main]   org.apache.catalina.startup.VersionLoggerListener.log服务器版本:   Apache Tomcat / 8.5.5 10-Sep-2016 17:57:11.253 INFO [main]   org.apache.catalina.startup.VersionLoggerListener.log服务器内置:
  2016年8月31日19:51:16 UTC 10-Sep-2016 17:57:11.253 INFO [main]   org.apache.catalina.startup.VersionLoggerListener.log服务器编号:
  8.5.5.0 10-Sep-2016 17:57:11.254 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log操作系统名称:
  Windows 7 10-Sep-2016 17:57:11.254 INFO [main]   org.apache.catalina.startup.VersionLoggerListener.log操作系统版本:
  6.1 10-Sep-2016 17:57:11.255 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log架构:
  amd64 10-Sep-2016 17:57:11.255 INFO [main]   org.apache.catalina.startup.VersionLoggerListener.log Java Home:
  C:\ Program Files \ Java \ jdk1.8.0_91 \ jre 10-Sep-2016 17:57:11.256 INFO   [main] org.apache.catalina.startup.VersionLoggerListener.log JVM   版本:1.8.0_91-b15 10-Sep-2016 17:57:11.256 INFO [main]   org.apache.catalina.startup.VersionLoggerListener.log JVM供应商:
  Oracle Corporation 10-Sep-2016 17:57:11.256 INFO [main]   org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:
  C:\ apache-tomcat-8.5.5 10-Sep-2016 17:57:11.257 INFO [main]   org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:
  C:\ apache-tomcat-8.5.5 10-Sep-2016 17:57:11.260 INFO [main]   org.apache.catalina.startup.VersionLoggerListener.log命令行   参数:-Djdk.tls.ephemeralDHKeySize = 2048 10-Sep-2016 17:57:11.262   INFO [main] org.apache.catalina.startup.VersionLoggerListener.log   命令行参数:   -Djava.util.logging.config.file = C:\ Apache的Tomcat的8.5.5 \ CONF \ logging.properties     2016年9月10日17:57:11.264信息[主要]   org.apache.catalina.startup.VersionLoggerListener.log命令行   参数:   -Djava.util.logging.manager = org.apache.juli.ClassLoaderLogManager 10-Sep-2016 17:57:11.268 INFO [main]   org.apache.catalina.startup.VersionLoggerListener.log命令行   参数:-Dcatalina.base = C:\ apache-tomcat-8.5.5 2016年9月10日   17:57:11.273 INFO [主要]   org.apache.catalina.startup.VersionLoggerListener.log命令行   参数:-Dcatalina.home = C:\ apache-tomcat-8.5.5 2016年9月10日   17:57:11.278 INFO [主要]   org.apache.catalina.startup.VersionLoggerListener.log命令行   参数:-Djava.io.tmpdir = C:\ apache-tomcat-8.5.5 \ temp 2016年9月10日   17:57:11.283 INFO [主要]   org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR   基于Apache Tomcat的本机库,可以实现最佳性能   在java.library.path上找不到生产环境:   C:\ PROGRAM   文件\的Java \ jdk1.8.0_91 \ BIN; C:\ WINDOWS \太阳\的Java \ BIN; C:\ WINDOWS \ SYSTEM32; C:\ WINDOWS; C:\ oraclexe \程序\ ORACLE \产品\ 11.2.0 \服务器\ BIN ;; C:\ PROGRAM   文件\博通\博通   802.11 ;;; C:\ ProgramData \甲骨文\爪哇\ javapath; C:\ Windows \ System32下; C:\窗口; C:\ Windows \ System32下\ WBEM; C:\ Windows \ System32下\ WindowsPowerShell \ V1.0 \; C:\ PROGRAM   Files \ WIDCOMM \ Bluetooth Software \; C:\ Program Files \ WIDCOMM \ Bluetooth   Software \ syswow64; C:\ Program Files \ Java \ jdk1.8.0_91 \ bin;。 10九月2016   17:57:11.634 INFO [main] org.apache.coyote.AbstractProtocol.init   初始化ProtocolHandler [&#34; http-nio-8081&#34;] 2016年9月10日   17:57:11.950 INFO [主要]   org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector使用   servlet的共享选择器写入/读取10-Sep-2016 17:57:11.957 INFO   [main] org.apache.coyote.AbstractProtocol.init正在初始化   ProtocolHandler [&#34; ajp-nio-8009&#34;] 10-Sep-2016 17:57:11.983 INFO [main]   org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector使用   servlet的共享选择器写入/读取10-Sep-2016 17:57:11.985 INFO   [main] org.apache.catalina.startup.Catalina.load初始化   处理于1694 ms 10-Sep-2016 17:57:12.061 INFO [main]   org.apache.catalina.core.StandardService.startInternal Starting   服务Catalina 10-Sep-2016 17:57:12.065 INFO [main]   org.apache.catalina.core.StandardEngine.startInternal启动Servlet   引擎:Apache Tomcat / 8.5.5 2016年9月10日17:57:12.135信息   [本地主机 - startStop-1]   org.apache.catalina.startup.HostConfig.deployWAR部署Web   应用程序归档C:\ apache-tomcat-8.5.5 \ webapps \ WSwebapp.war     2016年9月10日17:57:15.713 INFO [localhost-startStop-1]   org.apache.jasper.servlet.TldScanner.scanJars至少有一个JAR   扫描TLD但尚未包含TLD。为此启用调试日志记录   记录器获取已扫描但没有TLD的JAR的完整列表   发现在他们身上。在扫描期间跳过不需要的JAR可以改善   启动时间和JSP编译时间。 2016年9月10日17:57:16.210信息   [本地主机 - startStop-1]   org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom   使用创建会话ID生成的SecureRandom实例   [SHA1PRNG]花了[305]毫秒。 2016年9月10日17:57:16.264信息   [本地主机 - startStop-1]   org.apache.catalina.startup.HostConfig.deployWAR部署web   应用程序归档C:\ apache-tomcat-8.5.5 \ webapps \ WSwebapp.war有   完成于4,128 ms 10-Sep-2016 17:57:16.267 INFO   [本地主机 - startStop-1]   org.apache.catalina.startup.HostConfig.deployDirectory部署Web   应用程序目录C:\ apache-tomcat-8.5.5 \ webapps \ docs 2016年9月10日   17:57:16.324 INFO [localhost-startStop-1]   org.apache.catalina.startup.HostConfig.deployDirectory部署   Web应用程序目录C:\ apache-tomcat-8.5.5 \ webapps \ docs有   完成于58 ms 10-Sep-2016 17:57:16.325 INFO   [本地主机 - startStop-1]   org.apache.catalina.startup.HostConfig.deployDirectory部署Web   应用程序目录C:\ apache-tomcat-8.5.5 \ webapps \ examples     2016年9月10日17:57:17.600 INFO [localhost-startStop-1]   org.apache.catalina.startup.HostConfig.deployDirectory部署   Web应用程序目录C:\ apache-tomcat-8.5.5 \ webapps \ examples有   完成于1,275 ms 10-Sep-2016 17:57:17.601 INFO   [本地主机 - startStop-1]   org.apache.catalina.startup.HostConfig.deployDirectory部署Web   应用程序目录C:\ apache-tomcat-8.5.5 \ webapps \ host-manager     2016年9月10日17:57:17.687 INFO [localhost-startStop-1]   org.apache.catalina.startup.HostConfig.deployDirectory部署   Web应用程序目录C:\ apache-tomcat-8.5.5 \ webapps \ host-manager   已完成86 ms 10-Sep-2016 17:57:17.688 INFO   [本地主机 - startStop-1]   org.apache.catalina.startup.HostConfig.deployDirectory部署Web   应用程序目录C:\ apache-tomcat-8.5.5 \ webapps \ manager     2016年9月10日17:57:17.761 INFO [localhost-startStop-1]   org.apache.catalina.startup.HostConfig.deployDirectory部署   Web应用程序目录C:\ apache-tomcat-8.5.5 \ webapps \ manager有   完成于74 ms 10-Sep-2016 17:57:17.762 INFO   [本地主机 - startStop-1]   org.apache.catalina.startup.HostConfig.deployDirectory部署Web   应用程序目录C:\ apache-tomcat-8.5.5 \ webapps \ ROOT 10-Sep-2016   17:57:20.655 INFO [localhost-startStop-1]   org.apache.jasper.servlet.TldScanner.scanJars至少有一个JAR   扫描TLD但尚未包含TLD。为此启用调试日志记录   记录器获取已扫描但没有TLD的JAR的完整列表   发现在他们身上。在扫描期间跳过不需要的JAR可以改善   启动时间和JSP编译时间。 2016年9月10日17:57:20.766信息   [本地主机 - startStop-1]   org.apache.catalina.startup.HostConfig.deployDirectory部署   Web应用程序目录C:\ apache-tomcat-8.5.5 \ webapps \ ROOT具有   完成于3,004 ms 10-Sep-2016 17:57:20.777 INFO [main]   org.apache.coyote.AbstractProtocol.start启动ProtocolHandler   [http-nio-8081] 2016年9月10日17:57:20.828 INFO [主要]   org.apache.coyote.AbstractProtocol.start启动ProtocolHandler   [ajp-nio-8009] 2016年9月10日17:57:20.864信息[主要]   org.apache.catalina.startup.Catalina.start服务器启动时间为8874毫秒

2 个答案:

答案 0 :(得分:1)

将您的方法更改为:

import flash.geom.Point;

var positions:Vector.<Point> = new Vector.<Point>(3);

var p1:Point = new Point(78,200);
var p2:Point = new Point(217,200);
var p3:Point = new Point(356,200);

positions[0] = p1;
positions[1] = p2;
positions[2] = p3;

trace(positions);

// output : (x=78, y=200),(x=217, y=200),(x=356, y=200)

您的war文件名是WSwebapp.war,因此请在浏览器中输入以下URL:

<html ng-app="whateveryourmodule">

你应该看到@GET @Produces("text/plain") @Path("{uservalue}") public String welcomeResource (@PathParam("uservalue") String username){ System.out.println(" welcomeResource "); return "heloo Get " + username; } :)

答案 1 :(得分:0)

您不需要构造函数用于rest服务类并添加范围。您也可以尝试添加索引页面并访问它。通过这种方式,您可以确保服务器或尝试访问服务器的方式没有问题。