8870188 发表于 2015-8-10 10:11:30

tomcat中的JNDI

  1.配置JNDI资源;
  在WebRoot/META-INF下新建一个File:context.xml。context中的内容如下 :






  
  2.将mail.jar拷贝到/lib目录下子;
  没有的话会因为这tomcat下找不到mail.jar而报错。
  请注意在项目文件夹下将不再需要mail.jar。否则将出现Session对象转换异常错误(因为这样的话,两个Session对象一个来自tomcat中的mail.jar,另一个来自项目文件夹下的mail.jar)。
  3.在Java程序中使用JNDI API获得mail的Session对象。
  在项目文件中添加代码如下 :



   Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
Session session = (Session) envCtx.lookup("mail/Dog");
System.out.println(envCtx.lookup("mail/Dog").getClass().getClassLoader().getClass().getName());
System.out.println(Session.class.getClassLoader().getClass().getName());
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("ming_foryou@sina.com"));
InternetAddress to[] = new InternetAddress;
to = new InternetAddress("ming_foryou@sina.com");
message.setRecipients(Message.RecipientType.TO, to);
message.setSubject("ha");
message.setContent("test", "text/plain");
//   Transport.send(message);
Transport ts=session.getTransport();
ts.connect("smtp.sina.com", "ming_foryou", "********");
ts.sendMessage(message, to);
ts.close();
  
页: [1]
查看完整版本: tomcat中的JNDI