private void displayPart(int msgNum,int partNum,ServletOutputStream out, HttpServletResponse res) 
throws IOException { Part part = null;

        try {
    Message msg = mud.getFolder().getMessage(msgNum);     Multipart mp = (Multipart)msg.getContent();
    part = mp.getBodyPart(partNum);
    
    String sct = part.getContentType();
    if (sct == null) {
out.println("invalid part");
return;
    }
    ContentType ct = new ContentType(sct);     res.setContentType(ct.getBaseType());
    InputStream is = part.getInputStream();
    int i;
    while ((i = is.read()) != -1)
out.write(i);
    out.flush();
    out.close();
} catch (MessagingException mex) {
    out.println(mex.toString());
}
    }

解决方案 »

  1.   

    谢谢楼上的兄弟,我将其改编成jsp后,并添加了将其下载到本机上,生成一个文件。经过测试,附件类型为.doc和.zip(可能还有其他,但没有做过测试),打开时出现乱码或者解压缩时出现错误!!
      

  2.   

    to littlecong():我已经仔细的看过javamail附带的servlet,它通过在附件名带一个连接,就可以打开啦。但我就始终搞不清楚:这个附件的链接是如何来的?还有,它到底是在什么时候读取了这个附件?重要一点就是如何将这个servlet改成jsp?