Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >无法在单击xampp服务器上运行的小程序的提交按钮时启动neo4j服务器

无法在单击xampp服务器上运行的小程序的提交按钮时启动neo4j服务器
EN

Stack Overflow用户
提问于 2014-03-29 10:09:11
回答 1查看 99关注 0票数 0

我有一个小应用程序,它是一个注册表单。我在注册表单中填写数据,单击提交按钮时,将调用neo4j数据库服务器,它将创建所输入数据的节点。

代码如下

代码语言:javascript
运行
AI代码解释
复制
            import java.util.*;
            import java.awt.*;
            import javax.swing.*;
            import java.applet.Applet;
            import java.awt.event.*;
            import java.awt.event.ActionEvent;
            import java.io.*;
            import org.neo4j.graphdb.Direction;
            import org.neo4j.graphdb.GraphDatabaseService;
            import org.neo4j.graphdb.Node;
            import org.neo4j.graphdb.Label;
            import org.neo4j.graphdb.DynamicLabel;
            import org.neo4j.graphdb.Relationship;
            import org.neo4j.graphdb.RelationshipType;
            import org.neo4j.graphdb.Transaction;
            import org.neo4j.graphdb.factory.GraphDatabaseFactory;
            import org.neo4j.kernel.impl.util.FileUtils;
            import org.neo4j.kernel.InternalAbstractGraphDatabase;
            import  org.neo4j.kernel.StoreLocker;
            import org.neo4j.cypher.javacompat.*; 

            import java.util.Collection;

            public class formModified extends JApplet implements ActionListener

            {
                JFrame frame=new JFrame();
                String Firstname;
                String Lastname,Birthdate,Gender,State,City,HobbyS,EducationS,OccupationS;
                Object Hobby,Education,Occupation;
                String HobbyList[]={"Select ANY ONE","Cricket","Hockry","Golf","BasketBall","Football"};
                String EducationList[]={"Select ANY ONE","BSc","BCom","BE","B.Tech","MBA","MBBS","PhD"};
                String OccupationList[]={"Select ANY ONE","Business","Service","others"};
                JPanel panel=new JPanel(new SpringLayout());
                JLabel l1=new JLabel("First Name",JLabel.LEFT);
                JTextField  t1=new JTextField(50);
                JLabel l2=new JLabel("Last Name",JLabel.LEFT);
                JTextField t2=new JTextField(50);
                JLabel l3=new JLabel("Birthday",JLabel.LEFT);
                JTextField t3=new JTextField(20);
                JRadioButton r1=new JRadioButton("Male");
                JRadioButton r2=new JRadioButton("Female");
                JLabel l4=new JLabel("State",JLabel.LEFT);
                JTextField t4=new JTextField(50);
                JLabel l5=new JLabel("City",JLabel.LEFT);
                JTextField t5=new JTextField(50);
                JLabel l6=new JLabel("Hobby",JLabel.LEFT);
                JComboBox jl1=new JComboBox(HobbyList);
                JLabel l7=new JLabel("Education",JLabel.LEFT);
                JComboBox jl2=new JComboBox(EducationList);
                JLabel l8=new JLabel("Occupation",JLabel.LEFT);
                JComboBox jl3=new JComboBox(OccupationList);
                JLabel l9=new JLabel("THANK YOU" ,JLabel.LEFT);
                JButton submit=new JButton("SUBMIT");
                JLabel l10=new JLabel("stackTrace" ,JLabel.LEFT);
                JTextArea tExtra=new JTextArea();

                public void init()
                {
                SwingUtilities.invokeLater(new Runnable() {
                            public void run() {
                                createAndShowGUI();
                            }

                        });
                }

                void  createAndShowGUI()
                {
                    add(panel);
                    panel.setLayout(new SpringLayout());
                    panel.add(l10);
                    panel.add(tExtra);

                    panel.add(l1);
                    panel.add(t1);
                    panel.add(l2);
                    panel.add(t2);
                    panel.add(l3);
                    panel.add(t3);
                    // add(cpanel);
                    panel.add(r1);
                    panel.add(r2);       
                    panel.add(l4);
                    panel.add(t4);
                    panel.add(l5);
                    panel.add(t5);
                    panel.add(l6);
                    panel.add(jl1);
                    panel.add(l7);
                    panel.add(jl2);
                    panel.add(l8);

                    panel.add(jl3);
                    panel.add(l9);

                    panel.add(submit);

                    /*panel.add(c1);
                    panel.add(c2);
                    panel.add(c3);
                    panel.add(c4);*/
                    /*panel.add(c2);*/
                    Dimension d =new Dimension(20,20);

                    Dimension d1=new Dimension(1000,1000);

                    l1.setLabelFor(t1);
                    l2.setLabelFor(t2);
                    t1.setPreferredSize(d);
                    t1.setSize(d);
                    t1.setMaximumSize(d);
                    // t1.setMinimumSize(d);
                    t2.setPreferredSize(d);
                    t2.setSize(d);
                    t2.setMaximumSize(d);

                    t3.setPreferredSize(d);
                    t3.setSize(d);
                    t3.setMaximumSize(d);

                    t4.setPreferredSize(d);
                    t4.setSize(d);
                    t4.setMaximumSize(d);

                    t5.setPreferredSize(d);
                    t5.setSize(d);
                    t5.setMaximumSize(d);

                    /*tExtra.setPreferredSize(d1);
                    tExtra.setSize(d1);
                    tExtra.setMaximumSize(d1);
                    tExtra.setLineWrap(true);*/

                    SpringUtilities.makeCompactGrid(panel,11,2,20,20,10,10);
                    submit.addActionListener(this);

                }

                public void actionPerformed(ActionEvent ae)
                {
                    try
                    {
                        Firstname=t1.getText();
                        Lastname=t2.getText();
                        Birthdate=t3.getText();
                        if(r1.isSelected())
                        {Gender=r1.getText();
                        }
                        else
                            Gender=r2.getText();
                        State=t4.getText();
                        City=t5.getText();
                        Hobby=jl1.getSelectedItem();
                        Education=jl2.getSelectedItem();
                        Occupation=jl3.getSelectedItem();
                        HobbyS=Hobby.toString();
                        EducationS=Education.toString();
                        OccupationS=Occupation.toString();

                        //JOptionPane.showMessageDialog( frame,"BEFORE FUNCTION CALL");
                        callFunction();
                        //JOptionPane.showMessageDialog( frame,"After FUNCTION CALL");
                    }
                    catch(Exception e)
                    {
                        JOptionPane.showMessageDialog( frame,"in action Catch bLOCK");
                    }

                    //Person.getFname(Firstname);
                    //System.out.println(Firstname)
                }

                public void callFunction()

                {
                    JOptionPane.showMessageDialog( frame,"IN FUNCTION");
                    String test;
                    String test1;
                    String test2;
                    String test3;
                    String test4;
                    JOptionPane.showMessageDialog( frame," CREATE OBJECT NOW");
                    EmbeddedNeo4j hello = new EmbeddedNeo4j();
                    JOptionPane.showMessageDialog( frame,"OBJECT CREATED");


                    test2=hello.start() ;//starts database? connects to it?
                    JOptionPane.showMessageDialog( frame,"Connected to Database");

                    test=hello.createDb(Firstname,Lastname,Gender,State,City,HobbyS,EducationS,OccupationS);
                    JOptionPane.showMessageDialog( frame,test);
                    //hello.clearDb();
                    //JOptionPane.showMessageDialog( frame,"performing clustering");

                    test3=hello.shutDown();

                    JOptionPane.showMessageDialog( frame,test3);

                }
                                public void start()
                    {
                      SecurityManager sm = new MySecurityManager();
                        System.setSecurityManager(sm);    
                    }
                    public void stop()
                    {

                    }

                    public void paint(Graphics g)
                    {
                        // simple text displayed on applet
                        g.setColor(Color.red);
                        super.paint(g);

                                              }
                                              } 


                 class EmbeddedNeo4j
            {
                String k="";
                final String DB_PATH = "C://neo4j-community-2.0.1//data//graph.db";
                String greeting;
                String greeting1;
                GraphDatabaseService graphDb;
                Node firstNode;
                Node adNode;
                Label myLabel,myLabel1;

                String start()
                {

                    try
                    {
                        graphDb  = new GraphDatabaseFactory().newEmbeddedDatabase( DB_PATH);
                        return k;
                    }
                    catch(Exception e)
                    {

                        k=Arrays.toString(e.getStackTrace());
                        System.out.println(k);
                        return k;
                    }

                }

                String verify(String fn)
                {
                    String fn1=fn;
                    return fn1;
                }

                /* public static void main( final String[] args )
                {
                EmbeddedNeo4j hello = new EmbeddedNeo4j();
                hello.createDb();
                //.removeData();
                hello.shutDown();
                }*/

                //
                String createDb(String Firstname,String Lastname,String Gender,String State,String City,String Hobby,String Education,String Occupation)
                //String createDb()
                {

                    Transaction tx=null;
                    try
                    {
                        tx= graphDb.beginTx();
                        firstNode = graphDb.createNode();
                         myLabel = DynamicLabel.label("Users");
                        firstNode.addLabel(myLabel);
                        firstNode.setProperty( "firstName", Firstname );
                        firstNode.setProperty( "LastName", Lastname );
                        firstNode.setProperty( "Age", "21");
                        firstNode.setProperty( "Gender", Gender );
                        firstNode.setProperty( "State", State );
                        firstNode.setProperty( "City", City );
                        firstNode.setProperty( "Hobby", Hobby );
                        firstNode.setProperty( "Education", Education );
                        firstNode.setProperty( "Occupation", Occupation );
                        //secondNode = graphDb.createNode();
                        //secondNode.setProperty( "message", "World!" );

                        //  relationship = firstNode.createRelationshipTo( secondNode, RelTypes.KNOWS );
                        //relationship.setProperty( "message", "brave Neo4j " );
                        // END SNIPPET: addData

                        // START SNIPPET: readData

                        System.out.print( firstNode.getProperty( "firstName"));
                        System.out.print( firstNode.getProperty(  "LastName" ));
                        System.out.print( firstNode.getProperty( "Age" ) );
                        System.out.print( firstNode.getProperty( "Gender") );
                        System.out.print( firstNode.getProperty( "State" ) );
                        System.out.print( firstNode.getProperty( "City") );
                        System.out.print( firstNode.getProperty( "Hobby") );
                        System.out.print( firstNode.getProperty("Education") );
                        System.out.print( firstNode.getProperty( "Occupation") );

                        // END SNIPPET: readData
                        greeting = ( (String) firstNode.getProperty( "firstName" ) )
                        + ( (String)  firstNode.getProperty( "LastName"  ))
                        + ( (String)  firstNode.getProperty(  "Age" ))
                        + ( (String)  firstNode.getProperty(  "Gender" ))
                        + ( (String)  firstNode.getProperty( "State" ))
                        + ( (String)  firstNode.getProperty( "City" ))
                        + ( (String)  firstNode.getProperty(  "Hobby"))
                        + ( (String)  firstNode.getProperty( "Education" ))
                        + ( (String)  firstNode.getProperty(  "Occupation" ));

                        // START SNIPPET: transaction
                        tx.success();
                    }
                    catch(Exception e)
                    {
                        tx.failure();
                    }
                    finally
                    {
                        tx.finish();
                        return greeting;
                    }
                    // END SNIPPET: transaction
                }

                String createAdDb(String Title,String Content,String Publisher)
                {
                    Transaction tx=null;
                    try
                    {
                        tx= graphDb.beginTx();
                        //adNode = graphDb.createNode();
                        // myLabel = DynamicLabel.label("Person");
                        //firstNode.addLabel(myLabel);
                        adNode = graphDb.createNode();
                         myLabel1 = DynamicLabel.label("Ads");
                         adNode.addLabel(myLabel1);
                        adNode.setProperty( "Title", Title);
                        adNode.setProperty( "Content",Content);
                        adNode.setProperty( "Publisher",Publisher);
                        System.out.print( adNode.getProperty("Title"));
                        System.out.print( adNode.getProperty( "Content" ));
                        System.out.print( adNode.getProperty( "Publisher" ) );

                        greeting1 = ( (String) adNode.getProperty("Title" ) )
                        + ( (String)  adNode.getProperty( "Content"  ))
                        + ( (String)  adNode.getProperty(  "Publisher" ));
                        tx.success();
                    }
                    catch(Exception e)
                    {
                        tx.failure();
                    }
                    finally
                    {
                        tx.finish();
                        return greeting1;
                    }

                }

                void clearDb()
                {
                    try
                    {
                        FileUtils.deleteRecursively( new File(DB_PATH) );
                    }
                    catch ( IOException e )
                    {
                        //throw new RuntimeException( e );
                    }
                }

                void removeData()
                {
                    Transaction tx=null;
                    try 
                    {

                        tx = graphDb.beginTx() ;

                        // firstNode.getSingleRelationship( RelTypes.KNOWS, Direction.OUTGOING ).delete();
                        firstNode.delete();
                        //secondNode.delete();
                        // END SNIPPET: removingData

                        tx.success();
                    }

                    catch(Exception e)
                    {
                        tx.failure();
                    }
                    finally

                    {
                        // START SNIPPET: removingData
                        // let's remove the data
                        tx.finish();

                    }
                }

                String clustering()
                {
                    Transaction tx=null;
                    ExecutionEngine engine = new ExecutionEngine( graphDb );

                    ExecutionResult result;
                    try 
                    {
                        tx=graphDb.beginTx();
                        //Transaction ignored = graphDb.beginTx();

                        //result = engine.execute( "start n=node(*) match(n) return n" );

                        tx.success();
                        return k;

                    }
                    catch(Exception e)
                    {
                        tx.failure();
                        k=Arrays.toString(e.getStackTrace());
                        System.out.println(k);
                        return k;

                    }
                    finally
                    {

                        tx.finish();
                    }
                }

                String shutDown()
                {
                    //System.out.println();

                    // START SNIPPET: shutdownServer
                    graphDb.shutdown();

                    return "Shutting down database ..." ;
                    // END SNIPPET: shutdownServer
                }

            }

