displayfolders.java

来自「100多M的J2EE培训内容」· Java 代码 · 共 115 行

JAVA
115
字号
package bible.javamail;



import java.io.*;

import javax.servlet.*;
import javax.servlet.http.*;

import javax.activation.*;

import javax.mail.*;
import javax.mail.internet.*;

import javax.naming.*;


/**
 * Class DisplayFolders
 *
 *
 * @author
 * @version %I%, %G%
 */
public class DisplayFolders extends HttpServlet {

  private PrintWriter pw;
  private Session     session;
  private Store       store;
  private Folder      defaultFolder;

  /**
   * Method doGet
   *
   *
   * @param req
   * @param res
   *
   * @throws IOException
   * @throws ServletException
   *
   */
  public void doGet(HttpServletRequest req, HttpServletResponse res)
    throws ServletException, IOException {

    pw = res.getWriter();

    res.setContentType("text/html");
    pw.println("<HTML><HEAD><TITLE>Folders</TITLE></HEAD>");
    pw.println("<BODY><H1>Folders</H1>");

    try {
      getDefaultFolder();
      displayFolders();
      store.close();
    } catch (Exception e) {
      pw.println("<BR><BR><STRONG>" + e.getMessage() + "</STRONG><BR>");
      e.printStackTrace(pw);
    }

    pw.println("</BODY></HTML>");
  }
  private void getDefaultFolder()
    throws NamingException, NoSuchProviderException, MessagingException {

    // lookup mail session in JNDI
    InitialContext context = new InitialContext();
    Session        session = (Session) context.lookup("BibleMailSession");

    // get store and create an authenticated session
    store = session.getStore();

    store.connect("xxx.xxx.xxx.xxx", "username", "password");

    // get the default folder
    defaultFolder = store.getDefaultFolder();
  }
  private void displayFolders() throws MessagingException {

    Folder[] allFolders = defaultFolder.list();

    if (allFolders.length > 0) {
      pw.println("<TABLE width='100%'>");
      pw.println("<TR><TD><STRONG>Folder</STRONG></TD>");
      pw.println("<TD><STRONG>Messages</STRONG></TD>");
      pw.println("<TD><STRONG>New</STRONG></TD>");
      pw.println("<TD><STRONG>Unread</STRONG></TD></TR>");

      for (int i = 0; i < allFolders.length; i++) {
        String name = allFolders [i].getName();

        if ((allFolders [i].HOLDS_MESSAGES == Folder.HOLDS_MESSAGES)
            &&!name.equals("Public Folders")) {
          allFolders [i].open(Folder.READ_ONLY);
          pw.println("<TR><TD><A HREF='messages?folder=" + name + "'>" + name
                     + "</A></TD></TD>");
          pw.println("<TD>" + allFolders [i].getMessageCount() + "</TD>");
          pw.println("<TD>" + allFolders [i].getNewMessageCount() + "</TD>");
          pw.println("<TD>" + allFolders [i].getUnreadMessageCount()
                     + "</TD></TR>");
          allFolders [i].close(false);
        }
      }

      pw.println("</TABLE>");
    }
  }
}


/*--- Formatted in Bible Style on Thu, Sep 6, '01 ---*/


/*------ Formatted by Jindent 3.24 Gold 1.02 --- http://www.jindent.de ------*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?