<%@ page contentType="text/html; charset=gb2312"%> JSP Insider 5: 在JSP中使用JavaMail---4
网站公告:   ◆北天JAVA技术网热情为java爱好者服务,本网内容包括JAVA(JSP、servlet、EJB、webservice、j2ee、javabean、应用服务器、JavaScript),数据库(MYSQL、SQL Server、Sybase、Oracle、DB2、数据库综合知识),设计研究(设计模式、Struts、Spring、Hibernate、设计框架、设计综合知识),WEB2.0新技术(主要介绍AJAX),以及各种技术的入门、实例、例子等等,欢迎各位多来坐坐!◆  诚邀各位JAVA爱好者加盟!◆  本网站内容丰富,更新快,保证每周20篇以上!  
加入收藏
设为首页
联系站长
承接项目
  相关资源:网站首页 | 免费培训学院 | 技术论坛 | JAVA聊天室 | 作家专栏 | 开发工具 | 认证考试 | 会员俱乐部
  JAVA技术初学者园地 | jsp与servlet | javascript | Java源代码 | EJB | web service | 应用服务器 | JAVA综合知识
  设计研究设计模式 | 设计框架 | Struts | Spring | Hibernate | 开源项目 | 面向对象设计 | 设计综合知识
  数 据 库MYSQL | SQL Server | Sybase | Oracle | DB2 | Informix | Access | 数据库综合知识
  其他资源:AJAX新技术 | 网站开发 | ERP软件 | OA办公软件 | 商业智能BI | 开发综合知识 | 承接项目 | 项目试用

 
 
JSP Insider 5: 在JSP中使用JavaMail---4
     发布者: 发布时间:2006-05-07

构造JSP
现在,将介绍如何把这些对象放到一起,需要用页面指示语把这些对象导入,这点是很关键的。注意:也要用到java.util.date,因为email的时戳要用到java.util.date。

<%@ page
import= " javax.mail.*, javax.mail.internet.*,
  =>javax.activation.*, java.util.*"
%>
下一步要创建一个特定的信息,表示邮件已经被发送。你可以自己设定该信息,通常是:“Your mail has been sent。”

如何创建和发送消息

创建Message对象的代码在第二部分已经出现了。现在我们可以处理该消息。很简单,只要在对象中使用get和 set properties方法即可。使用post过来的信息作为参数,例如request.getParameter()就是个很有用的方法,可以获取post发送来的参数。参见Listing B。
Listing B:

newMessage.setFrom(new InternetAddress(request.getParameter("from")));
newMessage.setRecipient(Message.RecipientType.TO, new
InternetAddress(request.getParameter("to")));
newMessage.setSubject(request.getParameter("subject"));
newMessage.setSentDate(new Date());
newMessage.setText(request.getParameter("text"));


最后就是发送消息了,JavaMail工具使得这件事变得很简单:

transport.send(newMessage);
把它们组合在一起

刚才我们介绍的是一个个的分开的组件,现在可以把它们组合在一起,放在一个JSP脚本中。注意,要加入捕捉错误并显示给用户的脚本语句。JSP脚本请见Listing C。要使用该脚本,只要把脚本拷贝到你的电脑中即可。
Listing C:

<%@ page
import=" javax.mail.*, javax.mail.internet.*, javax.activation.*,java.util.*"
%>
<html>
<head>
<TITLE>JSP meets JavaMail, what a sweet combo.</TITLE>
</HEAD>
<BODY>
<%

try{
Properties props = new Properties();
Session sendMailSession;
Store store;
Transport transport;


sendMailSession = Session.getInstance(props, null);

props.put("mail.smtp.host", "smtp.jspinsider.com");

Message newMessage = new MimeMessage(sendMailSession);
newMessage.setFrom(new InternetAddress(request.getParameter("from")));
newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(request.getParameter("to")));
newMessage.setSubject(request.getParameter("subject"));
newMessage.setSentDate(new Date());
newMessage.setText(request.getParameter("text"));

transport = sendMailSession.getTransport("smtp");
transport.send(newMessage);
%>
<P>Your mail has been sent.</P>
<%
}
catch(MessagingException m)
{
out.println(m.toString());
}
%>
</BODY>


这就行了!如果你打算了解JavaMail所做的一步步的动作,就使用''sendMailSession.setDebug(true);''。

现在你已经对JSP 和JavaMail的使用有所入门。如果想了解更多信息,请参见Sun''s JavaMail links。

如何做得更好?

最重要的是这个工具能够运行。但我们可以改进它。后续教程将介绍:

为什么不把表单放在JSP中?
客户端的验证
如何使用beans来代替那些杂乱的不能重用的代码。
通过JSP,把功能和设计分开。
(转载文章请保留出处:北天JAVA技术网(www.java114.com))
 
更多精彩文章:
JSP Insider 5: 在JSP中使用JavaMail---2
JSP Insider 5: 在JSP中使用JavaMail--1
JSP数据库操作例程 - 数据分页显示 - JDBC 2.0 - Oracle
jsp/servlet中文问题的解决(转贴,好东西)
四级连动菜单[jsp+Microsoft SQL Server]
JSP通过JDBC与Oracle相
 
最近评论:
        
你曾悄悄的来过!
wow gold,wow gold,wow gold,ffxi gil max(8142)
        
你曾悄悄的来过!
wow gold,wow gold,wow gold,ffxi gil max(4881)
        
你曾悄悄的来过!
wow gold,wow gold,wow gold,ffxi gil max(2473)
        
你曾悄悄的来过!
wow gold,wow gold,wow gold,ffxi gil max(5514)
        
你曾悄悄的来过!
wow gold,wow gold,wow gold,ffxi gil max(6988)
        
冰封的往事!
wow power leveling,wow gold,wow power leveling,wow gold max(5948)
        
飞舞的传奇!
传世私服,传世私服.传奇世界私服传奇世界私服,传世私服传世私服, 传奇世界私服传奇世界私服.传奇私服传奇私服. max(7387)
        
飞舞的传奇!
传世私服,传世私服.传奇世界私服传奇世界私服,传世私服传世私服, 传奇世界私服传奇世界私服.传奇私服传奇私服. max(1506)
        
标 题:   
内 容:   
 
                                  
 
免责声明:该文章由网友发表,如果对您造成侵权,请联系站长

首页 - 承接项目 - 网站地图 - 联系我们 -
版权所有北天JAVA技术工作室 ICP证号:粤ICP备06079815号