小编Mar*_*lsi的帖子

一个带Java/Socket的简单Http服务器?

我目前正在创建一个返回静态页面的小型HTTP服务器<p>Hello!</p>...我尝试使用Java的套接字:

  public static void main(String[] args) throws Exception {

        // création de la socket
        int port = 1989;
        ServerSocket serverSocket = new ServerSocket(port);
        System.err.println("Serveur lancé sur le port : " + port);

        // repeatedly wait for connections, and process
        while (true) {

            // on reste bloqué sur l'attente d'une demande client
            Socket clientSocket = serverSocket.accept();
            System.err.println("Nouveau client connecté");

            // on ouvre un flux de converation

           BufferedReader in = new BufferedReader(
                           new InputStreamReader(clientSocket.getInputStream())
                          ); 
            PrintWriter out = new PrintWriter( …
Run Code Online (Sandbox Code Playgroud)

java sockets http

25
推荐指数
2
解决办法
7万
查看次数

删除双向递归关系的最简单方法是什么?

我使用Gson 库将Java对象转换为Json响应...问题是,在JPA请求之后,由于与其他实体的递归关系而无法转换从DB检索的对象(请参阅我之前的问题),例如:

public class Gps implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "IMEI", nullable = false, length = 20)
    private String imei;
    //some code here...
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "gpsImei", fetch = FetchType.LAZY)
    private List<Coordonnees> coordonneesList;


public class Coordonnees implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "IDCOORDONNEES", nullable = false)
    private Integer idcoordonnees;
    //some code …
Run Code Online (Sandbox Code Playgroud)

java recursion gson

14
推荐指数
1
解决办法
9644
查看次数

在H2数据库中,auto_increment字段增加32?

我有这个简单的表(仅用于测试):

create table table 
(
key int not null primary key auto_increment,
name varchar(30)
);
Run Code Online (Sandbox Code Playgroud)

然后我执行以下请求:

insert into table values ( null , 'one');// key=1
insert into table values ( null , 'two');// key=2
Run Code Online (Sandbox Code Playgroud)

在这个阶段一切顺利,然后关闭H2控制台并重新打开它并重新执行此请求:

insert into table values ( null , 'three');// key=33
Run Code Online (Sandbox Code Playgroud)

最后,这是所有结果:

在此输入图像描述

我不知道如何解决这个问题,如果这是一个真正的问题...等待作者的回复......

h2 auto-increment

10
推荐指数
1
解决办法
7669
查看次数

10
推荐指数
2
解决办法
3496
查看次数

连接有一个远程数据库

我从远程计算机使用H2数据库作为DBMS,因此我启用了从浏览器远程访问,如下所示:

webAllowOthers=true
Run Code Online (Sandbox Code Playgroud)

但是当我尝试从我的java应用程序连接到服务器时,我从H2获得此错误:

remote connections to this server are not allowed
Run Code Online (Sandbox Code Playgroud)

截图: 在此输入图像描述

并且已经在查找代码分析器(错误代码:90117):

REMOTE_CONNECTION_NOT_ALLOWED = 90117

如果不允许远程连接,则尝试从另一台计算机连接到TCP服务器时会引发代码90117的错误.要允许远程连接,请使用选项-tcpAllowOthers启动TCP服务器,如下所示:

java org.h2.tools.Server -tcp -tcpAllowOthers

或者,从应用程序启动服务器时,使用: Server server = Server.createTcpServer(" - tcpAllowOthers"); server.start();

我不明白如何激活tcpAllowOthers,它在.h2.server.properties中不存在?

java h2

7
推荐指数
1
解决办法
1万
查看次数

为什么document.getElementById("id")不起作用?

