仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 581|回复: 13
打印 上一主题 下一主题

[学习教程] JAVA网页设计在JSP中利用JavaMail邮件发送收取

[复制链接]
海妖 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:25:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
一旦你有了思想,那你编的程序就有了灵魂,不管是什么语言到了你的手里都会是你的工具而已,他们的价值是能尽快帮助你实现你想要的目标。但是如果你没有了思想,那就像是海里的帆船失去了船帆,是很难到打海的另一边的。js你但愿在jsp中创建一个邮件发送收取工具吗?上面将先容的就是在jsp中创建一个邮件发送收取工具。在这篇文章中你能够懂得到JavaMailAPI的一些要点和怎样在JSP中利用它。本文中还包含了在JSP中利用JavaMail的实例。JavaMail是JSP使用软件中相称壮大的API。 浏览这篇文章必要对JSP、JavaBeans和JavaMail有必定的开端懂得。固然,有关于JavaMail的常识你能够经由过程浏览这篇文章来取得。假如你关于以上三项一窍不通,但你所利用的服务器撑持JSP和JavaMail的话,你能够仅仅经由过程复制/粘贴来利用它们。
 甚么是JavaMail
 JavaMail是Sun公布的用来处置email的API。它能够便利地实行一些经常使用的邮件传输。
 固然JavaMail是Sun的API之一,但它今朝还没有被加在尺度的java开辟工具包中(JavaDevelopmentKit),这就意味着你在利用前必需别的下载JavaMail文件。除此之外,你还必要有Sun的JavaBeansActivationFramework(JAF)。JavaBeansActivationFramework的运转很庞大,在这里复杂的说就是JavaMail的运转必需得依附于它的撑持。在Windows2000下利用必要指定这些文件的路径,在别的的操纵体系上也相似。
 接上去要解说的是这篇指南的最难了解的部分。
 这篇指南包含三部分:HTML表格、关于JavaMail、JavaMail和JSP的分离。
 第一部分:HTML表格
 第一部分供应了一个最基础的基于HTML的email发送收取程序的例子。第二部分则报告JavaMail的事情道理。第三部分则先容将JavaMail到场JSP,创立一个基础的email发送收取程序。
 分别组件
  JSP最主要的特征是能将全部网页分别成一些微小的组件。这里利用的组件包含:
  ●一个用来将email的信息发送给JSP的HTML表格;
  ●一个JSP页面用来处置和发送函件。
 第一步,就是创立一个HTML表格用来给JSP页面发送信息。你能够将以下的HTML代码复制到你的电脑上:
 用来发送email的HTML源代码
<HTML>
<BODY>
<FORMaction="sendmail.jsp"method="post">
<TABLEalign="center">
<TR>
<TDwidth="50%">
To:<BR><INPUTname="to"size="25">
</TD>
<TDwidth="50%">
From:<BR><INPUTname="from"size="25">
</TD>
</TR>
<TR>
<TDcolspan="2">
Subject:<BR><INPUTname="subject"size="50">
</TD>
</TR>
<TR>
<TDcolspan="2">
Message:<BR><TEXTAREAname="text"rows=25cols=85></TEXTAREA>
</TD>
</TR>
</TABLE>
<INPUTtype="submit"name="cb_submit"value="Send">
<INPUTtype="reset"name="cb_reset"value="Clear">
</FORM>
</BODY>
</HTML>
 以上这段程序将创立一个包括email基础信息(比方:收件地点、发送地点、主题和内容)的文件。固然你能够依据你本人的必要来决意这个文件包括那些信息。
 这个HTML文件的利用有两点请求:第一点是天生的文件必需发送给接上去将先容的程序利用。在这个例子中就是sendmail.jsp,但在你利用时,必需用这个文件在体系里的URL来取代它;第二点是必需有空间来同意用户发送email。
第二部分:关于JavaMail

 文档的利用

  下载的JavaMailAPI中带的文档是很有效的。你能够在JavaMail下的/docs/javadocs/index.html找到它。第二部分次要将剖析邮件程序的组件。你能够经由过程浏览文档来取得更多这方面的信息。

  组件发送邮件必要利用JavaMail,它使对邮件的操纵变得复杂易用。

  属性对象

  JavaMail必要创立一个格局为"mail.smtp.host"的文件用来发送信息。

Propertiesprops=newProperties();
props.put("mail.smtp.host","smtp.jspinsider.com");
  对话对象

  一切的基于JavaMail的程序都最少必要一个或全体的对话方针。

SessionsendMailSession;
sendMailSession=Session.getInstance(props,null);
  传输

  邮件的传输只要送出或遭到两种形态。JavaMail将这两种分歧形态形貌为传输和贮存。传输将送出邮件,而贮存将收取邮件。

