想做一个简单的图片上传服务器,发现JDK6中有个HttpServer 可以支持简单的Server比用Socket简单多了,目前只是想获取Request中的附件.但是获取了全部的Request保存在文本中.但是如何解析请求中的附件确无从下手
/**
*
* @author rikugun
*/
public class Main {
public static void main(String[] args) {
try {
HttpServer hs = HttpServer.create(new InetSocketAddress(8888), 0);//设置HttpServer的端口为8888
hs.createContext("/pic", new PicHandler());//用PicHandler类内处理到/pic的请求
hs.setExecutor(null); // creates a default executor
hs.start();
} catch (IOException e) {
e.printStackTrace();
}
}
}
PicHandler.java
/**
*
* @author rikugun
*/
public class PicHandler implements HttpHandler {
public void handle(HttpExchange t) throws IOException {
String response = "";
String mt = t.getRequestMethod();
if (t.getRequestMethod().equals("GET")) {
response = "<h3>请使用POST提交图片!</h3>";
} else {
InputStream is = t.getRequestBody();
doUpload(is);
response = "<h3>上传成功!</h3>";
}
t.sendResponseHeaders(200, response.length());
OutputStream os = t.getResponseBody();
os.write(response.getBytes());
os.close();
}
private void doUpload(InputStream is) {
FileOutputStream fos = null;
try {
fos = new FileOutputStream(new File("out.txt"));
} catch (FileNotFoundException ex) {
Logger.getLogger(PicHandler.class.getName()).log(Level.SEVERE, null, ex);
}
byte b[] = new byte[8192];
int isEnd = 0;
while (true) {
try {
isEnd = is.read(b);
if (isEnd == -1) {
//文件末尾
break;
}
System.out.println(b.toString());
fos.write(b);
} catch (IOException ex) {
ex.printStackTrace();
break;
}
}
try {
fos.close();
is.close();
} catch (IOException ex) {
Logger.getLogger(PicHandler.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
分享到:
相关推荐
Java邮件服务器(Java Mail Server,简称JMailSrv)是一种基于Java技术构建的邮件服务器软件,主要用于处理电子邮件的接收、发送以及存储等任务。在Java开发环境中,它扮演着重要的角色,为开发者提供了灵活且可扩展...
这里,我们将详细探讨如何利用Java实现在服务器端上传输文件,并结合提供的"Server1.java"源代码和"侠客行.txt"这个示例文件来解析相关知识点。 1. **Java服务器端开发环境** 在开始编程之前,确保你已经安装了...
通过 `MimeMultipart` 类,我们可以解析邮件的多个部分,包括正文和附件。 7. **处理附件**: 如果邮件有附件,`MimeBodyPart` 类可以帮助我们获取和保存附件。`MimeMessage.getContent()` 返回邮件内容,如果邮件...
在Java Web开发中,JSP(JavaServer Pages)是一种用于创建动态网页的技术,它结合了HTML、Java代码和脚本语言。在实际应用中,我们经常需要实现文件上传功能,以便用户可以上传各种类型的附件,如文档、图片或视频...
邮件通常包含多个部分,如文本、附件等,因此需要理解MIME(Multipurpose Internet Mail Extensions)格式,以便正确解析和存储邮件内容。 5. **安全考虑**:为了保护用户隐私和数据安全,服务器应该支持SSL/TLS...
【Java+SQL Server 学生信息管理系统】 在Java和SQL Server技术栈中开发的学生信息管理系统是一种常见的实训项目,旨在帮助开发者提升实际编程能力和项目经验。这个系统主要用于解决学校在管理大量学生信息时面临的...
首先,它提到了系统是用JSP(JavaServer Pages)和Java语言开发的,JSP是动态网页技术,用于处理服务器端逻辑,而Java则是后端编程语言,负责业务逻辑和数据处理。其次,系统具有发送附件的能力,这涉及到MIME...
在“java-mail-server”项目中,我们可以找到一系列的Java类和配置文件,用于实现SMTP(简单邮件传输协议)和POP3(邮局协议第3版)服务,这些协议是互联网上电子邮件传输的基础。 SMTP协议主要用于将邮件从发件人...
Java从网络取得文件 1个目标文件 简单 Java从压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板 使用Java语言编写的一款...
2 在MyEclipse下运行附件所带的Java源文件,web工程名称最好叫做bs。 3 启动server.mxml,会看到如下界面: 7 上述的客户端界面中,“实时”-----观看服务器端传送过来的画面。 “选择日期”---选择特定日期的异常...
1. **Java Web开发**:该BBS网站的开发基础是Java Web技术,这涉及到Servlet、JSP(JavaServer Pages)、JSTL(JavaServer Pages Standard Tag Library)等核心组件。Servlet是Java服务器端编程的基础,用于处理HTTP...
该组件基于Java技术栈开发,具体而言,是通过JSP(JavaServer Pages)页面实现前端与后端的交互。JSP页面负责接收用户的上传请求,处理文件并返回响应。此外,JavaScript和jQuery库被用于实现客户端的动态效果和与...
Server for Java (Android) 一:开发环境 Mac OS 10、Java 1.8、IDEA(Gradle工程) 二:介绍 一款基于Java Nio实现的Http解析框架,支持常见的请求解析和逻辑;采用单线程解析多线程业务处理方案,内置线程池方便...
以下是对“WAP中实现数据库附件下载”这一主题的深入解析,包括其技术背景、实现步骤、以及代码解读。 ### 技术背景 WAP是一种为移动设备设计的通信协议,旨在提供互联网服务的访问方式,特别适合于具有有限屏幕...
1. **源代码文件**:可能包括用各种编程语言(如C、C++、Java、Python)编写的Web服务器核心代码,展示了服务器如何监听端口、接收请求、解析HTTP协议、处理请求并返回响应。 2. **配置文件**:Web服务器的配置文件...
Java WebMail在处理包含附件的邮件时,会用到MIME技术,以正确解析和编码附件。 5. **Session管理**: 在Web应用程序中,session用于跟踪用户状态。在Java WebMail中,当用户登录后,服务器会创建一个session,并将...
聊天室服务器端,Chatserver.java;聊天室客户端,ChatClient.java; Ftp客户端,Mainframe.java; 14数据库 连接各种数据库DBconnector.java; 获得数据库和表的元数据Getmetadata.java; 查询和更新数据库...
3. **XML处理**:Java提供了DOM(文档对象模型)、SAX(简单API for XML)和StAX(流式API for XML)等多种方式解析和生成XML文档。例如,DOM将整个XML文件加载到内存中,而SAX和StAX则采用事件驱动的方式,节省内存...
总结来说,"获取邮件附件.zip"提供的工具类对于需要处理邮件内容和附件的Java开发者非常实用,它们能够帮助我们从POP3服务器上获取邮件,解析MIME结构,提取附件,并处理各种编码问题。通过这两个源文件,我们可以...
在Java Web开发中,JSP(JavaServer Pages)是一种用于创建动态网页的技术,它结合了HTML、脚本语言(如JavaScript)以及Java代码。在这个"jsp附件上传与下载的小例子"中,我们将深入探讨如何使用JSP实现文件的上传...