我有以下代码(使用谷歌地图API V3绘制地图):

 <!DOCTYPE html>
    <html>
    <head>
      <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
      <style type="text/css">
        html { height: 100% }
        body { height: 100%; margin: 0px; padding: 0px }
        #map_canvas { height: 100% ; width:100%;}
      </style>
      <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
      <script type="text/javascript">

        var previousPosition = null;

        function initialize() {
          map = new google.maps.Map(document.getElementById("map_canvas"), {
                zoom: 19,
                center: new google.maps.LatLng(48.858565, 2.347198),
                mapTypeId: google.maps.MapTypeId.ROADMAP
              });
        }

        if (navigator.geolocation)
          var watchId = navigator.geolocation.watchPosition(successCallback, null, {enableHighAccuracy:true});
        else
          alert("Votre navigateur ne prend pas en compte la géolocalisation HTML5"); …
Run Code Online (Sandbox Code Playgroud)

javascript

4
推荐指数
1
解决办法
1478
查看次数

我是否需要管理有关数据库访问的并发性?

我有4个线程以并发方式运行(在数据库中插入/选择行),我是否必须关心同步访问或H2 Databse是否已经有机制来管理线程之间的访问?

PS:Connection conn变量在线程之间共享,因此连接是一次,因为我使用嵌入模式,因此只允许一个连接.

干杯.

java concurrency jdbc h2

4
推荐指数
1
解决办法
596
查看次数

如何将"格式化双(String)"转换为double?

我有以下代码:

 NumberFormat nf=NumberFormat.getInstance(Locale.FRANCE);
   nf.setMinimumFractionDigits(3);
    String  s=  nf.format(3456.32);
//   double d= Double.valueOf(s); error here
    System.out.println(s);
Run Code Online (Sandbox Code Playgroud)

此代码显示:

3 456,320
Run Code Online (Sandbox Code Playgroud)

直到现在它都很好,但是想象当我从JFormattedTextField获得相同的格式时,我如何将"3 456,320"转换为字符串为double(3456.32)?

我已经尝试过了:

String s="3 456,320";
double d= Double.valueOf(s);
Run Code Online (Sandbox Code Playgroud)

但我得到一个错误......

编辑:

经过多次测试,我发现代码不是那么健壮,例如:

 //this works
 String s="3456,6567";

 NumberFormat nf1=NumberFormat.getInstance(Locale.FRANCE);

 double d = (double) nf1.parse(s);
Run Code Online (Sandbox Code Playgroud)

但是这一个:

 String s="3456,0";

 NumberFormat nf1=NumberFormat.getInstance(Locale.FRANCE);

 double d = (double) nf1.parse(s);
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

线程"main"中的异常java.lang.ClassCastException:java.lang.Long无法强制转换为java.lang.Double

通过利弊,我发现这非常强大:

    double d = nf1.parse(s).doubleValue();
Run Code Online (Sandbox Code Playgroud)

我们必须多次测试软件!

java jformattedtextfield

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

使用Timestamp进行JPA查询时遇到麻烦

我的问题是有点类似于:我想检索行,其日期不已经与当前日期时间相比,超过20分钟,我的源代码:

   EntityManagerFactory emf=Persistence.createEntityManagerFactory("JavaApplication21PU");
   CoordonneesJpaController cjc=new CoordonneesJpaController(emf);
   Timestamp nd=new Timestamp(System.currentTimeMillis());//now
   nd.setMinutes(nd.getMinutes()-20);

   EntityManager em = getEntityManager();
   Query qr= em.createQuery("SELECT c FROM Coordonnees c WHERE c.date > '"+nd+"'");
    java.util.List<Coordonnees> lC=qr.getResultList();  
Run Code Online (Sandbox Code Playgroud)

