首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >,Tomcat错误500

,Tomcat错误500
EN

Stack Overflow用户
提问于 2015-11-26 01:28:01
回答 1查看 535关注 0票数 0

我有跟踪问题。使用java和tomcat编写Restful应用程序的Iam。索伐这个很好用。例如:

代码语言:javascript
复制
@GET
    @Path("/String/")
    @Produces(MediaType.APPLICATION_JSON)
    public String getText()
    {
        String data = dothat();
        return data;
    }

( to ();连接到java服务器,获取一个字符串并返回它)。当我在浏览器中调用这个方法时,我可以看到返回的字符串。

然而,当我变得稍微复杂一些,并在列表中使用自己的类时,如下所示:

代码语言:javascript
复制
@GET
@Path("/test/")
@Produces(MediaType.APPLICATION_XML)
static public Response test3()
{
    List<GpioPin> list = new ArrayList<GpioPin>();
    
    GpioPin one = new GpioPin(0, "HIGH", "GPIO-5");
    GpioPin two = new GpioPin(1, "LOW", "GPIO-1");
    
    list.add(one);
    list.add(two);
    
     GenericEntity<List<GpioPin>> result = new GenericEntity<List<GpioPin>>(list) {
        };
    
    return Response.status(Status.OK).entity(result).build();
}

我得到一个错误的500代码返回。

Myclass GpioPin:

代码语言:javascript
复制
@XmlRootElement
public class GpioPin implements Serializable
{
    /**
     * 
     */
    private static final long serialVersionUID = -7583074316192202903L;
    private int boardPosition;
    private String gpioStatus;
    private String gpioPort;
    


    public GpioPin(int pos,String pinstate,String gpioPo)
    {
        boardPosition=pos;
        gpioStatus=pinstate;
        gpioPort=gpioPo;
    }
    public int getBoardPosition() {
        return boardPosition;
    }
    public void setBoardPosition(int boardPosition) {
        this.boardPosition = boardPosition;
    }
    public String getGpioStatus() {
        return gpioStatus;
    }
    public void setGpioStatus(String gpioStatus) {
        this.gpioStatus = gpioStatus;
    }

    public void setGpioPort(String gpioPort) {
        this.gpioPort = gpioPort;
    }
    
    public String getGpioPort() {
        return gpioPort;
    }
}

最奇怪的是:我没有收到错误信息.无论是在下面的brwoserimg中,还是在Tomcat的任何日志中。

在阅读了有关Tomcat登录的几个线程之后,我设法将日志转换为log4j。但是,调试级别上的log4j也不会告诉我任何关于错误的信息。

我解决不了这个问题。有谁有主意吗?

EN

回答 1

Stack Overflow用户

发布于 2015-11-26 03:15:51

您肯定需要纠正您的日志记录,因为这将为您提供关于问题所在的线索。

在这里,我将在黑暗中拍摄,并说您需要从test3()方法中删除“静态”关键字。所以看起来是这样:

代码语言:javascript
复制
@GET
@Path("/test/")
@Produces(MediaType.APPLICATION_XML)
public Response test3()
{
    List<GpioPin> list = new ArrayList<GpioPin>();

    GpioPin one = new GpioPin(0, "HIGH", "GPIO-5");
    GpioPin two = new GpioPin(1, "LOW", "GPIO-1");

    list.add(one);
    list.add(two);

     GenericEntity<List<GpioPin>> result = new GenericEntity<List<GpioPin>>(list) {
        };

    return Response.status(Status.OK).entity(result).build();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33929211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档