|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你希望java的IDE整合。这个是没有必要的,重要的是你理解java有多深以及怎么组织你的代码,即使没有IDE,代码照样能够编译运行的。下载从附件名毗连到这个servlet!
DownloadServlet.java
packageMailServlet;
importjavax.servlet.*;
importjavax.servlet.http.*;
importjava.io.*;
importjava.util.*;
importjavax.activation.*;
importjavax.mail.*;
importjavax.mail.internet.*;
/**
*<p>Title:</p>
*<p>Description:</p>
*<p>Copyright:Copyright(c)2002</p>
*<p>Company:Socix</p>
*@authorsimon
*@version1.0
*/
publicclassDownloadServletextendsHttpServlet
{
publicvoidservice(HttpServletRequestrequest,HttpServletResponseresponse)
throwsIOException,ServletException
{
HttpSessionsession=request.getSession();
StringcontentType=request.getParameter("contenttype");//附件的ContentType
intcount=Integer.parseInt(request.getParameter("count"));//第几个BodyPart
Objectbody=session.getAttribute("body");//邮件的MimeMultipart
if(body!=null)
{
System.out.println("downloadStart!");
try
{
MimeMultipartmp=(MimeMultipart)body;
inti=mp.getCount();
BodyPartpart=mp.getBodyPart(count);
contentType=part.getContentType();
StringfileName=part.getFileName();
response.setContentType(contentType);
response.setHeader("Content-Disposition","attachment;filename="+fileName);
System.out.println("downloadStart!"+part.getSize());
InputStreamis=part.getInputStream();
ServletOutputStreamout=response.getOutputStream();
BufferedInputStreambuf=newBufferedInputStream(is);
byte[]data=newbyte[2048];
intreaded=buf.read(data);
while(readed!=-1)
{
out.write(data,0,readed);
readed=buf.read(data);
}
out.flush();
out.close();
buf.close();
System.out.println("downloadOver!");
}
catch(Exceptionex)
{
System.out.println("error:"+ex);
}
}
}
}
先谈谈我对java的一些认识。我选择java,是因为他语法简单,功能强大,从web,到桌面,到嵌入式,无所不能。但当我进一步了解了java后,感叹,java原来也有许多缺点。 |
|