我正在Eclipse中使用Maven/Tomcat/Java。我已经制作了这个java servlet,但是当我转到localhost:xxxx/myapp/rest时,我的get请求没有得到响应,我得到的是404。我想如果我将@path设置为/rest,我就可以向url发送一个GET请求,但它不起作用。有人知道是什么问题吗?谢谢你!
@Path("/rest")
public class WorldResource {
@GET
@Produces("application/json")
public String getOrders() {
WorldService service = ServiceProvider.getWorldService();
JsonArrayBuilder jab = Json.createArrayBuilder();
for (Country o : service.getAllCountries()) {
JsonObjectBuilder job = Json.createObjectBuilder();
job.add("iso2Code", o.getCode());
job.add("iso3Code", o.getIso3Code());
job.add("capital", o.getCapital());
job.add("continent", o.getContinent());
job.add("region", o.getRegion());
job.add("surface", o.getSurface());
job.add("population", o.getPopulation());
job.add("government", o.getGovernment());
job.add("latitude", o.getLatitude());
job.add("longitude", o.getLongitude());
jab.add(job);
}
JsonArray array = jab.build();
System.out.println(array);
return array.toString();
}
}
这不是一个servlet,而是一个JAX-RS资源。这不会在Tomcat中“开箱即用”,您需要同时部署一个JAX-RS实现(比如Jersey)。
Servlet看起来如下所示:
@WebServlet(name = "WorldServlet", urlPatterns = {"/rest"})
public class WorldServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("application/json");
try (PrintWriter out = response.getWriter()) {
... // your code
out.println(array.toString());
}
}
}
因此,您只需要查看安装JAX-RS提供程序的情况。此外,当您这样做时,很有可能它仍然不会在/rest
处,因为JAX-RS实现通常根植于某个路径,因此您可能最终得到类似于/resources/rest
的东西。
当然,这些都是可配置的。
进入到某个目录的下面,去编辑在某个位置上的文件。你应该了解文件与目录的路径在命令行界面下的表示方法。 层级 目录的层级关系一般使用 / 来表示,Windows 上用的是 \ 。 macOS / Linux /Users/wanghao/desktop Windows C:\Users\wanghao\desktop 上面都表示的是 desktop 这个东西的路径。在 macOS / Linux
路径分为绝对路径和相对路径。 绝对路径的起始点为根目录 / ,例如 /usr/local/bin 就是绝对路径,它指向系统中一个绝对的位置,不受其它因素影响。 相对路径的起始点为当前目录,如果您现在位于 /usr 目录,那么相对路径 local/bin 所指示的位置为 /usr/local/bin 也就是说,相对路径所指示的位置,除了相对路径本身,还受到当前位置的影响。例如 Linux 系统中常见
Vim是一个文本编辑器,而文本编辑器(经常)处理文本文件。文本文件储存在文件系统中, 而我们使用路径来描述文件。Vimscript有一些内置的方法会在你需要处理路径时帮上大忙。 绝对路径 有时外部脚本也需要获取特定文件的绝对路径名。执行下面的命令: :::vim :echom expand('%') :echom expand('%:p') :echom fnamemodify('foo.txt'
在以下React应用程序中,有两个路由URLhttp://myapp 正确布线到布局构件。但是,URLhttp://myapp/login 也路由到布局组件,而不是登录。如果我将path=“/login”更改为“/sign”,它将正确路由到登录组件。 React路由器中的“/login”路径将其路由到路由是否有特殊之处?或者我设置这个路由的方式有错误吗?
我的目标是开发一个单一的骆驼路线来映射这些服务器,接受路径中服务器的名称。类似于这样: 我的(简化且不起作用)Blueprint.xml: 问题是,我不知道如何从路径中移除/center、/north或/south,因此头部被传递给目标服务,而目标服务不知道如何处理它。调用:
问题内容: 如果使用绝对路径,则无法将整个目录移动到新位置。如果使用相对路径,则无法将单个文件移动到新位置。 这里有什么解决方案?您是否设置了一个包含根路径并从那里开始的配置文件?还是您有类似的规则:永不移动文件? 我在某些项目中看到人们使用dirname( FILE )。我的意思是,为什么不简单地将其删除,因为目录名还是相对的(取决于文件所在的位置)? 问题答案: 您应该使用一个配置文件,该配置
我有以下入口设置: 当我点击时,我被重定向到,并带有NGINX 404未找到。 根据日志,可以看到< code>grafana窗格被查询命中: logger = context traceID = 0000000000000000000000000000 userId = 0 orgId = 0 uname = t = 2022-10-13t 16:19:57.989170173 z level