Java Servlet(doGet)204 Http erorr

Java Servlet(doGet)204 Http erorr,java,servlets,jdbc,Java,Servlets,Jdbc,您好,我已经将这个servlet编写成doGet数据,客户端可以在查询和修改后从数据库中获取一些信息 但当我从客户端向servlet发送指针时 没有响应,http代码是204,有人能帮我吗 谢谢 公共void sendQuery(字符串查询){ Http响应代码204是由此行设置的 response.setStatus(HttpServletResponse.SC_NO_CONTENT); 因此,dbManager.getJSON()很可能返回null。**在这一行中,我添加了很多内容 try

您好,我已经将这个servlet编写成doGet数据,客户端可以在查询和修改后从数据库中获取一些信息 但当我从客户端向servlet发送指针时 没有响应,http代码是204,有人能帮我吗

谢谢

公共void sendQuery(字符串查询){


Http响应代码204是由此行设置的

response.setStatus(HttpServletResponse.SC_NO_CONTENT);

因此,dbManager.getJSON()很可能返回null。

**在这一行中,我添加了很多内容

try 
    {    
        ////here most add rs.first();
        Gson conv = new Gson();
        String status        = rs.getString(fieldOne);
        String comment       = rs.getString(fieldTwo);

    String rep = conv.toJson(new StatusForm(status, comment ));
    this.statusAsJSON = rep;
} catch (SQLException ex) {
    Logger.getLogger(GetStatusFromDB.class.getName()).log(Level.SEVERE, null, ex);
}
这必须加上

boolean first = rs.first();
  • 它将被修复
    • 谢谢这里的evrey body帮助我谢谢这里的所有程序员谢谢stackoberflow.com Max**

您将获得状态代码
204
(等于
HttpServletResponse.SC\u NO\u CONTENT
),因为
resp==null
。是数据库中的
replay.S\u id
字段a
NUMBER
VARCHAR
?另外,最好知道
GetStatusFromDB.sendQuery()中发生了什么
.S\u id在数据库中是一个整数,我不知道为什么resp==null,但我已经为它发送了参数…感谢您的回复。您可以尝试:1)再次检查
replay
表中是否有一行具有您在servlet接收到的id。2)从查询末尾删除分号:
“从replay中选择*,其中S_id=“+strID;”
。使用
PreparedStatement
的正确方法是在查询中有一个绑定变量占位符(
“从replay中选择*,其中S_id=?”
)并使用
st.setInt(1,myIntegerValue)将值设置为语句。”
;您应该重构代码以允许此操作,因为当前解决方案易受攻击。非常感谢我已经修复了它,并且您的笔记非常好。您好,marty,谢谢您的回答。那么我必须做些什么来修复此问题?
try 
    {    
        ////here most add rs.first();
        Gson conv = new Gson();
        String status        = rs.getString(fieldOne);
        String comment       = rs.getString(fieldTwo);

    String rep = conv.toJson(new StatusForm(status, comment ));
    this.statusAsJSON = rep;
} catch (SQLException ex) {
    Logger.getLogger(GetStatusFromDB.class.getName()).log(Level.SEVERE, null, ex);
}
boolean first = rs.first();