我的实体:

    public class Coordonnees implements Serializable {
    //some code...
    @Basic(optional = false)
    @Column(name = "DATE", nullable = false)
    @Temporal(TemporalType.TIMESTAMP)
    private Date date;
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时:

Exception in thread "main" Local Exception Stack: 
Exception [EclipseLink-3002] (Eclipse Persistence Services - 2.3.0.v20110604-r9504): org.eclipse.persistence.exceptions.ConversionException
Exception Description: The object [%2012-04-06 16:19:49.179%], of class [class java.lang.String], from mapping [org.eclipse.persistence.mappings.DirectToFieldMapping[date-->APIGPS.PUBLIC.COORDONNEES.DATE]] …
Run Code Online (Sandbox Code Playgroud)

java timestamp jpa eclipselink

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

无法刷新未管理的对象

我要刷新Eleve从数据库到Jtable的列表.在Jtable它的自我绑定到一个可观察到的list< Eleve >,所以任何添加/删除列表中会自动更新Jtable.

我的代码解释了它的自我:

EleveJpaController ejc = new EleveJpaController(emf);
java.util.Collection<Eleve> data = ejc.findEleveByNiveauClasseNomPrenom(niv, classe, nom, prenom);

for (Eleve entity : data) {
    entityManager.refresh(entity);
}

list.clear();
list.addAll(data);
Run Code Online (Sandbox Code Playgroud)

List <Eleve> findEleveByNiveauClasseNomPrenom(a,v,x,n):

 public List<Eleve> findEleveByNiveauClasseNomPrenom(String niv,String classe,String nom, String prenom)
    {
        EntityManager em = getEntityManager();
        Query qr= em.createQuery("SELECT e FROM Eleve e WHERE e.niv.niv like '%"+niv+"%' and e.class1.libelle like '%"+classe+"%' and e.nom like '%"+nom+"%' and e.prenom like '%"+prenom+"%'");

       return qr.getResultList(); 
    }
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,它是一个很好的Eleve对象列表..那么为什么抛出这个异常呢?

[EL …
Run Code Online (Sandbox Code Playgroud)

java jpa

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

列表项 = new ArrayList() :它不起作用

全部在标题中,我不明白这次的问题有点不同,我对两个不同的程序使用了相同的对象(列表),但第二次不起作用,请参阅:

private void jMenuItem23ActionPerformed(java.awt.event.ActionEvent evt) {                                            
init_creer_client();
List  items  = new ArrayList();
items.add("mawren");
items.add("blabla");
items.add("Bonjour");

CL.show(cartes,"creer_client");       
}   
Run Code Online (Sandbox Code Playgroud)

有关错误的屏幕截图: 在此输入图像描述

缺点是它的工作顺利:

 import java.awt.Dimension;
 import java.awt.HeadlessException;
 import java.util.ArrayList;
 import java.util.List;
 import javax.swing.JFrame;
 import javax.swing.JPanel;
 import javax.swing.JTextField;
 import org.jdesktop.swingx.autocomplete.AutoCompleteDecorator;

 public class Test_swingx extends JFrame {

public Test_swingx(String title) throws HeadlessException {

this.setTitle(title);
JPanel pan=new JPanel();
JTextField jtf=new JTextField();
jtf.setColumns(20);
List items  = new ArrayList();
items.add("hello");
items.add("marwen");
items.add("allooo");
AutoCompleteDecorator.decorate(jtf, items,false);
pan.add(jtf);
this.setContentPane(pan);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
this.setBounds(280, 150, 500, 200);

}


 public static void main(String[] args) { …
Run Code Online (Sandbox Code Playgroud)

java swing list arraylist swingx

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

摇摆和线程

我有一个Swing界面,当我点击一个按钮时,一个线程是在无限远处创建的(属时为(true)...).

我的问题是:当我关闭主进程时,创建的线程会自动关闭吗?

java swing multithreading

0
推荐指数
1
解决办法
133
查看次数

RFB协议的实现

我正在寻找一个RFB protocol在我的项目中使用它的实现,经过长时间的搜索,我遇到了这个主题(答案是由专家成员写的......)我已经在另一个论坛上发布了一个话题而我得到了同样的答案.

我的问题是:为什么我们称之为RFB protocol并且没有API或库来实现它?据我所知,协议应该有一个API来使用它; 例如TCP/IP,UDP ......

PS:我在这里发布了关于同样问题的另一个问题

api rfb-protocol

-1
推荐指数
1
解决办法
1488
查看次数