愤怒的大鸟 发表于 2015-1-18 11:34:55

JAVA教程之JSP与JavaMail (二)

微软什么都提供了。你可以试想一下,如果你是新手,你是希望你点一下按钮程序就能运行那,还是想自己一点一点的组织结构,然后打包发部,调错再打包......js3.JavaMail的经常使用类先容

事前申明:

没用过JavaMail的人大概看不懂这些先容,不外没关系,前面的文章有详细的实例,到时也可倒返来检察这些类的用法.


(1)javax.mail.Properties类
  JavaMail必要Properties来创立一个session对象。它将寻觅字符串"mail.smtp.host",属性值就是发送邮件的主机.

用法:
 Propertiesprops=newProperties();
   props.put("mail.smtp.host","smtp.163.com");//能够换上你的smtp主机名。


(2)javax.mail.Session类
  这个Session类代表JavaMail中的一个邮件session.每个基于JavaMail的使用程序最少有一个session可是能够有恣意多的session。在这个例子中,Session对象必要晓得用来处置邮件的SMTP服务器。

用法:
  SessionsendMailSession;
  sendMailSession=Session.getInstance(props,null);


(3)javax.mail.Transport类
  邮件是既能够被发送也能够被遭到。JavaMail利用了两个分歧的类来完成这两个功效:Transport和Store.Transport是用来发送信息的,而Store用来收信。关于这的教程我们只必要用到Transport对象。

用法:
Transporttransport;
 transport=sendMailSession.getTransport("smtp");

  用JavaMailSession对象的getTransport办法来初始化Transport。传已往的字符串声名了对象所要利用的协定,如"smtp"。这将为我们省了良多工夫。由于JavaMail以境内置了良多协定的完成办法。

 注重:JavaMail并非相对撑持每个协定,今朝撑持IMAP、SMTP和POP3.


(4)javax.mail.MimeMessage类
  Message对象将存储我们实践发送的电子邮件信息,Message对象被作为一个MimeMessage对象来创立而且必要晓得应该选择哪个JavaMailsession。

  用法:
MessagenewMessage=newMimeMessage(sendMailSession);


(5)javax.mail.InternetAddress类
一旦您创立了Session和Message,并将内容填进动静后,就能够用Address断定函件地点了。和Message一样,Address也是个笼统类。您用的是Javax.mail.internet.InternetAddress类.

用法:
InternetAddressfrom=newInternetAddress("xxf@cafe.com");


(6)javax.mail.Store类
Store类完成特定邮件协定上的读、写、监督、查找等操纵。经由过程Javax.mail.Store类能够会见Javax.mail.Folder类。

用法:
Storestore=s.getSorte("pop3");//s为一个邮件会话
store.connect(popserver,username,password);//经由过程你供应的pop地点,用户名和暗码登录你的邮箱


(7)javax.mail.Folder类
Folder类用于分级构造邮件,并供应照Javax.mail.Message格局会见email的才能。

用法:
Folderfolder=store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);


(8)javax.mail.Internet.MimeMultpart
一样平常保留电子邮件内容的容器是Multipart笼统类,它界说了增添和删除及取得电子邮件分歧部份内容的办法.因为Multipart是笼统类,我们必需为它利用一个详细的子类,JavaMailAPI供应javax.mail.Internet.MimeMultpart类来利用MimeMessage对象.

用法:
MimeMultipartmultipart=newMimeMultipart();

注:我们利用MimeMultipart对象的一个办法是addBodyPart(),它在我们的电子邮件内容里增加BodyPart(BodyPart类鄙人面紧接着要先容)对象.动静能够有良多部分,一个BodyPart能够代表一个部分.


(9)javax.mail.Internet.MimeBodyPart类

MimeBodyPart是BodyPart详细用于mimeMessage的一个子类.
MimeBodyPart对象代表一个MimeMessage对象内容的一部分.每一个MimeBodyPart被以为有两部分:
⊙一个MIME范例
⊙婚配这个范例的内容

用法:
MimeBodyPartmdp=newMimeBodyPart();
Stringtext="HelloJavaMail!";
mdp.setContent(text,"text/plain");//界说MIME范例为text/plain,并设置MimeBodyPart的内容.


(10)javax.activation.DataHandler类(包括在JAF中)
JavaMailAPI不限定信息只为文本,任何情势的信息都大概玩火自焚MimeMessage的一部分.除文本信息,作为文件附件包括在电子邮件信息的一部分是很广泛的.JavaMailAPI经由过程利用DataHandler对象,供应一个同意我们包括非文本BodyPart对象的烦琐办法.

用法:
DataHandlerdh=newDataHandler(text,type);
mdp.setDatahandler(dh);//mdp是一个MimeBodyPart对象


(11)javax.activation.FileDataSource类(包括在JAF中)
一个FileDataSource对象能够暗示当地文件和服务器能够间接会见的资本.一个当地文件能够经由过程创立一个新的MimeBodyPart对象附在一个mimeMessage对象上.

用法:
MimeMultipartmm=newMimeMultipart();
MimeBodyPartmdp=newMimeBodyPart();
FileDataSourcefds=newFileDataSource("c:/exam.txt");
mdp.setDataHandler(newDataHandler(fds));//设置数据源
mm.addBodyPart(mdp);//为以后动静MimeMultipart对象增添MimeBodyPart


(12)javax.activation.URLDataSource类(包括在JAF中)
远程资本,URL不会指向它们,由一个URLDataSource对象暗示.一个远程资本能够经由过程创立一个新mimeBodyPart对象附在一个mimeMessage对象上(同FileDataSource差未几).

用法:
与FileDataSource独一分歧的是数据源的设置:
URLDataSourceuds=newURLDataSource("http://www.cnjsp.com/logo.gif");

但是一些大型开发或者是保密型比较高的项目都会用java,原因有2点,一:java是开源的,不怕别人留后门,偷我工具,.net就不一样了,保持微软的一向风格,源代码不公开

爱飞 发表于 2015-1-21 10:33:38

学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。

小魔女 发表于 2015-1-21 20:52:17

你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。

再现理想 发表于 2015-1-22 12:40:19

其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。

愤怒的大鸟 发表于 2015-1-31 06:47:20

Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。

活着的死人 发表于 2015-2-1 18:23:45

还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。

灵魂腐蚀 发表于 2015-2-2 11:42:07

任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言

老尸 发表于 2015-2-6 14:04:06

当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?

admin 发表于 2015-2-6 19:20:02

是一种语言,用以产生「小应用程序(Applet(s))

透明 发表于 2015-2-8 20:30:38

一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。

兰色精灵 发表于 2015-2-26 05:36:42

是一种将安全性(Security)列为第一优先考虑的语言

柔情似水 发表于 2015-3-2 09:55:56

是一种语言,用以产生「小应用程序(Applet(s))

若天明 发表于 2015-3-11 02:56:34

是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言

乐观 发表于 2015-3-13 04:09:38

那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!

精灵巫婆 发表于 2015-3-20 12:18:01

你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?

因胸联盟 发表于 2015-3-21 18:24:34

如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。

深爱那片海 发表于 2015-3-24 08:05:33

是一种使网页(Web Page)产生生动活泼画面的语言

简单生活 发表于 2015-4-1 19:11:18

J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。

海妖 发表于 2015-4-6 01:10:44

在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

谁可相欹 发表于 2015-4-9 06:27:07

自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
页: [1]
查看完整版本: JAVA教程之JSP与JavaMail (二)