Java 如何从JSP调用JFrame?

Java 如何从JSP调用JFrame?,java,swing,jsp,applet,jframe,Java,Swing,Jsp,Applet,Jframe,我想知道如何从jsp调用JFrame。 当我点击浏览器上的按钮时,我想调用frame。 但我不知道该怎么办。 如果你不是我的,请给我解释一下 这里有一些代码 package testing; import javax.swing.JPanel; import javax.swing.JApplet; import javax.swing.JList; import java.awt.Rectangle; import java.awt.event.ActionEvent; import jav

我想知道如何从jsp调用JFrame。 当我点击浏览器上的按钮时,我想调用frame。 但我不知道该怎么办。 如果你不是我的,请给我解释一下

这里有一些代码

package testing;

import javax.swing.JPanel;
import javax.swing.JApplet;
import javax.swing.JList;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.security.Key;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.PrivateKey;
import java.security.UnrecoverableKeyException;
import java.security.cert.Certificate;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.Enumeration;
import java.util.Vector;

import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JButton;

public class LoadFile extends JApplet implements ActionListener{

    private JPanel jContentPane = null;
    private JList listCertificate = null;
    private JLabel jLabel = null;
    private JPasswordField password = null;
    private JButton btnLoad = null;
    private JLabel jLabel1 = null;

    /**
     * This is the xxx default constructor
     */
    public LoadFile() {
        super();
    }

    /**
     * This method initializes this
     * 
     * @return void
     */
    public void init() {
        this.setSize(400, 306);
        this.setContentPane(getJContentPane());
    }

    /**
     * This method initializes jContentPane
     * 
     * @return javax.swing.JPanel
     */
    private JPanel getJContentPane() {
        if (jContentPane == null) {
            jLabel1 = new JLabel();
            jLabel1.setBounds(new Rectangle(28, 19, 296, 30));
            jLabel1.setText("Choose your certificate");
            jLabel = new JLabel();
            jLabel.setBounds(new Rectangle(54, 228, 88, 26));
            jLabel.setText("Password");
            jContentPane = new JPanel();
            jContentPane.setLayout(null);
            jContentPane.add(getListCertificate(), null);
            jContentPane.add(jLabel, null);
            jContentPane.add(getPassword(), null);
            jContentPane.add(getBtnLoad(), null);
            jContentPane.add(jLabel1, null);
        }
        return jContentPane;
    }

    /**
     * This method initializes listCertificate  
     *  
     * @return javax.swing.JList    
     */
    private JList getListCertificate() {
        if (listCertificate == null) {
            listCertificate = new JList();
            listCertificate.setBounds(new Rectangle(26, 56, 345, 149));
            Vector<String> alias = getAlias();
            listCertificate.setListData(alias);
        }
        return listCertificate;
    }

    /**
     * This method initializes password 
     *  
     * @return javax.swing.JPasswordField   
     */
    private JPasswordField getPassword() {
        if (password == null) {
            password = new JPasswordField();
            password.setBounds(new Rectangle(152, 224, 171, 28));
        }
        return password;
    }

    /**
     * This method initializes btnLoad  
     *  
     * @return javax.swing.JButton  
     */
    private JButton getBtnLoad() {
        if (btnLoad == null) {
            btnLoad = new JButton();
            btnLoad.setBounds(new Rectangle(189, 261, 70, 30));
            btnLoad.setText("Load");
            btnLoad.addActionListener(this);
        }
        return btnLoad;
    }


