将Java应用程序转换为jsp / servlet

音调

我有一个接受分段上传的Java应用程序,我的问题是我希望对此具有HTML / JSP前端,而不是仅在服务器上工作。根据我提供的代码,什么是实现此目的的最佳方法。这让我有些困惑,因为我不确定如何将文件上传部分带入html / jsp页面。任何建议都会有所帮助。

非常感谢,语气

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JProgressBar;

import com.amazonaws.AmazonClientException;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.ClasspathPropertiesFileCredentialsProvider;
import com.amazonaws.regions.Region;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3Client;
import com.amazonaws.services.s3.model.ProgressEvent;
import com.amazonaws.services.s3.model.ProgressListener;
import com.amazonaws.services.s3.model.PutObjectRequest;
import com.amazonaws.services.s3.transfer.TransferManager;
import com.amazonaws.services.s3.transfer.Upload;

public class S3TransferProgressSample {

private static AWSCredentials credentials;
private static TransferManager tx;
private static String bucketName;

private JProgressBar pb;
private JFrame frame;
private Upload upload;
private JButton button;

public static void main(String[] args) throws Exception {

    AmazonS3 s3 = new AmazonS3Client(credentials = new ClasspathPropertiesFileCredentialsProvider().getCredentials());
    Region usWest2 = Region.getRegion(Regions.US_WEST_2);
    s3.setRegion(usWest2);
    tx = new TransferManager(s3);

    bucketName = "s3-upload-sdk-sample-" + credentials.getAWSAccessKeyId().toLowerCase();

    new S3TransferProgressSample();
}

public S3TransferProgressSample() throws Exception {
    frame = new JFrame("Amazon S3 File Upload");
    button = new JButton("Choose File...");
    button.addActionListener(new ButtonListener());

    pb = new JProgressBar(0, 100);
    pb.setStringPainted(true);

    frame.setContentPane(createContentPane());
    frame.pack();
    frame.setVisible(true);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

class ButtonListener implements ActionListener {
    public void actionPerformed(ActionEvent ae) {
        JFileChooser fileChooser = new JFileChooser();
        int showOpenDialog = fileChooser.showOpenDialog(frame);
        if (showOpenDialog != JFileChooser.APPROVE_OPTION) return;

        createAmazonS3Bucket();

        ProgressListener progressListener = new ProgressListener() {
            public void progressChanged(ProgressEvent progressEvent) {
                if (upload == null) return;

                pb.setValue((int)upload.getProgress().getPercentTransfered());

                switch (progressEvent.getEventCode()) {
                case ProgressEvent.COMPLETED_EVENT_CODE:
                    pb.setValue(100);
                    break;
                case ProgressEvent.FAILED_EVENT_CODE:
                    try {
                        AmazonClientException e = upload.waitForException();
                        JOptionPane.showMessageDialog(frame,
                                "Unable to upload file to Amazon S3: " + e.getMessage(),
                                "Error Uploading File", JOptionPane.ERROR_MESSAGE);
                    } catch (InterruptedException e) {}
                    break;
                }
            }
        };

        File fileToUpload = fileChooser.getSelectedFile();
        PutObjectRequest request = new PutObjectRequest(
                bucketName, fileToUpload.getName(), fileToUpload)
            .withProgressListener(progressListener);
        upload = tx.upload(request);
    }
}

private void createAmazonS3Bucket() {
    try {
        if (tx.getAmazonS3Client().doesBucketExist(bucketName) == false) {
            tx.getAmazonS3Client().createBucket(bucketName);
        }
    } catch (AmazonClientException ace) {
        JOptionPane.showMessageDialog(frame, "Unable to create a new Amazon S3 bucket: " + ace.getMessage(),
                "Error Creating Bucket", JOptionPane.ERROR_MESSAGE);
    }
}

private JPanel createContentPane() {
    JPanel panel = new JPanel();
    panel.add(button);
    panel.add(pb);

    JPanel borderPanel = new JPanel();
    borderPanel.setLayout(new BorderLayout());
    borderPanel.add(panel, BorderLayout.NORTH);
    borderPanel.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));
    return borderPanel;
    }
}
邮件

将Java应用程序转换为jsp / servlet

取决于它是哪种程序,就像将其中包含该main()方法的类,使其成为方法的子类HttpServlet并获取该main()方法中的所有内容并将其放入doGet() methodservlet一样简单。然后,将所有System.out.println()语句替换为语句,以HTML格式输出输出。如果它只是不带的命令行程序,则可以使用GUI (Graphical User Interface)

如果您的程序没有GUI,则可以在此处停止阅读。如果它确实具有GUI,那么它可能会复杂得多。根据程序的类型,可以执行以下操作之一:

1.将整个东西放在小程序中。

This is pretty simple. Instead of replacing a few lines to turn the program into a Servlet, you'd be replacing a few lines to turn it into an Applet. This you could do if you don't need the server to communicate with, like if you had a solitare game. Otherwise, you could do #2.

2.将GUI放在Applet中,并将后端保留在服务器上。

This is what you'd call a "client/server" application.

3.创建一个基于JSP / Servlet的网站。

