小编Pit*_*ita的帖子

无法读取服务器的响应

我编写了一个Java程序,程序连接到我服务器上的数据库,以查找记录,写入记录,更新和删除.由于某些原因,查找记录有效,但大多数情况下,当我尝试保存或写入记录时,它会显示一条错误消息:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet successfully received from the server was 9,787 milliseconds ago.       The last packet sent successfully to the server was 8,183 milliseconds ago.

Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2552)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3002)
... 46 more
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释为什么会这样吗?在软件运行超过半分钟后,通常这会在尝试添加记录时给出错误消息.似乎松动了连接或什么的.当我运行程序并快速写一个新记录时,它的工作原理

java

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

测试自动化API测试

我想设置自动化测试,以测试API.更确切地说,例如,我想发送HTTP请求(POSTS)并测试响应.因此,它必须是无头浏览器测试.

我已经将Selenium与NUnit和Phantom JS一起设置为驱动程序.测试是用C#编写的,我使用Visual Studio作为IDE.

我一直在谷歌搜索,但我似乎没有找到我的问题的特定答案的上述组合.

上面的组合是否允许我编写测试来测试API,或者发送和接收HTTP请求和响应?

c# selenium nunit phantomjs

5
推荐指数
1
解决办法
7871
查看次数

用Java打印数据

我有一个表单,用户可以用数据填写字段.此后,他/她应该能够将数据导出为我已经编写的pdf,如下所示:

public void onSubmit() {
try {
    ManagerModel manager = managerDao.getManager(person);
    PictureModel picture = new PictureModel();
    if (person.getPhotoId() != null) {
        picture = new PictureModel(pictureDao.findPictureById(person.getPhotoId()));
    }
    getRequestCycle().setRequestTarget( new FileRequestTarget(Exporter.exportFile(person, manager, picture), person.getPdfName()));
} catch (Exception e) {
    Log.warn(e);
}
Run Code Online (Sandbox Code Playgroud)

现在这为我提供了pdf导出以及所有数据.我还想创建一个按钮,允许用户打印在这些字段中输入的数据.现在,这应该是表单上的打印按钮,而不是要求用户导出然后打印.

有人可以建议我如何创建这个打印按钮?我应该只使用pdf导出的输出然后将其发送到打印机?如果是这样,我如何在java中写这个?

java printing

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

Java MySQL PreparedStatement SELECT 语句

我有一个数据库和一个 Java 程序。我正在尝试编写代码,以便如果在文本字段中输入 MockID 并按下提交按钮,则应从数据库中检索根据输入的 Mock ID 的详细信息并显示在文本区域中。下面是我写的代码。该代码现在可以在我进行修改后工作。但是,在 textarea 中,它实际上并未显示给定 Mock Id 的记录中的相关信息,而只是显示文本。有人可以建议吗?

    JButton button = new JButton("Submit");
    button.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {


        String mockId = textField.getText();    

        try {

            String sql = "SELECT MockID, Subject, Year, Date FROM mockexam WHERE MockID =?";    

            PreparedStatement prest = con.prepareStatement(sql);
            prest.setString(1, mockId);

            prest.executeQuery();
            textArea.append("MockID, Subject, Year, Date");
            JOptionPane.showMessageDialog(frmFindMock, "Record has been updated.");


        }

        catch (SQLException e) {
        //System.out.println("Record couldn't be added!");
        e.printStackTrace();
        JOptionPane.showMessageDialog(frmFindMock, "Record couldn't be updated. Please try again.");
        } …
Run Code Online (Sandbox Code Playgroud)

java prepared-statement

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

PreparedStatement在Java中插入

我编写了一个代码,如果按下按钮,则应从文本字段中获取值以在数据库中创建记录.代码编译,但当我运行它时,我收到此错误消息:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'From, To, TotalDays, VacationType, Notes, Signature, Date) VALUES('','','','',''' at line 1
Run Code Online (Sandbox Code Playgroud)

有什么建议?

    final JButton btnSubmit = new JButton("Submit");
    btnSubmit.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {                 
        try {

            String vacationid = text_vacationID.getText();
            String staffid = text_staffID.getText();
            String from = text_from.getText();
            String to = text_to.getText();
            String totaldays = text_totalDays.getText();
            String vacationtype = text_vacationType.getText();
            String …
Run Code Online (Sandbox Code Playgroud)

java prepared-statement

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

Java Mail中的URL编码

我在java中编写了一个代码,其中有表单(输入字段),最后是底部的发送邮件按钮.当用户点击按钮时,输入字段中的数据应被提取,然后用作电子邮件中正文的数据.

这是我的代码:

if (role.getValue().equals("1")) {          
    Desktop desktop = Desktop.getDesktop();
    String message = "mailto:username@domain.com?subject=Profildaten&body=" +
                     "Externe%20Referenz:%20" +
                     person.getExternalReference() + "%20" + "-%20" +
                     person.getExternalReferenceType() + "%0A" +
                     person.getTitle() + "%20" +
                     person.getContactLandline() + "%0A" +
                     "Mobil:%20" + person.getContactMobile() + "%0A" +
                     "Addresse:" + person.getContactStreet();

    URI uri = URI.create(message); 
    try {
        desktop.mail(uri);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }   
}
Run Code Online (Sandbox Code Playgroud)

这一切都很完美,但唯一的问题是地址:person.getContactStreet()实际输入字段要求用户输入街道名称,通常它是两个单词,例如克伦威尔路 - 在克伦威尔和道路之间有一个空格.现在电子邮件的正文不允许有空格和其他无效字符,因此它会弹出一条错误消息,说明输入了无效字符.我如何让它接受这个或自动将无效字符转换为url编码?

java url encoding

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

将JScrollPane与JTextArea一起使用

可能重复:
Java Textarea ScrollPane

我有一个滚动条的代码出现在textarea但它并没有真正起作用.有什么建议?

    final JTextArea textArea = new JTextArea();
    textArea.setEditable(false);
    textArea.setBounds(10, 152, 456, 255);
    textArea.setBorder(border);
    textArea.setLineWrap(true);
    sbrText = new JScrollPane(textArea);
    sbrText.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
    panel_1.add(textArea);
Run Code Online (Sandbox Code Playgroud)

java swing jscrollpane jtextarea jscrollbar

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