4

context.xmlファイルにいくつかの値を設定し、JNDIでアクセスするのと同じようにサーブレットから同じ値にアクセスしたいと思います。

mail.smtp.host=smtp.gmail.com
mail.smtp.port=465

これはできますか?

4

2 に答える 2

5

はい、上記を参照してください。それよりもさらに優れた方法を実行できます。メールセッション全体をcontext.xmlに入れることができます。

  <Resource
      name="mail/xyz"
      type="javax.mail.Session"
      auth="Container"
      mail.pop3.connectiontimeout="60000"
      mail.pop3.host="pop.hhhh.net"
      mail.pop3.port="110"
      mail.pop3.timeout="60000"
      mail.smtp.auth="true"
      mail.smtp.connectiontimeout="60000"
      mail.smtp.host="smtpout.hhhh.net"
      mail.smtp.port="3535"
      mail.smtp.sendpartial="true"
      mail.smtp.timeout="60000"
      mail.store.maildir.autocreatedir="true"
      mail.store.protocol="pop3"
      mail.transport.protocol="smtp"
      mail.from="abc@xyz.com"
      mail.user="xyz"
      mail.host="xyz.com"
      mail.debug="false"
      password="xyz"
      />

次に、それを検索するjava:comp/env/mail/xyzと、javax.mail.Sessionです。

password属性を指定すると、Tomcatもオーセンティケーターをインストールすることに注意してください。

于 2012-06-13T09:17:06.713 に答える
5

はい、絶対に可能です

<Environment name="testEnvEntry" value="Got It"
         type="java.lang.String" override="false"/>

次に、次のようにアクセスします。

Object lookedUp = null;
try {
    InitialContext initialContext = new InitialContext();
    lookedUp = initialContext.lookup("java:/comp/env/testEnvEntry");
} catch (NamingException e) {
    e.printStackTrace();
}

これは、を追加する方法と似てい<env-entry>ますweb.xml

ここの公式ドキュメントを読むことができますEnvironment

于 2012-06-13T07:37:37.410 に答える