The most complicated option, but if you don't want to use Applets this is the only way to go.Here you're changing from a Java based GUI to an HTML/CSS based GUI. You might also need some JavaScript. If you're not familiar with all this stuff, but you're comfortable making Java GUI's using things like Swing, you might want to check out GWT (Google Web Toolkit). This allows you to make rich websites using plain Java. The Java code "compiles" into HTML and Javascript.

另一个:

第一次调用JSP时,是在运行时完成的。一些Web服务器还带有JSP编译器,允许在构建时执行此操作,它具有两个优点:

  1. 它允许在构建时而非运行时检测JSP语法错误。

  2. 它避免了第一次调用的时间损失(将JSP编译为Java,然后再将Java编译为字节码需要花费一些时间)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我可以使用REST Web服务和Spring Boot将Servlet中的应用程序转换为Spring吗?

来自分类Dev

如何在JSP,Servlet应用程序中以html格式转换电子邮件的内容?

来自分类Dev

从Java GUI应用程序调用servlet?

来自分类Dev

如何通过JSP和Servlet将android应用程序与mysql数据库通信

来自分类Dev

JSP / Servlet Web应用程序中的重定向模块

来自分类Dev

Servlet / JSP应用程序中的JDBC连接方法

来自分类Dev

获取 IllegalStateException: No such servlet: jsp 当访问已部署的 Java 应用程序到 Google App Engine 时

来自分类Dev

从servlet调用servlet,并在一个应用程序中调用JSP(wo Form)

来自分类Dev

可以将Swing + Servlet视为Web应用程序吗?

来自分类Dev

将具有主方法的Java程序转换为servlet

来自分类Dev

无法将RepositoryRestMvcConfiguration强制转换为javax.servlet.Servlet

来自分类Dev

从Java Servlet Web应用程序将文件上传到我的保管箱

来自分类Dev

从Servlet应用程序从Java主类调用

来自分类Dev

使用Servlet与持久性Java应用程序对话

来自分类Dev

Swing,Java GWT,Servlet(Web应用程序)

来自分类Dev

从Servlet应用程序从Java主类调用

来自分类Dev

RESTFul Urls的Servlet应用程序

来自分类Dev

RESTFul Urls的Servlet应用程序

来自分类Dev

Sip Servlet应用程序未启动

来自分类Dev

将SQL结果转换为超链接(Java Servlet)

来自分类Dev

REDIS作为servlet / jsp应用程序的会话管理器

来自分类Dev

从JSP / Servlet / Portlets(Jetspeed)迁移到Spring项目-应用程序设计

来自分类Dev

java.lang.ClassCastException:Servlet.Telnet无法转换为javax.servlet.Servlet

来自分类Dev

如何在servlet内将文本表单数据从jsp转换为日期?

来自分类Dev

404错误Servlet JSP

来自分类Dev

如何从jsp调用servlet

来自分类Dev

jsp不会去servlet

来自分类Dev

Servlet到JSP的问题

来自分类Dev

Servlet 不去 JSP

Related 相关文章

  1. 1

    我可以使用REST Web服务和Spring Boot将Servlet中的应用程序转换为Spring吗?

  2. 2

    如何在JSP,Servlet应用程序中以html格式转换电子邮件的内容?

  3. 3

    从Java GUI应用程序调用servlet?

  4. 4

    如何通过JSP和Servlet将android应用程序与mysql数据库通信

  5. 5

    JSP / Servlet Web应用程序中的重定向模块

  6. 6

    Servlet / JSP应用程序中的JDBC连接方法

  7. 7

    获取 IllegalStateException: No such servlet: jsp 当访问已部署的 Java 应用程序到 Google App Engine 时

  8. 8

    从servlet调用servlet,并在一个应用程序中调用JSP(wo Form)

  9. 9

    可以将Swing + Servlet视为Web应用程序吗?

  10. 10

    将具有主方法的Java程序转换为servlet

  11. 11

    无法将RepositoryRestMvcConfiguration强制转换为javax.servlet.Servlet

  12. 12

    从Java Servlet Web应用程序将文件上传到我的保管箱

  13. 13

    从Servlet应用程序从Java主类调用

  14. 14

    使用Servlet与持久性Java应用程序对话

  15. 15

    Swing,Java GWT,Servlet(Web应用程序)

  16. 16

    从Servlet应用程序从Java主类调用

  17. 17

    RESTFul Urls的Servlet应用程序

  18. 18

    RESTFul Urls的Servlet应用程序

  19. 19

    Sip Servlet应用程序未启动

  20. 20

    将SQL结果转换为超链接(Java Servlet)

  21. 21

    REDIS作为servlet / jsp应用程序的会话管理器

  22. 22

    从JSP / Servlet / Portlets(Jetspeed)迁移到Spring项目-应用程序设计

  23. 23

    java.lang.ClassCastException:Servlet.Telnet无法转换为javax.servlet.Servlet

  24. 24

    如何在servlet内将文本表单数据从jsp转换为日期?

  25. 25

    404错误Servlet JSP

  26. 26

    如何从jsp调用servlet

  27. 27

    jsp不会去servlet

  28. 28

    Servlet到JSP的问题

  29. 29

    Servlet 不去 JSP

热门标签

归档