Transporttransport;
transport=sendMailSession.getTransport("smtp");
  利用JavaMail能为我们勤俭大批的工夫。JavaMail能取代一切的SMTP的事情。

  注重:JavaMail其实不能完整的撑持一切的邮件发送收取事情。它今朝仅撑持IMAP、SMTP和POP3,除此之外你只要守候新的JavaMail版本或本人开辟协定。

  信息对象

  信息对象将把你所发送的邮件实在的反应出来。

MessagenewMessage=newMimeMessage(sendMailSession);
  这就是我们所必要的全体四个对象。下一步将是怎样将对象到场到JSP中。

 第三部分:JavaMail和JSP的分离

  创立JSP

  上面我们将入手下手将他们分离在一同。最主要的一点是要确认依据页面唆使分类。还要记得在邮件上标注java.util.date。

<%@page
import="javax.mail.*,javax.mail.internet.*,javax.activation.*,java.util.*"
%>
  其次,创立邮件发送切实其实认信息。确认信息能够是恣意的,一样平常经常使用"你的邮件已发送进来了(Yourmailhasbeensent)。"

  信息是怎样创立和发送的

  我们在第二部分里已会商过信息对象的创立。我们上面将对信息举行操纵。这就和设相信息对象的属性一样复杂。你能够经由过程上面的程序来完成这项操纵。

newMessage.setFrom(newInternetAddress(request.getParameter("from")));
newMessage.setRecipient(Message.RecipientType.TO,newInternetAddress(request.getParameter("to")));
newMessage.setSubject(request.getParameter("subject"));
newMessage.setSentDate(newDate());
newMessage.setText(request.getParameter("text"));
  如今将入手下手发送信息。经由过程JavaMail来完成它十分复杂。

transport.send(newMessage);
  将一切的组件分离在一同

  如今一切的组件都已完全了。如今将它们都放在JSP内里。要注重每个毛病信息,并将它反应给用户。代码以下,你能够经由过程复制它们间接利用:

SampleJSPemailUtilityUsingJavaMail
<%@page
import="javax.mail.*,javax.mail.internet.*,javax.activation.*,java.util.*"
%>
<html>
<head>
<TITLE>JSPmeetsJavaMail,whatasweetcombo.</TITLE>
</HEAD>
<BODY>
<%
try{
Propertiesprops=newProperties();
SessionsendMailSession;
Storestore;
Transporttransport;
sendMailSession=Session.getInstance(props,null);
props.put("mail.smtp.host","smtp.jspinsider.com");
MessagenewMessage=newMimeMessage(sendMailSession);
newMessage.setFrom(newInternetAddress(request.getParameter("from")));
newMessage.setRecipient(Message.RecipientType.TO,newInternetAddress(request.getParameter("to")));
newMessage.setSubject(request.getParameter("subject"));
newMessage.setSentDate(newDate());
newMessage.setText(request.getParameter("text"));
transport=sendMailSession.getTransport("smtp");
transport.send(newMessage);
%>
<P>Yourmailhasbeensent.</P>
<%
}
catch(MessagingExceptionm)
{
out.println(m.toString());
}
%>
</BODY>
</HTML>
 你会很快体味到JavaMail的便利的地方,JSP和JavaMail将是将来的但愿。

java主要分三块,j2se:java的基础核心语言。j2me:java的微型模块,专门针对内存小,没有持续电源等小型设备。j2ee:java的企业模块,专门针对企业数据库服务器的连接维护。
深爱那片海 该用户已被删除
沙发
发表于 2015-1-21 06:07:59 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
变相怪杰 该用户已被删除
板凳
发表于 2015-1-28 23:48:16 | 只看该作者
是一种使用者不需花费很多时间学习的语言
第二个灵魂 该用户已被删除
地板
发表于 2015-1-30 16:32:31 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
不帅 该用户已被删除
5#
发表于 2015-1-30 22:15:35 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
山那边是海 该用户已被删除
6#
发表于 2015-1-31 14:34:56 | 只看该作者
是一种为 Internet发展的计算机语言
愤怒的大鸟 该用户已被删除
7#
发表于 2015-2-6 19:44:02 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
金色的骷髅 该用户已被删除
8#
发表于 2015-2-9 16:58:23 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
蒙在股里 该用户已被删除
9#
发表于 2015-2-27 06:25:54 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
谁可相欹 该用户已被删除
10#
发表于 2015-2-28 08:27:52 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
若天明 该用户已被删除
11#
发表于 2015-3-2 01:04:12 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
简单生活 该用户已被删除
12#
发表于 2015-3-11 01:28:37 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
兰色精灵 该用户已被删除
13#
发表于 2015-3-17 18:07:16 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
小妖女 该用户已被删除
14#
发表于 2015-3-24 15:50:43 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-28 19:28

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表