我编写了一个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)
任何人都可以解释为什么会这样吗?在软件运行超过半分钟后,通常这会在尝试添加记录时给出错误消息.似乎松动了连接或什么的.当我运行程序并快速写一个新记录时,它的工作原理
我想设置自动化测试,以测试API.更确切地说,例如,我想发送HTTP请求(POSTS)并测试响应.因此,它必须是无头浏览器测试.
我已经将Selenium与NUnit和Phantom JS一起设置为驱动程序.测试是用C#编写的,我使用Visual Studio作为IDE.
我一直在谷歌搜索,但我似乎没有找到我的问题的特定答案的上述组合.
上面的组合是否允许我编写测试来测试API,或者发送和接收HTTP请求和响应?
我有一个表单,用户可以用数据填写字段.此后,他/她应该能够将数据导出为我已经编写的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 程序。我正在尝试编写代码,以便如果在文本字段中输入 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) 我编写了一个代码,如果按下按钮,则应从文本字段中获取值以在数据库中创建记录.代码编译,但当我运行它时,我收到此错误消息:
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中编写了一个代码,其中有表单(输入字段),最后是底部的发送邮件按钮.当用户点击按钮时,输入字段中的数据应被提取,然后用作电子邮件中正文的数据.
这是我的代码:
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 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)