jsp文件上传
来源:互联网 发布:电脑软件自己开 编辑:程序博客网 时间:2024/05/05 00:32
服务端
package Net;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JButton;
public class UpLoadServeDemo extends JFrame {
private JTextField textField;
Socket socket;
ServerSocket server;
String fileName;
public UpLoadServeDemo() {
//服务端界面布局
setTitle("上传服务器");
getContentPane().setLayout(null);
JLabel label = new JLabel("监听窗口:");
label.setBounds(86, 80, 74, 15);
getContentPane().add(label);
textField = new JTextField();
textField.setBounds(178, 77, 112, 21);
getContentPane().add(textField);
textField.setColumns(10);
final JButton button = new JButton("启动服务器");
//事件监听
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
//使用多线程
new Thread(new Runnable() {
public void run() {
try {
//判断是否给定了端口号
if("".equals(textField.getText()) ){
JOptionPane.showMessageDialog(null, "请输入端口号!!!");
}
else if (Integer.parseInt(textField.getText()) > 65535 || Integer.parseInt(textField.getText()) < 1024 ){
JOptionPane.showMessageDialog(null, "请输入正确的端口号");
}
else if((Integer.parseInt(textField.getText()) < 65535 && Integer.parseInt(textField.getText()) > 1024)){
server = new ServerSocket(Integer.parseInt(textField.getText()));
JOptionPane.showMessageDialog(null, "服务器开启");
textField.setEnabled(false); //控件黑白不可变
button.setEnabled(false);//设置按钮黑白不可变
}
while (true) {
socket = server.accept();
final DataInputStream bufIn = new DataInputStream(
socket.getInputStream());//定义一个数据输入流
final BufferedOutputStream bufOut = new BufferedOutputStream(
socket.getOutputStream());//定义一个缓冲区输出流
new Thread(new Runnable() {
public void run() {
try {
byte[] Name = new byte[1024];//定义一个装文件名的字节数组
bufIn.read(Name);
fileName = new String(Name).trim();//获取上传文件的名字
System.out.println("上传成功,文件:"+fileName);