我的代码运行良好,当使用ide Bluej从appletviewer运行时,可以根据需要创建节点。但是当我试图在浏览器中运行代码时,applet没有创建neo4j数据库的instance.There is no消息对话框后出现了"Object created“消息对话框。此外,neo4j中的messages.log中没有堆栈跟踪,也没有任何消息。

此外,我通过创建一个jar文件来做到这一点,该jar文件包括我的java程序和ne4j所需的所有jar文件。正如上面提到的这段java代码,我已经在jar文件中给出了入口pint。

我正在使用xampp服务器运行这个文件。

我的html代码如下

代码语言:javascript
运行
AI代码解释
复制
            <html>
              <head>
                    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
                    <title>Registration Form</title>
                </head>
                <body>
                    <h1>Registration Form</h1>
                    <hr>
                    <applet code="formModified.class" 
                        width=500 
                        height=500
                        codebase="http://localhost"
                        archive="5last.jar"
                        alt="Your browser understands the &lt;APPLET&gt; tag but isn't running the applet, for some reason."
                     >
                          <PARAM NAME = "Application-Name"   VALUE = "reg">
                            <PARAM name="separate_jvm" value="true">

                    </applet>
                    <hr>
                </body>
            </html>

可能的问题是什么?我使用的是Neo4j 2.01社区版。

