📄 loginservlet.java
字号:
package mailservlets;import javax.servlet.*;import javax.servlet.http.*;import java.io.*;import java.util.*;import javax.mail.*;import javax.mail.internet.*;/** * Title: 收发邮件 * Description: 这是一个使用Servlet开发的收发邮件应用程序 * Copyright: Copyright (c) 2001 * Company: * @author * @version 1.0 */public class LoginServlet extends HttpServlet { private static final String CONTENT_TYPE = "text/html; charset=gb2312"; private static final String POP3_HOSTNAME="pop3host"; private static final String SMTP_HOSTNAME="smtphost"; private static final String USERNAME="username"; private static final String PASSWORD="password"; /**Initialize global variables*/ public void init() throws ServletException { } /**Process the HTTP Get request*/ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(CONTENT_TYPE); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head><title>邮箱登录</title>"); out.println("<META>"); out.println("<STYLE media=screen type=text/css></STYLE>"); out.println("<LINK href=\"/MailWebApp/css.css\" rel=stylesheet type=text/css></head>"); out.println("<body>"); out.println("<P ALIGN=\"CENTER\"><B><FONT SIZE=\"5\" FACE=\"Arial, Helvetica\">邮箱登录</FONT></B></P>"); out.println("<FORM ACTION=\"/MailWebApp/loginservlet\" METHOD=\"POST\" ENCTYPE=\"application/x-www-form-urlencoded\">"); out.println("<TABLE BORDER=\"0\" WIDTH=\"100%\">"); out.println("<TR>"); out.println("<TD class=tab03 WIDTH=\"40%\"><P ALIGN=\"RIGHT\"><FONT FACE=\"Arial, Helvetica\">SMTP服务器:</FONT></TD>"); out.println("<TD class=tab03 WIDTH=\"60%\"><INPUT TYPE=\"TEXT\" NAME=\"SmtpHost\" SIZE=\"25\"></TD>"); out.println("</TR>"); out.println("<TR>"); out.println("<TD class=tab03 WIDTH=\"40%\"><P ALIGN=\"RIGHT\"><FONT FACE=\"Arial, Helvetica\">POP3服务器:</FONT></TD>"); out.println("<TD class=tab03 WIDTH=\"60%\"><INPUT TYPE=\"TEXT\" NAME=\"Pop3Host\" SIZE=\"25\"></TD>"); out.println("</TR>"); out.println("<TR>"); out.println("<TD class=tab03 WIDTH=\"40%\"><P ALIGN=\"RIGHT\"><FONT FACE=\"Arial, Helvetica\">用户名:</FONT></TD>"); out.println("<TD class=tab03 WIDTH=\"60%\"><INPUT TYPE=\"TEXT\" NAME=\"UserName\" SIZE=\"25\"></TD>"); out.println("</TR>"); out.println("<TR>"); out.println("<TD class=tab03 WIDTH=\"40%\"><P ALIGN=\"RIGHT\"><FONT FACE=\"Arial, Helvetica\">密码:</FONT></TD>"); out.println("<TD class=tab03 WIDTH=\"60%\"><INPUT TYPE=\"PASSWORD\" NAME=\"PassWord\" SIZE=\"25\"></TD>"); out.println("</TR>"); out.println("</TABLE>"); out.println("<P align=center><INPUT TYPE=\"SUBMIT\" VALUE=\"Login\"><INPUT TYPE=\"RESET\" NAME=\"Reset\" VALUE=\"Reset\">"); out.println("</FORM>"); out.println("</body></html>"); } /**Process the HTTP Post request*/ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(CONTENT_TYPE); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head><title>您的收件箱</title>"); out.println("<META>"); out.println("<STYLE media=screen type=text/css></STYLE>"); out.println("<LINK href=\"/MailWebApp/css.css\" rel=stylesheet type=text/css></head>"); out.println("<body>"); try{ HttpSession session=request.getSession(true); System.out.println(session.getMaxInactiveInterval()); session.setMaxInactiveInterval(-1); String pop3Server=request.getParameter("Pop3Host") ; if(pop3Server==null) pop3Server=(String)session.getValue(POP3_HOSTNAME); else session.setAttribute(POP3_HOSTNAME,pop3Server); String smtpServer=request.getParameter("SmtpHost") ; if(smtpServer==null) smtpServer=(String)session.getValue(SMTP_HOSTNAME); else session.setAttribute(SMTP_HOSTNAME,smtpServer); String UserName=request.getParameter("UserName") ; if(UserName==null) UserName=(String)session.getValue(USERNAME); else session.setAttribute(USERNAME,UserName); String Password=request.getParameter("PassWord") ; if(Password==null) Password=(String)session.getValue(PASSWORD); else session.setAttribute(PASSWORD,Password); Properties props=System.getProperties(); props.put("mail.smtp.host",smtpServer); props.put("mail.host",pop3Server); props.put("mail.protocol","pop3"); SmtpAuthenticator sa=new SmtpAuthenticator(UserName,Password); Session mailSession=Session.getDefaultInstance(props,sa); mailSession.setDebug(true); Store mailbox=mailSession.getStore("pop3"); mailbox.connect(pop3Server,UserName,Password); Folder folder=mailbox.getFolder("INBOX"); folder.open(Folder.READ_ONLY); Message msg[]=folder.getMessages(); out.println("<P ALIGN=\"CENTER\"><B><FONT SIZE=\"3\" FACE=\"Arial, Helvetica\">您的收件箱中共有"+msg.length+"封邮件</FONT></B></P>"); out.println("<TABLE border=0 cellPadding=0 cellSpacing=0 class=tab02 width=\"75%\">"); out.println("<TBODY>"); out.println("<TR>"); out.println("<TD> <A href=/MailWebApp/sendmail target=\"_self\">发邮件</A></TD>"); out.println("<TD> <A href=/MailWebApp/loginservlet target=_self>返回</A></TD>"); out.println("</TR>"); out.println("</TBODY>"); out.println("</TABLE>"); out.println("<TABLE border=0 cellPadding=2 cellSpacing=1 height=19 width=\"75%\">"); out.println("<TBODY>"); out.println("<TR>"); out.println("<TD align=middle class=tab01 height=9>发件人</TD>"); out.println("<TD align=middle class=tab01 height=9>主题</TD>"); out.println("<TD align=middle class=tab01 height=9>日期</TD>"); out.println("<TD align=middle class=tab01 height=9>大小</TD>"); out.println("</TR>"); for(int i=1;i<=msg.length ;i++){ out.println("<TR>"); out.println("<TD align=left bgColor=#ffffff class=tab02 height=9>"); Address fromAddr[]=msg[i-1].getFrom(); for(int j=1;j<=fromAddr.length;j++){ out.println(" "+fromAddr[j-1].toString()); } out.println("</TD>"); out.println("<TD align=left bgColor=#ffffff class=tab02 height=9>"); out.println("<A href=/MailWebApp/showmail?mid="+msg[i-1].getMessageNumber()+" target=\"_self\">"); out.println(msg[i-1].getSubject()+"</A></TD>"); out.println("<TD align=left bgColor=#ffffff class=tab02 height=9>"+msg[i-1].getReceivedDate()+"</TD>"); out.println("<TD align=left bgColor=#ffffff class=tab02 height=9>"+msg[i-1].getSize()+"</TD>"); out.println("</TR>"); } out.println("</TBODY>"); out.println("</TABLE>"); mailbox.close(); out.println("<TABLE border=0 cellPadding=0 cellSpacing=0 class=tab02 width=\"75%\">"); out.println("<TBODY>"); out.println("<TR>"); out.println("<TD> <A href=/MailWebApp/sendmail target=\"_self\">发邮件</A></TD>"); out.println("<TD> <A href=/MailWebApp/loginservlet target=\"_self\">返回</A></TD>"); out.println("</TR>"); out.println("</TBODY>"); out.println("</TABLE>"); }catch(Exception e){ out.println("<P ALIGN=\"CENTER\"><B><FONT SIZE=\"3\" FACE=\"Arial, Helvetica\">错误发生</FONT></B></P>"); } out.println("</body></html>"); } /**Clean up resources*/ public void destroy() { }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -