JAVA EE(簡述)

來源:互聯網
上載者:User

標籤:

一、平台概述

JavaEE的全稱是Java Enterprise Edition,它是一個開發分布式企業級應用的規範和標準

Java 平台三個版本:

  • Java ME(Java  Micro  Edition)Java微型版
  • Java SE(Java Standard Edition)Java 標準版
  • Java EE(Java Enterprise Edition) Java企業版
二、架構概述

 

Java EE伺服器:

Java EE伺服器為符合標準的應用程式組件提供部署,管理和啟動並執行支援

根據所依賴 的Java EE伺服器,應用程式組件可以分成3類。

  • 部署,管理和運行在Java EE伺服器上的組件。(Web組件和Ejb組件)
  • 部署和管理在Java EE伺服器上,但是被載入到客戶機的啟動並執行組件。(Html頁面和嵌入頁面的Applet的Web資源)
  • 部署和管理沒有完全定義在Java EE規範中的組件。(應用程式用戶端)

三、容器概述

 容器為Java EE應用程式組件提供了運行環境。

容器提供了一份從底層Java EE Api到應用程式組件的聯合視圖。

在應用程式組件和Java EE服務之間增加一個容器,就可以讓容器透明地為組件注入必須的服務。

一個標準的Java EE產品會為每個應用程式組件類型,提供一個容器。

容器概述:

容器是用來管理組件行為的一個集合工具,組件的行為包括與外部環境的互動、組件的生命週期、組件之間的合作依賴關係等等

Java EE容器:
  • 應用程式用戶端容器:包含組件Application Client
  • Applet容器:包含組件Applet
  • Web組件容器:包含Jsp與Servlet組件
  • 企業Bean容器:也就是EJB容器,包含了EJB組件
四、服務

 概述:服務是組件和容器之間,以及容器和Java EE伺服器之間的介面

 

 

 

 

 

 

五、常用服務

 

JNDI擷取資料來源

 

<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 {            //聲明內容物件            Context ct=new InitialContext();            //聲明資料來源            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;/** * 發送郵件 * */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("設定系統屬性:mail.smtp.host="+hostName);        if(props==null){            props = System.getProperties();        }        props.put("mail.smtp.host", hostName);    }        public boolean createMimeMessage(){        try{            System.out.println("準備擷取郵件會話對象!");            session = Session.getDefaultInstance(props,null);        }catch(Exception e){            System.out.println("擷取郵件會話對象時發生錯誤!"+e);            return false;        }        System.out.println("準備建立MIME郵件對象!");        try{            mimeMsg = new MimeMessage(session);            mp = new MimeMultipart();                        return true;        }catch(Exception e){            System.out.println("建立MIME郵件對象失敗!"+e);            return false;        }    }    /**       * 設定SMTP是否需要驗證       */      public void setNeedAuth(boolean need) {            System.out.println("設定smtp身份認證: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;    }         /**       * 設定郵件主題       */      public boolean setSubject(String mailSubject) {            System.out.println("設定郵件主題!");            try{                mimeMsg.setSubject(mailSubject);                return true;            }            catch(Exception e) {                System.err.println("設定郵件主題發生錯誤!");                return false;            }        }              /**        * 設定郵件內文       */        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("設定郵件內文時發生錯誤!"+e);            return false;            }        }                   /**        * 設定發信人       */        public boolean setFrom(String from) {            System.out.println("設定發信人!");            try{                mimeMsg.setFrom(new InternetAddress(from)); //設定發信人                return true;            } catch(Exception e) {                return false;            }        }        /**        * 設定收信人       */        public boolean setTo(String to){            if(to == null)return false;        System.out.println("設定收信人!");         try{                mimeMsg.setRecipients(Message.RecipientType.TO,InternetAddress.parse(to));                return true;            } catch(Exception e) {                return false;            }          }               /**        * 設定抄送人       */        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; }        }               /**        * 發送郵件       */        public boolean sendOut()        {            try{                mimeMsg.setContent(mp);                mimeMsg.saveChanges();                System.out.println("正在發送郵件....");                               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("發送郵件成功!");                transport.close();                               return true;            } catch(Exception e) {                System.err.println("郵件發送失敗!"+e);                return false;            }        }               /**       * 調用sendOut方法完成郵件發送       */      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); //需要驗證                      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;       }   }

 

JAVA EE(簡述)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.