RESTEasy中web.xml配置修改:调整应用访问URL路径
修改RESTEasy应用访问URL配置指南
我当前使用RESTEasy框架,Web应用的访问URL为http://localhost:8080/JAXRS-RESTEasy/rest/,希望将其修改为http://localhost:8080/rest/JAXRS-RESTEasy/,以下是具体的配置调整方案:
核心修改思路
原URL结构为[上下文根]/[servlet前缀]/[资源路径],目标结构为[新上下文根]/[应用路径]/[资源路径],需要调整上下文根、servlet映射规则,并为应用类添加路径注解。
1. 修改Web应用上下文根
将Web应用的上下文根从JAXRS-RESTEasy改为rest,操作方式取决于你的服务器:
- Tomcat环境:直接将war包重命名为
rest.war;或者在server.xml中配置Context节点:<Context docBase="JAXRS-RESTEasy" path="/rest" reloadable="true"/>
2. 调整web.xml配置
修改servlet-mapping和RESTEasy的前缀参数,让servlet处理上下文根下所有请求:
<?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>JAXRS-RESTEasy</display-name> <!-- 修改url-pattern为/*,处理上下文根下所有请求 --> <servlet-mapping> <servlet-name>resteasy-servlet</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> <!-- 清空前缀参数,因为已不再需要额外的servlet路径前缀 --> <context-param> <param-name>resteasy.servlet.mapping.prefix</param-name> <param-value></param-value> </context-param> <servlet> <servlet-name>resteasy-servlet</servlet-name> <servlet-class> org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher </servlet-class> <init-param> <param-name>javax.ws.rs.Application</param-name> <param-value>com.javacodegeeks.enterprise.rest.resteasy.MyRESTApplication</param-value> </init-param> </servlet> </web-app>
3. 为应用类添加路径注解
在MyRESTApplication类上添加@ApplicationPath注解,指定应用的基础路径为/JAXRS-RESTEasy:
package com.javacodegeeks.enterprise.rest.resteasy; import java.util.HashSet; import java.util.Set; import javax.ws.rs.ApplicationPath; import javax.ws.rs.core.Application; @ApplicationPath("/JAXRS-RESTEasy") public class MyRESTApplication extends Application { private Set<Object> singletons = new HashSet<Object>(); public MyRESTApplication() { singletons.add(new RESTEasyHelloWorldService()); } @Override public Set<Object> getSingletons() { return singletons; } }
验证
配置完成后,重启服务器,访问URL即可变为http://localhost:8080/rest/JAXRS-RESTEasy/[你的资源路径],符合预期需求。
内容的提问来源于stack exchange,提问作者DB2fan
相关产品推荐
相关产品推荐

