国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

JAVA EE(簡(jiǎn)述)

2019-11-14 23:57:50
字體:
供稿:網(wǎng)友
java EE(簡(jiǎn)述)一、平臺(tái)概述

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

Java 平臺(tái)三個(gè)版本:

  • Java ME(Java Micro Edition)Java微型版
  • Java SE(Java Standard Edition)Java 標(biāo)準(zhǔn)版
  • Java EE(Java Enterprise Edition) Java企業(yè)版
二、架構(gòu)概述

Java EE服務(wù)器:

Java EE服務(wù)器為符合標(biāo)準(zhǔn)的應(yīng)用程序組件提供部署,管理和運(yùn)行的支持

根據(jù)所依賴 的Java EE服務(wù)器,應(yīng)用程序組件可以分成3類。

  • 部署,管理和運(yùn)行在Java EE服務(wù)器上的組件。(Web組件和Ejb組件)
  • 部署和管理在Java EE服務(wù)器上,但是被加載到客戶機(jī)的運(yùn)行的組件。(Html頁面和嵌入頁面的Applet的Web資源)
  • 部署和管理沒有完全定義在Java EE規(guī)范中的組件。(應(yīng)用程序客戶端)

三、容器概述

容器為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容器:
  • 應(yīng)用程序客戶端容器:包含組件application Client
  • Applet容器:包含組件Applet
  • Web組件容器:包含jsp與Servlet組件
  • 企業(yè)Bean容器:也就是EJB容器,包含了EJB組件
四、服務(wù)

概述:服務(wù)是組件和容器之間,以及容器和Java EE服務(wù)器之間的接口

五、常用服務(wù)

JNDI獲取數(shù)據(jù)源

<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;       }   }


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 罗田县| 涪陵区| 新河县| 和政县| 栾城县| 美姑县| 娄烦县| 行唐县| 婺源县| 会理县| 宁化县| 米易县| 阜宁县| 文水县| 察隅县| 漯河市| 灵寿县| 梅州市| 平舆县| 托克托县| 彰化市| 临夏县| 东城区| 西峡县| 米泉市| 时尚| 郧西县| 长丰县| 磐石市| 黄骅市| 苗栗市| 博爱县| 巨野县| 海淀区| 广丰县| 津市市| 平定县| 连云港市| 延津县| 舞阳县| 卢湾区|