相关疑难解决方法(0)

使用JAX-RS混淆了JAX-RS和Jersey

我真的很困惑.我已经尝试了一个带有tomcat的Jax-rs并使用了所有的注释,我可以使用一个来调用我的服务url.所以没有Jax-rs,我可以简单地拥有一个servlet并调用我的服务.另外正如我所尝试的那样,jones-rs with jersey(正如我已经研究过它的实现JAX-RS)以及web.xml中的以下内容.

<!DOCTYPE web-app PUBLIC
        "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
    <display-name>OutputUi</display-name>

    <servlet>
        <servlet-name>jersey-serlvet</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>org.xxx.carbon.servlet</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>jersey-serlvet</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)

然后我有一个与JAX-RS相同的注释,在GET上我可以用正确的URL调用我的服务.

我的问题是,为什么球衣使用servlet?JAX-RS不使用servlet?为什么使用JAX-RS,虽然我们可以使用一个只是Servlet.

java servlets jax-rs jersey

5
推荐指数
1
解决办法
1319
查看次数

如何使用Jersey作为没有web.xml的JAX-RS实现?

我已经读过java EE6中的web.xml是可选的.所以没有web.xml,我如何告诉应用服务器使用Jersey作为JAX-RS规范的实现?

java web-services jax-rs java-ee

3
推荐指数
1
解决办法
4738
查看次数

具有IntelliJ和Tomcat的Java-ee REST服务器

我正在尝试按照教程使用Java-ee实现REST服务器API .我使用Tomcat而不是Glassfish.

我可以开发一个servlet

@WebServlet(name = "hello", urlPatterns = "/")
public class HelloWorld extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.getWriter().write("=)");
    }
}
Run Code Online (Sandbox Code Playgroud)

并加入http:// localhost:9080 /我可以看到笑脸.但是当我尝试访问api路径时(http:// localhost:9080/api/recommended/all)我也得到了面子.如果我删除servlet类,我会收到404错误.我想我需要其他东西来自动构建api,但我不知道是什么.

有人能告诉我缺少什么吗?我该怎么办?

更新:在Intellij的Java Enterprise View中,我看到:

Web > HelloWorld
RESTful WS > recommend > all
Run Code Online (Sandbox Code Playgroud)

这些是我的api课程:

@ApplicationPath("/api")
public class REST_Config extends Application {
}
Run Code Online (Sandbox Code Playgroud)

而具体方法

@Path("recommend")
public class RecommenderController {

    @Path("/all")
    @GET
    @Produces("application/json")
    public JsonArray getAll(){
        JsonArrayBuilder builder = Json.createArrayBuilder();

        builder.add(Json.createObjectBuilder().add("1", "2.5"));

        return …
Run Code Online (Sandbox Code Playgroud)

rest tomcat jax-rs java-ee maven

2
推荐指数
1
解决办法
1608
查看次数

标签 统计

jax-rs ×3

java ×2

java-ee ×2

jersey ×1

maven ×1

rest ×1

servlets ×1

tomcat ×1

web-services ×1