Java rest 网络服务显示名称

标签 java web-services rest jersey

我刚刚开始构建我自己的 rest web 服务,我开始学习这个优秀的教程:http://www.vogella.com/articles/REST/article.html#first_project

但是有些事情我不太明白。它与服务的路径有关。

hello 资源的路径现在是这样的:

http://localhost:8080/de.vogella.jersey.first/rest/hello

这是教程中的默认设置。

但是我想将其更改为更方便的链接,例如:

http://localhost:8080/mywebservice/resources/hello

我尝试将 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>mywebservice</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>de.vogella.jersey.first</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Jersey REST Service</servlet-name>
    <url-pattern>/resources/*</url-pattern>
  </servlet-mapping>
</web-app> 

我更改了显示名称和 url 模式,但没有任何效果。我无法使用我想要的路径访问资源,尽管我可以从旧路径检索它。

这是为什么呢? web.xml 中的显示名称与此无关吗?

最佳答案

您正在更改 Web 应用程序的上下文名称。如果您以 war(webapp 存档)的形式部署它,war 的名称将是上下文名称。

在您所关注的示例中,您正在创建一个具有该名称的动态 Web 项目。您必须适本地重命名它。

关于Java rest 网络服务显示名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11424103/

相关文章:

java - 如何从子元素 JPA 加入

java - 将按钮添加到 TableView JavaFX 中的列

python - 如何在 urllib2.URLError 上打印响应正文?

java - 这段代码中嵌套接口(interface)有什么用

java - 字符是否在字符集中? Java 中 Web 服务的验证

javascript - 尽管我有 Set-Cookie 作为响应,但浏览器没有设置 cookie

web-services - 在多层架构中,是否可以跳过业务层进行 crud 操作?

ruby-on-rails - 如何利用 REST 将 Android 设备中的 GPS 数据发布到 Ruby on Rails 应用程序中?

java neo4j 检查关系是否存在

java - 试图运行 GUI 应用程序,但 GUI 从未出现