EN

回答 1

Stack Overflow用户

发布于 2014-03-29 15:12:40

不要使用applet

使用具有普通html表单的标准java webframework,其中您的服务器后端连接到neo4j数据库服务器或嵌入式neo4j实例。

小程序可能想要在本地创建一个它没有权限的数据库,因为您还必须提供所有的neo4j jars,正如您在浏览器中注意到的那样

对于独立应用程序,请使用带有webstart或java-fx的swing

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22729665

复制
相关文章
iOS去除导航栏和tabbar的1px横线
1.在自己定义的导航栏中或者设计稿中经常需要去除导航栏的1px横线,主要是颜色太不协调了 去除之前的图片 要去除这1px的横线,首先应该知道它是什么,在Xcode的界面调试中可以看到,它其实是UIIm
傅_hc
2018/06/28
1.7K0
html 边框变粗 margin -1px
本文主要介绍了在HTML和CSS中如何解决边框变粗的问题。首先介绍了一种常见的方法,即使用`list-style: none`属性来移除列表的标记,并使用`border`属性来设置边框的宽度、样式和颜色。然后,本文介绍了一种使用`margin`负值的方法,即通过设置`margin-top`和`margin-left`的值为负数,来实现边框的变粗效果。最后,本文还介绍了一种使用`border-top`和`border-bottom`属性来取消顶部或底部边框的方法,以及一种使用`border-collapse`属性来合并单元格边框的方法。
用户1171305
2017/12/28
3.2K0
html 边框变粗 margin -1px
Canvas 从入门到劝朋友放弃(图解版)
在前端领域,如果只是懂 Vue 或者 React ,未来在职场的竞争力可能会比较弱。
德育处主任
2022/09/02
2K0
Canvas 从入门到劝朋友放弃(图解版)
iOS UICollectionView等分有1px缝隙
在使用UICollectionView开发无缝隙或者间隙为1px的页面的时候应该会遇到这样的问题(iPhone 5s 没有问题),明明是把屏幕四等分了,但为什么会有下图的空白间隙呢? 等分有缝隙 再检
傅_hc
2018/07/04
1.5K1
Canvas 基本绘制(下)
HTML5学堂:在前一篇文章《Canvas 基本绘制(上)》当中,我们为大家介绍了Canvas的基本知识——什么是Canvas、如何使用Canvas进行图像的绘制、Canvas的一些基本方法。在今天的这篇文章当中,我们将为大家介绍Canvas的基本属性、快速路径的绘制方法等。 Canvas基本属性 设置填充与描边颜色 strokeStyle、fillStyle 线条样式的设置 lineCap:设置线条末端线帽的样式 (round、square) 注释:"round" 和 "square" 会使线条略微变长,
HTML5学堂
2018/03/12
1.1K0
Canvas 基本绘制(下)
前端-移动端1px问题的解决办法
由于不同的手机有不同的像素密度导致的。如果移动显示屏的分辨率始终是普通屏幕的2倍,1px的边框在devicePixelRatio=2的移动显示屏下会显示成2px,所以在高清瓶下看着1px总是感觉变胖了
grain先森
2019/03/29
9920
前端-移动端1px问题的解决办法
移动端1px解决方案
在移动端,css中的1px并等于移动设备的1px,因为手机屏幕有不同的像素密度。window中的devicePixelRatio就是反应css中像素与真实像素的比例,也就是设备物理像素和设备独立像素的比例,也就是 devicePixelRatio = 物理像素 / 独立像素。所以造成了通过css设置1px,在移动端屏幕上会变粗。
Tiffany_c4df
2019/09/04
1.7K0
Canvas 使用createLinearGradient绘制颜色渐变的矩形
之前我使用遍历的方式绘制了一个线的颜色渐变,这种方式其实不好,本章节来看看使用createLinearGradient方法来设置颜色渐变。
Devops海洋的渔夫
2020/02/18
2.5K0
Canvas 使用createLinearGradient绘制颜色渐变的矩形
CSS提高文字的对比度
网络上的字体本质上是基于矢量的图形。这就是为什么您可以以 12px 或 120px 显示它们并且它们保持清晰和相对锐利的原因。向量意味着它们的形状是由点和数学来描述形状的,而不是实际的像素数据。因为它们是矢量的,所以如果我们可以做其他矢量程序(例如 Adob​​e Illustrator)可以对矢量文本做的事情,比如在单个字符周围画一个笔划,那就有意义了。好吧,我们可以!例子:
Jean
2021/10/25
1.4K0
CSS提高文字的对比度
iOS学习——Quartz2D学习(1)
本文以问答形式主要讲述Quartz2D的相关内容,参考内容是网上下载的学习视频资料。
mukekeheart
2018/08/01
1.1K0
目前解决移动端1px边框最好的方法
在移动端开发时,经常会遇到在视网膜屏幕中元素边框变粗的问题。本文将带你探讨边框变粗问题的产生原因及介绍目前市面上最好的解决方法。
用户6167509
2020/07/23
1.5K0
h5 1px 细线如何实现
主要原理是使用媒体查询,通过伪元素来实现,针对不同的设备 dpr ,进行不同比例的缩放,
蓓蕾心晴
2022/10/30
3040
使用UIBezierPath绘制图形
我们可以设置stroked path的属性lineWidth和lineJoinStyle。也可以设置filled path的属性usesEvenOddFillRule
周希
2019/10/15
1.1K0
使用UIBezierPath绘制图形
移动端H5的一些基本知识点总结
来到这家公司之后,和以前的工作发生了很大的转变.以前我一直是做PC端页面的.来到现在这家公司之后,主要是做手机移动端的页面.
FungLeo
2022/05/05
4770
Canvas高级
1.基本语法 <script> var can = document.getElementById("can"), context = can.getContext("2d"); can.width = 600; can.height =800; can.style.border = "1px solid red"; /*cancas是基于状态的绘制的,而不是对某一个线条或者框框设置,是对整个环境的定义*/ /*意思就是说设
天天_哥
2018/09/29
9340
移动端1px边框解决方案
.border-1px { position: relative; } .border-1px:after { position: absolute; content: ''; top: -50%; bottom: -50%; left: -50%; right: -50%; -webkit-transform: scale(0.5); transform: scale(0.5); border-top: 1px solid #666; } @media (-webk
FinGet
2019/06/28
5730
在retina屏中实现1px border效果
街景wap官网中有在视网膜屏幕中实现1px border的需求. 首先,来看下面视觉给的输出图中的border:
IMWeb前端团队
2019/12/03
6150
在retina屏中实现1px border效果
在retina屏中实现1px border效果
根据给定的文章内容,撰写摘要总结。
IMWeb前端团队
2017/12/29
1.1K0
在retina屏中实现1px border效果
7、reset.css的引入及1px边框问题的解决
因为不同的浏览器默认的样式不同,所以在着手项目开始前,我们需要引入reset.css,将所有html标签的默认样式统一化。我这里推荐一个下载reset.css的网站:https://cssreset.com/,里面还有一些normalize.css之类的,大家有兴趣可以研究。
Ewall
2018/09/04
1.2K0
7、reset.css的引入及1px边框问题的解决
OpenCV-Python学习(11)—— OpenCV 图像几何形状绘制(cv.line、cv.circle、cv.rectangle、cv.ellipse)
1. 学习目标 学会使用 cv.line 绘制一条线; 学会使用 cv.circle 绘制圆; 学会使用 cv.rectangle 绘矩形; 学会使用 cv.ellipse 绘椭圆。 2. 图像公共参数说明 2.1 参数说明 参数 说明 img 表示输入图像,允许单通道灰度图像或多通道彩色图像。 color 表示绘制直线的颜色,(b,g,r) 格式的元组,或者表示灰度值的标量。 thickness 表示绘制直线的粗细,默认值 1px,-1 表示内部填充。 lineType 表示绘制直线的线性,默认为 LIN
Rattenking
2022/11/07
2.4K0
OpenCV-Python学习(11)—— OpenCV 图像几何形状绘制(cv.line、cv.circle、cv.rectangle、cv.ellipse)

相似问题

笔画宽度=1 1px的线条的外观

21

如何在flutter的customPainter中设置笔划宽度为1px

128

jQuery 1px线条覆盖

12

特色图片全部显示为1px宽度和1px高度。

24

iOS神秘黑色1px线条

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文