仓酷云

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

[学习教程] JAVA网页编程之在JSP中利用JavaMail

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

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

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

x
Java的B/s开发是通常是javaweb开发,又叫J2EE开发,J2SE是手机开发。C#的C/s和B/s开发是说.net和Asp开发。。u在这里说明一点;资深一点的Java和C#程序员都明白一点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">

    <P>Message:<BR><TEXTAREAname="text"rows=25cols=85></TEXTAREA></P>

  </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的特性举行一些剖析,为在第三部分创立JSP程序作筹办。以是接上去我们将进修JavaMail。
第二部分:关于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的桌面程序开发在java程序员里通常叫swing开发,主要用的swing包里的类开发的,也就是通常说的c/s架构开发
再现理想 该用户已被删除
沙发
发表于 2015-1-21 11:47:39 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
老尸 该用户已被删除
板凳
发表于 2015-1-24 15:12:42 来自手机 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
莫相离 该用户已被删除
地板
发表于 2015-1-25 21:43:49 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
飘飘悠悠 该用户已被删除
5#
发表于 2015-1-27 07:44:06 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
蒙在股里 该用户已被删除
6#
发表于 2015-2-3 08:21:56 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
小女巫 该用户已被删除
7#
发表于 2015-2-4 17:48:47 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
冷月葬花魂 该用户已被删除
8#
发表于 2015-2-5 21:40:04 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
只想知道 该用户已被删除
9#
发表于 2015-3-3 23:03:48 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
金色的骷髅 该用户已被删除
10#
发表于 2015-3-9 04:08:39 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
分手快乐 该用户已被删除
11#
发表于 2015-3-23 00:19:15 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
再见西城 该用户已被删除
12#
发表于 2015-4-7 22:57:43 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
深爱那片海 该用户已被删除
13#
 楼主| 发表于 2015-4-11 10:28:16 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
活着的死人 该用户已被删除
14#
发表于 2015-5-1 00:02:19 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
愤怒的大鸟 该用户已被删除
15#
发表于 2015-6-8 14:39:18 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
因胸联盟 该用户已被删除
16#
发表于 2015-6-10 07:31:15 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
17#
发表于 2015-6-16 19:44:45 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
透明 该用户已被删除
18#
发表于 2015-6-18 23:47:18 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
山那边是海 该用户已被删除
19#
发表于 2015-7-1 21:49:40 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-1 14:06

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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