Я просто пытаюсь заставить пример RESTEasy работать, и, похоже, у меня проблемы с настройкой нужной мне среды.
Это простой пример, который я использую: http://examples.javacodegeeks.com/enterprise-java/rest/resteasy/resteasy-hello-world-example/
Вместо того, чтобы запускать пример на Tomcat-Server, я хочу запустить его на локальном сервере J2EE Preview, который поставляется с Eclipse (?).
Консоль сообщает мне:
Мой web.xml:
И мой pom.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-apppackage com.javacodegeeks.enterprise.rest.resteasy;
import javax.ws.rs.DefaultValue;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Response;
@Path("/RESTEasyHelloWorld")
public class RESTEasyHelloWorldService {
@GET
@Path("/{pathParameter}")
public Response responseMsg(@PathParam("pathParameter") String pathParameter,
@DefaultValue("Nothing to say") @QueryParam("queryParamter") String queryParamter) {
String response = "Hello from: " + pathParameter + " : " + queryParamter;
return Response.status(200).entity(response).build();
}
}
0.xsd"
id="WebApp_ID" version="3.0">
<display-name>JAXRS-RESTEasy</display-name>
<servlet-mapping>
<servlet-name>resteasy-servlet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
<!-- Auto scan REST service -->
<context-param>
<param-name>resteasy.scan</param-name>
<param-value>true</param-value>
</context-param>
<!-- this should be the same URL pattern as the servlet-mapping property -->
<context-param>
<param-name>resteasy.servlet.mapping.prefix</param-name>
<param-value>/rest</param-value>
</context-param>
<listener>
<listener-class>
org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
</listener-class>
</listener>
<servlet>
<servlet-name>resteasy-servlet</servlet-name>
<servlet-class>
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
</servlet-class>
</servlet>
</web-app>
Сам код, хотя я не думаю, что это проблема:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.javacodegeeks.enterprise.rest.resteasy</groupId>
<artifactId>JAXRS-RESTEasy</artifactId>
<version>0.0.1-SNAPSHOT</version>
<repositories>
<repository>
<id>JBoss repository</id>
<url>https://repository.jboss.org/nexus/content/groups/public-jboss/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>3.0.4.Final</version>
</dependency>
</dependencies>
</project>
Если я попытаюсь вызвать его в своем браузере, я просто получу:
package com.javacodegeeks.enterprise.rest.resteasy;
import javax.ws.rs.DefaultValue;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Response;
@Path("/RESTEasyHelloWorld")
public class RESTEasyHelloWorldService {
@GET
@Path("/{pathParameter}")
public Response responseMsg(@PathParam("pathParameter") String pathParameter,
@DefaultValue("Nothing to say") @QueryParam("queryParamter") String queryParamter) {
String response = "Hello from: " + pathParameter + " : " + queryParamter;
return Response.status(200).entity(response).build();
}
}
ОШИБКА HTTP: 503
Проблема с доступом / JAXRS-RESTEasy / rest / RESTEasyHelloWorldService /. Причина:
Я пробовал разные URL-адреса, так как еще не знаю, каким должен быть формат URL-адреса.
Service Unavailable
Это просто из-за отсутствия сервлета? Почему он отсутствует, разве Maven не должен загружать его как часть зависимости resteasy-jaxrs-3.0.4.Final?
Надеюсь, кто-нибудь может мне подсказать, я действительно не знаю, с чего начать копать.
изменить: Консоль после того, как я попробовал @Maleencs pom.xml и web.xml:
Запуск сервера предварительного просмотра на порту 8084
Модули: JAXRS-RESTEasy (/ JAXRS-RESTEasy)
Код ошибки
означает, что ваш код развернут неправильно. Другими словами, он не может быть развернут.<?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
0.xsd" id="WebApp_ID" version="3.0"> <display-name>JAXRS-RESTEasy</display-name> <servlet-mapping> <servlet-name>resteasy-servlet</servlet-name> <url-pattern>/rest/*</url-pattern> </servlet-mapping> <!-- Auto scan REST service --> <context-param> <param-name>resteasy.scan</param-name> <param-value>true</param-value> </context-param> <!-- this should be the same URL pattern as the servlet-mapping property --> <context-param> <param-name>resteasy.servlet.mapping.prefix</param-name> <param-value>/rest</param-value> </context-param> <listener> <listener-class> org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap </listener-class> </listener> <servlet> <servlet-name>resteasy-servlet</servlet-name> <servlet-class> org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher </servlet-class> </servlet> </web-app>package com.javacodegeeks.enterprise.rest.resteasy; import javax.ws.rs.DefaultValue; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.QueryParam; import javax.ws.rs.core.Response; @Path("/RESTEasyHelloWorld") public class RESTEasyHelloWorldService { @GET @Path("/{pathParameter}") public Response responseMsg(@PathParam("pathParameter") String pathParameter, @DefaultValue("Nothing to say") @QueryParam("queryParamter") String queryParamter) { String response = "Hello from: " + pathParameter + " : " + queryParamter; return Response.status(200).entity(response).build(); } }
Непонятно, в чем причина вашей проблемы. Что мы можем сделать здесь, так это предоставить вам несколько рабочих примеров фрагментов кода. Я извлек их из своих рабочих программ. Поэтому, пожалуйста, попробуйте использовать эти руководства и оставить отзыв.