java - 更改 URL 模式,欢迎文件显示 404

标签 java web-services url jax-rs resteasy

我有以下 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>SeekLocal</display-name>
<welcome-file-list>
  <welcome-file>index.html</welcome-file>
</welcome-file-list>
<servlet>
  <servlet-name>Resteasy</servlet-name>
  <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>Resteasy</servlet-name>
  <url-pattern>/*</url-pattern>
</servlet-mapping>
<context-param>
  <param-name>javax.ws.rs.Application</param-name>
  <param-value>com.ba.rs.webservices.LocalApplication</param-value>
</context-param>
<listener>
  <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
</listener>
</web-app>

现在,如果我更改 url 模式

<url-pattern>/*</url-pattern> to <url-pattern>/app/*</url-pattern>

它开始显示index.html,但随后我无法访问网络服务。我搜索过互联网,发现有一些过滤器将被应用,但我找不到完整的解决方案。我尝试不更改 url 模式并应用转发器,但仍然没有显示 index.html。指导我应该如何更改应用程序的 url 模式并让 index.html 正常工作。我正在使用如下容器来添加下面提到的 Web 服务类。

package com.ba.rs.webservices;

import java.util.Set;
import java.util.HashSet;
import javax.ws.rs.core.Application;

public class LocalApplication extends Application {

  private Set<Object> singletons = new HashSet<Object>();
  private Set<Class<?>> empty = new HashSet<Class<?>>();
  public LocalApplication(){
    //add WS Classes in here.
     singletons.add(new UserWS());

}
@Override
public Set<Class<?>> getClasses() {
     return empty;
}
@Override
public Set<Object> getSingletons() {
     return singletons;
}

}

最佳答案

我通过在 web.xml 中添加以下行解决了这个问题

<context-param>
  <param-name>resteasy.servlet.mapping.prefix</param-name>
  <param-value>/rest</param-value>
</context-param>

并更改以下内容

<url-pattern>/*</url-pattern> to <url-pattern>/rest/*</url-pattern>

感谢@Nebelmann 在以下链接中回答了类似问题。

RESTEasy - @Path requiring a full path?

关于java - 更改 URL 模式,欢迎文件显示 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27143397/

相关文章:

java - 从 Java 的 CXF 服务获取 WS-Addressing 数据

url - 如何在 URL 中的片段标识符中编码空格

windows - 捕获页面重定向的下载链接 (WGET)

php - 如果网址缺少Google Analytics(分析)参数,则进行重定向

java - 为什么会出现 java.lang.IllegalArgumentException?

java - CLRS 算法的快速排序实现中的异常

android - 如何创建具有服务器数据库连接的 Android 应用程序

java - RaspBerry Pi 命令行/应用程序 - 列出 IP 设备

java - 静态包含后捕获 JSP 源吗?

java - 使用 Copy.CopyIng Items Web 服务将文件上传到 SharePoint 2010 时收到 400 错误请求