⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 query.java

📁 用纯java语言实现的数字证书制作工具。
💻 JAVA
字号:
package data;

import javax.swing.*;
import javax.swing.filechooser.FileFilter;
import java.awt.*;
import java.awt.event.*;
import java.security.*;
import java.security.spec.*;
import java.security.interfaces.*;
import java.security.cert.*;
import java.io.*;
import data.MyWindowListener;
import java.sql.*;
import data.Connect;
import sun.security.x509.*;
import java.util.*;
import data.BASE64Encoder;
import data.Base64;

public class Query extends JFrame 
{
	void buildConstraints(GridBagConstraints gbc,int gx,int gy,int gw,int gh,int wx,int wy)
	{
		gbc.gridx=gx;
		gbc.gridy=gy;
		gbc.gridwidth=gw;
		gbc.gridheight=gh;
		gbc.weightx=wx;
		gbc.weighty=wy;
	}
	//interface
	
	JRadioButton SN = new JRadioButton();
	JRadioButton ID = new JRadioButton();
	ButtonGroup type=new ButtonGroup();
	
	JTextField sn;
	JTextField id;
	
	JButton ok=new JButton("确定");
	JButton cancel=new JButton("取消");
	//KeyWord & table selection
	String keyword;
	String item;//查询的关键词的属性
	final int ID_Query=0;
  	final int SN_Query=1;
  	int QueryType;
  	Connect conn;
	Statement stmt;
	String query,msg;
	String Cert;
	Base64 DE=new Base64();
	
	public void Display() throws Exception
	{
		JFrame frame=new JFrame("用户查询界面");
        JPanel pane=new JPanel();
		frame.setBounds(384,300,281,163);
		
		GridBagLayout gridbag = new GridBagLayout();
		GridBagConstraints constraints = new GridBagConstraints();
		pane.setLayout(gridbag);
		
		JLabel label1=new JLabel("请选择查询的关键字类型:",JLabel.CENTER);
		pane.add(label1,null);
		
		buildConstraints(constraints,0,1,1,1,10,40);
		constraints.fill=GridBagConstraints.NONE;
		constraints.anchor=GridBagConstraints.CENTER;
		gridbag.setConstraints(ID,constraints);
		pane.add(ID,null);
		
		buildConstraints(constraints,1,1,1,1,10,40);
		constraints.fill=GridBagConstraints.NONE;
		constraints.anchor=GridBagConstraints.CENTER;
		gridbag.setConstraints(SN,constraints);
		pane.add(SN,null);
		
		buildConstraints(constraints,0,2,1,1,10,40);
		constraints.fill=GridBagConstraints.NONE;
		constraints.anchor=GridBagConstraints.CENTER;
		id=new JTextField(8);
		gridbag.setConstraints(id,constraints);
		pane.add(id,null);
		
		buildConstraints(constraints,1,2,1,1,10,40);
		constraints.fill=GridBagConstraints.NONE;
		constraints.anchor=GridBagConstraints.CENTER;
		sn=new JTextField(10);
		gridbag.setConstraints(sn,constraints);
		pane.add(sn,null);
		
		buildConstraints(constraints,0,3,1,1,50,40);
		constraints.fill=GridBagConstraints.NONE;
		constraints.anchor=GridBagConstraints.EAST;
		gridbag.setConstraints(ok,constraints);
		pane.add(ok);
		
		buildConstraints(constraints,1,3,1,1,90,0);
		constraints.fill=GridBagConstraints.NONE;
		constraints.anchor=GridBagConstraints.WEST;
		gridbag.setConstraints(cancel,constraints);
		pane.add(cancel);
		
		
		ID.setSelected(true);
		sn.setEditable(false);

		
		type.add(ID);
		type.add(SN);
		
		ID.setText("用户的唯一身份号");
		ID.setBounds(new Rectangle(22,201,113,23));
		ID.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(ActionEvent e) {
          ID_actionPerformed(e);}});
		
		SN.setText("证书的序列号");
    	SN.setBounds(new Rectangle(322, 200, 87, 23));
    	SN.addActionListener(new java.awt.event.ActionListener() {
        	public void actionPerformed(ActionEvent e) {
          		SN_actionPerformed(e);} });
    	
    	
    	ok.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(ActionEvent e) {
          OK_actionPerformed(e); }});
          
    	cancel.addActionListener(new java.awt.event.ActionListener() {
        	public void actionPerformed(ActionEvent e) {
          		CANCEL_actionPerformed(e);} });
    	
		frame.setContentPane(pane);
		frame.setVisible(true);
	}
	
	

void ID_actionPerformed(ActionEvent e) {
	sn.setEditable(false);
	id.setEditable(true);
    QueryType=ID_Query;
  }
  
void SN_actionPerformed(ActionEvent e) {
	id.setEditable(false);
	sn.setEditable(true);
    QueryType=SN_Query;
  }
  
void OK_actionPerformed(ActionEvent e) 
{
	//设置查找关键路径
	if(QueryType==ID_Query)
	{
		keyword=id.getText().trim();
		item="UserID";
	}
	else
	{
		keyword=sn.getText().trim();
		item="SerialNumber";
	}
	
	//查找
	try{
			conn=new Connect();
			stmt=conn.con.createStatement();
			query="select * from CertData where "+item+"='"+keyword+"'";
			ResultSet rs=stmt.executeQuery(query);	
			int result=0;
			while(rs.next())
			{
				result++;
				try{
				Cert=rs.getString(10);
				System.out.println(Cert);
				byte[] b_Cert =DE.decode(Cert.getBytes());
				String UserCert="Query"+keyword+".cer";
     			FileOutputStream f_Cert = new FileOutputStream(UserCert);
     			f_Cert.write(b_Cert);
     			f_Cert.close();	
     			msg="您所查询的用户证书已经查询成功!";
     			JOptionPane.showMessageDialog(null,msg);
     			System.out.println(msg);
     			this.setVisible(false);
     			return;
     			}catch(IOException i){
     				msg="临时文件创建错误!";
     				JOptionPane.showMessageDialog(null,msg);
     				System.out.println(msg);
     			}
			
			}
			if(result==0)
			{
				msg="没有您要查询的用户的证书记录!!";
				JOptionPane.showMessageDialog(null,msg);
				System.out.println(msg);
			}
			
			
		}catch(SQLException sqle){
				String mm;
	       		mm="数据库执行错误:"+sqle.getMessage();
	     	  	System.out.println(mm);
		}

}


void CANCEL_actionPerformed(ActionEvent e) 
{
	id.setText("");
	sn.setText("");

}
/*	public static void main(String args[]) throws Exception
	{
		Query one=new Query();
    	one.Display();
	}
	
*/	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -