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就不一样了,保持微软的一向风格,源代码不公开 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。 你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢? 是一种语言,用以产生「小应用程序(Applet(s)) 一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。 是一种将安全性(Security)列为第一优先考虑的语言 是一种语言,用以产生「小应用程序(Applet(s)) 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧! 你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢? 如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。 是一种使网页(Web Page)产生生动活泼画面的语言 J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。 在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
页:
[1]