首页 > 学院 > 开发设计 > 正文

JAVA EE(简述)

2019-11-14 23:57:50
字体:
来源:转载
供稿:网友
java EE(简述)一、平台概述

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


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表