JavaEE的全稱是Java EnterPRise Edition,它是一個(gè)開發(fā)分布式企業(yè)級(jí)應(yīng)用的規(guī)范和標(biāo)準(zhǔn)
Java 平臺(tái)三個(gè)版本:


Java EE服務(wù)器:
Java EE服務(wù)器為符合標(biāo)準(zhǔn)的應(yīng)用程序組件提供部署,管理和運(yùn)行的支持
根據(jù)所依賴 的Java EE服務(wù)器,應(yīng)用程序組件可以分成3類。

容器為Java EE應(yīng)用程序組件提供了運(yùn)行環(huán)境。
容器提供了一份從底層Java EE Api到應(yīng)用程序組件的聯(lián)合視圖。
在應(yīng)用程序組件和Java EE服務(wù)之間增加一個(gè)容器,就可以讓容器透明地為組件注入必須的服務(wù)。
一個(gè)標(biāo)準(zhǔn)的Java EE產(chǎn)品會(huì)為每個(gè)應(yīng)用程序組件類型,提供一個(gè)容器。
容器概述:容器是用來管理組件行為的一個(gè)集合工具,組件的行為包括與外部環(huán)境的交互、組件的生命周期、組件之間的合作依賴關(guān)系等等
Java EE容器:概述:服務(wù)是組件和容器之間,以及容器和Java EE服務(wù)器之間的接口
















<Resource auth="Container" driverClassName="Oracle.jdbc.OracleDriver" maxActive="100" maxIdle="30" maxWaite="10000" name="jdbc/jndi" passWord="accp" type="javax.sql.DataSource" url="jdbc:oracle:thin:@localhost:1521:orcl" username="accp" />
/** * 通過JNDI獲取連接 */ public Connection getConnection(){ Connection conn=null; try { //聲明上下文對(duì)象 Context ct=new InitialContext(); //聲明數(shù)據(jù)源 DataSource ds=(DataSource) ct.lookup("java:comp/env/jdbc/jndi"); //得到連接 conn=ds.getConnection(); } catch (NamingException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; }郵件package com;import java.util.Properties;import javax.mail.Address;import javax.mail.BodyPart;import javax.mail.Message;import javax.mail.Multipart;import javax.mail.session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeBodyPart;import javax.mail.internet.MimeMessage;import javax.mail.internet.MimeMultipart;/** * 發(fā)送郵件 * */public class Mail { private MimeMessage mimeMsg; private Session session; private Properties props; private String username; private String password; private Multipart mp; public Mail(String smtp){ setSmtpHost(smtp); createMimeMessage(); } public void setSmtpHost(String hostName){ System.out.println("設(shè)置系統(tǒng)屬性:mail.smtp.host="+hostName); if(props==null){ props = System.getProperties(); } props.put("mail.smtp.host", hostName); } public boolean createMimeMessage(){ try{ System.out.println("準(zhǔn)備獲取郵件會(huì)話對(duì)象!"); session = Session.getDefaultInstance(props,null); }catch(Exception e){ System.out.println("獲取郵件會(huì)話對(duì)象時(shí)發(fā)生錯(cuò)誤!"+e); return false; } System.out.println("準(zhǔn)備創(chuàng)建MIME郵件對(duì)象!"); try{ mimeMsg = new MimeMessage(session); mp = new MimeMultipart(); return true; }catch(Exception e){ System.out.println("創(chuàng)建MIME郵件對(duì)象失敗!"+e); return false; } } /** * 設(shè)置SMTP是否需要驗(yàn)證 */ public void setNeedAuth(boolean need) { System.out.println("設(shè)置smtp身份認(rèn)證:mail.smtp.auth = "+need); if(props == null) props = System.getProperties(); if(need){ props.put("mail.smtp.auth","true"); }else{ props.put("mail.smtp.auth","false"); } } public void setNamePass(String name,String pass) { username = name; password = pass; } /** * 設(shè)置郵件主題 */ public boolean setSubject(String mailSubject) { System.out.println("設(shè)置郵件主題!"); try{ mimeMsg.setSubject(mailSubject); return true; } catch(Exception e) { System.err.println("設(shè)置郵件主題發(fā)生錯(cuò)誤!"); return false; } } /** * 設(shè)置郵件正文 */ public boolean setBody(String mailBody) { try{ BodyPart bp = new MimeBodyPart(); bp.setContent(""+mailBody,"text/html;charset=GBK"); mp.addBodyPart(bp); return true; } catch(Exception e){ System.err.println("設(shè)置郵件正文時(shí)發(fā)生錯(cuò)誤!"+e); return false; } } /** * 設(shè)置發(fā)信人 */ public boolean setFrom(String from) { System.out.println("設(shè)置發(fā)信人!"); try{ mimeMsg.setFrom(new InternetAddress(from)); //設(shè)置發(fā)信人 return true; } catch(Exception e) { return false; } } /** * 設(shè)置收信人 */ public boolean setTo(String to){ if(to == null)return false; System.out.println("設(shè)置收信人!"); try{ mimeMsg.setRecipients(Message.RecipientType.TO,InternetAddress.parse(to)); return true; } catch(Exception e) { return false; } } /** * 設(shè)置抄送人 */ public boolean setCopyTo(String copyto) { if(copyto == null)return false; try{ mimeMsg.setRecipients(Message.RecipientType.CC,(Address[])InternetAddress.parse(copyto)); return true; } catch(Exception e) { return false; } } /** * 發(fā)送郵件 */ public boolean sendOut() { try{ mimeMsg.setContent(mp); mimeMsg.saveChanges(); System.out.println("正在發(fā)送郵件...."); Session mailSession = Session.getInstance(props,null); Transport transport = mailSession.getTransport("smtp"); transport.connect((String)props.get("mail.smtp.host"),username,password); transport.sendMessage(mimeMsg,mimeMsg.getRecipients(Message.RecipientType.TO)); System.out.println("發(fā)送郵件成功!"); transport.close(); return true; } catch(Exception e) { System.err.println("郵件發(fā)送失敗!"+e); return false; } } /** * 調(diào)用sendOut方法完成郵件發(fā)送 */ public static boolean sendAndCc(String smtp,String from,String to,String copyto,String subject,String content,String username,String password) { Mail theMail = new Mail(smtp); theMail.setNeedAuth(true); //需要驗(yàn)證 if(!theMail.setSubject(subject)) return false; if(!theMail.setBody(content)) return false; if(!theMail.setTo(to)) return false; if(!theMail.setCopyTo(copyto)) return false; if(!theMail.setFrom(from)) return false; theMail.setNamePass(username,password); if(!theMail.sendOut()) return false; return true; } }
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注