    public Vector<String> getAlias(){
        Vector<String> str = new Vector<String>();
        KeyStore ks;
        try {
            ks = KeyStore.getInstance("Windows-MY");
            ks.load(null, null);
            Enumeration en = ks.aliases();
            String aliasName = "";
            while (en.hasMoreElements()) {
                aliasName = (String) en.nextElement();
                str.add(aliasName);
            }

        } catch (KeyStoreException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (NoSuchAlgorithmException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (CertificateException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return str;
    }

    @Override
    public void actionPerformed(ActionEvent arg0) {
        // TODO Auto-generated method stub
        Object obj = arg0.getSource();
        if(obj == btnLoad){
            String alias = (String)getListCertificate().getSelectedValue();
            String password = getPassword().getText();

        }
    }

}  //  @jve:decl-index=0:visual-constraint="294,19"
封装测试;
导入javax.swing.JPanel;
导入javax.swing.JApplet;
导入javax.swing.JList;
导入java.awt.Rectangle;
导入java.awt.event.ActionEvent;
导入java.awt.event.ActionListener;
导入java.io.IOException;
导入java.security.Key;
导入java.security.KeyStore;
导入java.security.KeyStoreException;
导入java.security.NoSuchAlgorithmException;
导入java.security.PrivateKey;
导入java.security.UnrecoverableKeyException;
导入java.security.cert.Certificate;
导入java.security.cert.CertificateException;
导入java.security.cert.x509证书;
导入java.util.Enumeration;
导入java.util.Vector;
导入javax.swing.JLabel;
导入javax.swing.JPasswordField;
导入javax.swing.JButton;
公共类LoadFile扩展JApplet实现ActionListener{
私有JPanel jContentPane=null;
私有JList listCertificate=null;
私有JLabel JLabel=null;
private JPasswordField password=null;
私有JButton btnLoad=null;
私有JLabel jLabel1=null;
/**
*这是xxx默认构造函数
*/
公共加载文件(){
超级();
}
/**
*此方法初始化此
* 
*@返回无效
*/
公共void init(){
这个。设置大小(400306);
this.setContentPane(getJContentPane());
}
/**
*此方法初始化jContentPane
* 
*@return javax.swing.JPanel
*/
私有JPanel getJContentPane(){
如果(jContentPane==null){
jLabel1=新的JLabel();
jLabel1.setBounds(新矩形(28,19,296,30));
jLabel1.setText(“选择您的证书”);
jLabel=新的jLabel();
jLabel.setBounds(新矩形(542288826));
jLabel.setText(“密码”);
jContentPane=newJPanel();
jContentPane.setLayout(null);
添加(getListCertificate(),null);
jContentPane.add(jLabel,null);
jContentPane.add(getPassword(),null);
jContentPane.add(getBtnLoad(),null);
jContentPane.add(jLabel1,null);
}
返回jContentPane;
}
/**
*此方法初始化listCertificate
*  
*@return javax.swing.JList
*/
私有JList getListCertificate(){
如果(listCertificate==null){
listCertificate=new JList();
setBounds(新矩形(26,56,345,149));
向量别名=getAlias();
listCertificate.setListData(别名);
}
返回列表证书;
}
/**
*此方法初始化密码
*  
*@return javax.swing.JPasswordField
*/
私有JPasswordField getPassword(){
如果(密码==null){
密码=新的JPasswordField();
setBounds(新矩形(15222417128));
}
返回密码;
}
/**
*此方法初始化btnLoad
*  
*@return javax.swing.JButton
*/
私有JButton getBtnLoad(){
if(btnLoad==null){
btnLoad=新的JButton();
btnLoad.setBounds(新矩形(18926170,30));
btnLoad.setText(“加载”);
btnLoad.addActionListener(此);
}
返回btnLoad;
}
公共向量getAlias(){
向量str=新向量();
密钥库;
试一试{
ks=KeyStore.getInstance(“Windows MY”);
ks.load(null,null);
枚举en=ks.alias();
字符串别名=”;
while(en.hasMoreElements()){
别名=(字符串)en.nextElement();
str.add(别名);
}
}捕获(KeyStoreException e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}捕获(无算法异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}捕获(证书例外e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}捕获(IOE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
返回str;
}
@凌驾
已执行的公共无效操作(操作事件arg0){
//TODO自动生成的方法存根
对象obj=arg0.getSource();
如果(obj==btnLoad){
字符串别名=(字符串)getListCertificate().getSelectedValue();
字符串密码=getPassword().getText();
}
}
}//@jve:decl index=0:visual constraint=“294,19”
我想从JSP调用该类。 谢谢

当我点击浏览器上的按钮时,我想调用frame


使用直接从HTML链接(或按钮)启动框架。

JFrame不扩展小程序。不,我扩展了小程序,并在此类中使用了JFrame。公共类LoadFromStore扩展小程序实现ActionListener{private static final long serialVersionUID=1L;private JFrame=null;/@jve:decl index=0:visual constraint=“369,9”private JPanel contentPane=null;private JList lstCertificate=null;private JLabel JLabel=null;private JPasswordField password=null;private JButton btnLoad=null;private JLabel jLabel1=null;