新手试图在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):
日志文件 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毫秒
答案 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服务类并添加范围。您也可以尝试添加索引页面并访问它。通过这种方式,您可以确保服务器或尝试访问服务器的方式没有问题。