【发布时间】:2012-02-14 17:49:51
【问题描述】:
我的小程序运行良好,并显示了我需要的数据库中的所有数据。但是,问题是当我在 jsp 上嵌入创建的 jar 文件时。它没有显示数据库中的数据。
<applet code="myform.Form" archive="applet.jar" width="600" height="480"/>
applet 在 jsp 页面上运行,但组合框中的项目(来自数据库)无法选择。 jar 文件位于 jsp 页面所在的同一目录中。 提前致谢。
这是我的小程序代码
package myform;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JComboBox;
public class Form extends javax.swing.JApplet {
/** Initializes the applet Form */
public void init() {
try {
java.awt.EventQueue.invokeAndWait(new Runnable() {
public void run() {
initComponents();
}
});
} catch (Exception ex) {
ex.printStackTrace();
}
try {
String connstr="jdbc:oracle:thin:@localhost:1521/XE";
String uname="epolicia";
String pass="admin";
Class.forName("oracle.jdbc.OracleDriver").newInstance();
Connection connect =DriverManager.getConnection(connstr,uname,pass);
// System.out.println("Oracle driver is loaded");
Statement state=connect.createStatement();
ResultSet rs = state.executeQuery("SELECT * FROM ZONE");
while (rs.next()) {
zoneList.addItem(rs.getString(2)+" ("+rs.getString(1)+")");
//System.out.println(rs.getString(1));
}
} catch(Exception ex) {
//list.addItem(ex);
}
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jTextField1 = new javax.swing.JTextField();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jTextField2 = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
zoneList = new javax.swing.JComboBox();
addDistrict = new javax.swing.JButton();
cancelDistrict = new javax.swing.JButton();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel1.setFont(new java.awt.Font("Times New Roman", 1, 12));
jLabel1.setText("District ID :");
jLabel2.setFont(new java.awt.Font("Times New Roman", 1, 12));
jLabel2.setText("District Name :");
jLabel3.setFont(new java.awt.Font("Times New Roman", 1, 12));
jLabel3.setText("Zone :");
addDistrict.setFont(new java.awt.Font("Times New Roman", 1, 12));
addDistrict.setText("Add");
addDistrict.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jLabel5.setText("index: " + zoneList.getSelectedItem());//addDistrictActionPerformed(evt);
}
});
cancelDistrict.setFont(new java.awt.Font("Times New Roman", 1, 12));
cancelDistrict.setText("Cancel");
cancelDistrict.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
cancelDistrictActionPerformed(evt);
}
});
jLabel4.setFont(new java.awt.Font("Times New Roman", 1, 24));
jLabel4.setText("Add New District");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(47, 47, 47)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel1)
.addComponent(jLabel2)
.addComponent(jLabel3))
.addGap(28, 28, 28)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 157, Short.MAX_VALUE)
.addComponent(jTextField2)
.addComponent(zoneList, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
.addGroup(layout.createSequentialGroup()
.addGap(101, 101, 101)
.addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 190, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGap(101, 101, 101)
.addComponent(addDistrict)
.addGap(28, 28, 28)
.addComponent(cancelDistrict))
.addGroup(layout.createSequentialGroup()
.addGap(163, 163, 163)
.addComponent(jLabel5)))
.addContainerGap(87, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(19, 19, 19)
.addComponent(jLabel4)
.addGap(36, 36, 36)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel1))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(zoneList, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3))
.addGap(36, 36, 36)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(addDistrict)
.addComponent(cancelDistrict))
.addGap(35, 35, 35)
.addComponent(jLabel5)
.addContainerGap(77, Short.MAX_VALUE))
);
jLabel5.getAccessibleContext().setAccessibleName("lbl");
}// </editor-fold>
private void addDistrictActionPerformed(java.awt.event.ActionEvent evt) {
}
private void cancelDistrictActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.exit(0);
}
// Variables declaration - do not modify
private javax.swing.JButton addDistrict;
private javax.swing.JButton cancelDistrict;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
private javax.swing.JComboBox zoneList;
// End of variables declaration
}
【问题讨论】:
-
您必须提供更多信息。
-
另一方面,您可能不希望您的小程序连接到您的数据库(因为任何拥有小程序的人都可以访问其中的密码)。我不知道你的架构是什么,但总比抱歉更安全:)
-
喜欢什么...告诉我..我会提供所有信息。
-
我应该如何从我的小程序中的数据库中获取数据,我的意思是,我在哪里犯了错误。请..
-
@sql_query:一些代码......我们只能猜测出了什么问题。顺便说一句:你怎么知道你的小程序工作正常(第一句话)?