Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MySQL docker容器查询将null返回到刚刚插入的值_Javascript_Mysql_Webrtc - Fatal编程技术网

Javascript MySQL docker容器查询将null返回到刚刚插入的值

Javascript MySQL docker容器查询将null返回到刚刚插入的值,javascript,mysql,webrtc,Javascript,Mysql,Webrtc,我已经使用两个容器创建了一个web应用程序:tomcat,托管web应用程序和mysql(来自官方mysql图像)for db。我必须在db中插入WebRTC SDP的一个特定属性(a=指纹线) 有一个WebRTC SDP的例子:我已经解析了它并恢复了“a=fingerprint”行 我用这个javascript函数对它进行了解析,其中删除了行的初始“a=fingerprint:”字符串和尾随空格 function FindFingerprint(jsep) { var lines = js

我已经使用两个容器创建了一个web应用程序:tomcat,托管web应用程序和mysql(来自官方mysql图像)for db。我必须在db中插入WebRTC SDP的一个特定属性(a=指纹线)

有一个WebRTC SDP的例子:我已经解析了它并恢复了“a=fingerprint”行

我用这个javascript函数对它进行了解析,其中删除了行的初始“a=fingerprint:”字符串和尾随空格

function FindFingerprint(jsep) {
  var lines = jsep.sdp.split("\n");
  var line = -1;
  for (var i = 0; i < lines.length; i++) {
    if (lines[i].indexOf("a=fingerprint") === 0) {
      line = i;

      fingerprint_to_send = lines[i].replace(/a=fingerprint:/,"");
      finge= fingerprint_to_send.replace(/\s+$/, '');
      return finge;
    }
  }
  if (line === -1) {
    console.debug("Could not find the a=fingeprint line for", media);
    return;
  }
}
对于SDPLines实体:

package entities;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;


@Entity
@Table(name = "sdplines", catalog = "shine4")
public class SDPLines implements java.io.Serializable {

    @Id
    @GeneratedValue
    private int id;

    @Column(name="value")
    private String value;

    @ManyToOne
    @JoinColumn(name="u_id")
    private Utente utente;

    public SDPLines() {

        }


    public SDPLines(String value) {

        this.value=value;

    }


    public String getValue() {
        return value;
    }


    public void setValue(String value) {
        this.value = value;
    }


    public Utente getUtente() {
        return utente;
    }


    public void setUtente(Utente utente) {
        this.utente = utente;
    }


}
我使用Hibernate

我注意到我要插入的值是103个字符

如果您知道WebRTC的性质,那么还有第二个对等通信:我想从DB检查插入的线路,并将其值与他看到的(his)RemoteSDP的a=指纹值进行比较

问题如下:如果我尝试从数据库中选择刚刚插入的行(103个字符),那么查询中没有返回任何行

我已经尝试了一些由我编写的测试字符串和所有的工作

你能解释一下为什么会有这个问题吗

这是控制HTTP请求中的值是否等于数据库中与该用户相关的现有值的servlet代码

UtenteModel um= new UtenteModel();
SDPLineModel sdpmodel= new SDPLineModel();


 if (action.equals("CheckFingerprint")) {


                String fingerprint = (String) request.getParameter("fingerprint");


                HttpSession session1= request.getSession();
                Long user_id = (Long) session1.getAttribute("user_id");

                Utente ut = um.loginByID(user_id);

                SDPLines sdpline = sdpmodel.findFingerprintNew(fingerprint, user_id);

                if (sdpline == null) {

                    String message = "NOT_VALID";
                    System.out.println("Fingerprint NON trovata! ");
                    response.getOutputStream().print(message);
                    response.getOutputStream().flush();
                    response.getOutputStream().close();

                }
                else {

                    String message = "VALID";
                    System.out.println("Fingerprint trovata! ");
                    response.getOutputStream().print(message);

                    response.getOutputStream().flush();
                    response.getOutputStream().close();
                }
            }
简单地说,我在db中插入这个值,并在我检查这个值是否存在之后,立即与那个用户相关,但servlet没有设置有效的响应

[编辑]我注意到,如果我检查“几次”后插入的值在db中的存在性,它会返回所需行的有效存在性


为什么要拖延?如何解决这个问题,因为我想在WebRTC信令路径期间执行此控件?

缺少一些信息,因此任何人都可以帮助您。例如JSEP的值,或者如何在DB中插入您的值。@ AlpMaMikEvcor请参见现在。Utente在我在米兰工作时记得我:检查空白字符是否插入到Realeste参数中,如<代码> Soop.Out.PrtLn(“value=>”+SDP,GETValueE(+)+“));代码>。通常mysql不会自行插入任何内容。如果是这样的话,您可能需要在javascript或java中进行一些修改。@alphamikere或re,请参阅:如前所述,您应该尝试使用System.out.println(或如果您希望在调试问题时使用跟踪和更新日志记录级别)记录您正在插入的内容(仅用于测试目的)
UtenteModel um= new UtenteModel();
SDPLineModel sdpmodel= new SDPLineModel();


 if (action.equals("CheckFingerprint")) {


                String fingerprint = (String) request.getParameter("fingerprint");


                HttpSession session1= request.getSession();
                Long user_id = (Long) session1.getAttribute("user_id");

                Utente ut = um.loginByID(user_id);

                SDPLines sdpline = sdpmodel.findFingerprintNew(fingerprint, user_id);

                if (sdpline == null) {

                    String message = "NOT_VALID";
                    System.out.println("Fingerprint NON trovata! ");
                    response.getOutputStream().print(message);
                    response.getOutputStream().flush();
                    response.getOutputStream().close();

                }
                else {

                    String message = "VALID";
                    System.out.println("Fingerprint trovata! ");
                    response.getOutputStream().print(message);

                    response.getOutputStream().flush();
                    response.getOutputStream().close();
                }
            }