gpt4 book ai didi

web-services - 我的 Rest 服务在 Tomcat 中不起作用,我无法让它发送我的资源,我做错了什么?

转载 作者:行者123 更新时间:2023-11-28 23:04:31 26 4
gpt4 key购买 nike

所以我开始阅读this关于如何使用 Jersey 开发 Restful 服务的教程。我想开发将数据从 MySQL 数据库发送到 Android 客户端的 Rest 服务。我阅读并遵循了教程中的步骤并创建了自己的资源类,但是当我尝试在 Apache 上运行该服务时,出现以下错误 here .

我刚刚开始尝试使用 Web 服务和 Rest,我已经从该 IBM 站点阅读了与该主题相关的信息,我认为我掌握了它,但我真的不知道为什么不工作。

我的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>TesterRest</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<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>com.mx.ipn.escom.testerRest.resources</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>


</web-app>

这是我的资源类:

包com.mx.ipn.escom.testerRest.resources;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Request;
import javax.ws.rs.core.UriInfo;
import javax.xml.bind.annotation.XmlRootElement;

import com.mx.ipn.escom.testerRest.dao.TemaDao;
import com.mx.ipn.escom.testerRest.db.Connector;
import com.mx.ipn.escom.testerRest.modelo.Tema;

@XmlRootElement
@Path("/temas")
public class TemaResource {
@Context
UriInfo uriInfo;
@Context
Request request;

@GET
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
public List<Tema> getTemas() throws SQLException{

TemaDao temaDao = new TemaDao();
List<Tema> temas=temaDao.getTemas();
temaDao.terminarSesion();

return temas;
}
}

我的数据库连接类工作正常,所以这不是问题。

我正在使用 Eclipse 3.6 和 Apache Tomcat 6 进行开发。

我是 JAXB 的新手,所以如果有人能给我指导,说明我缺少哪种注释,我将不胜感激。

最佳答案

根据您的屏幕截图,我认为您应该更新您的 web.xml 以具有正确的包名称:

<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>com.mx.ipn.escom.testerRest.resources</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

您的配置中缺少 mx

关于web-services - 我的 Rest 服务在 Tomcat 中不起作用,我无法让它发送我的资源,我做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11910416/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com