首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在JSP中使用Java类

在JSP中使用Java类
EN

Stack Overflow用户
提问于 2012-08-18 10:16:37
回答 2查看 6.6K关注 0票数 1

我有一个Java文件,它有一个有用的代码,我想在我的JSP文件中调用这个Java代码。例如,我使用了一个Java文件,该文件成功地将电子邮件发送到邮件ID,但如果我在JSP页面中调用它,它的运行错误是自由的,但电子邮件不会发送。

Java代码:

代码语言:javascript
复制
package com.me;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class SSL {
    public static void main(String[] args) {
        Properties props = new Properties();
        props.put("mail.smtp.host", "smtp.gmail.com");
        props.put("mail.smtp.socketFactory.port", "465");
        props.put("mail.smtp.socketFactory.class",
            "javax.net.ssl.SSLSocketFactory");
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.port", "465");

        Session session = Session.getDefaultInstance(props,
          new javax.mail.Authenticator() {
            protected PasswordAuthentication getPasswordAuthentication() {
              return new PasswordAuthentication("prakash.d2222","**********");
            }
          });

        try {     
          Message message = new MimeMessage(session);
          message.setFrom(new InternetAddress("from@no-spam.com"));
          message.setRecipients(Message.RecipientType.TO,
              InternetAddress.parse("prakash_d22@rediffmail.com"));
          message.setSubject("Testing Subject");
          message.setText("Dear Mail Crawler," +
                "from core java");
          Transport.send(message);

          System.out.println("Doneit");

        } catch (MessagingException e) {
          throw new RuntimeException(e);
        }
    }
}

和我的JSP代码是:

代码语言:javascript
复制
<html>
<body>
  <jsp:useBean id="link" scope="application" class = "com.me.SSL" />            
  <% out.println("ok"); %>    
</body>
</html>

而tom文件夹配置是

代码语言:javascript
复制
webapps\root\web-inf
                   |
                   -classes\com\me\SSL.class
                   |                   
                   -lib\mail.jar
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-18 11:05:38

您可以使用

代码语言:javascript
复制
<jsp:useBean id="link" scope="application" class = "com.me.SSL" />          
<jsp:setProperty name="link" property="prop" value=""/>
<% out.println("ok"); %>    

修改代码

代码语言:javascript
复制
public class SSL {
  String prop;

  public String getProp() {
    return prop;
  }

  public void setProp(String prop) {
    this.prop = prop;
    main(null);
  }

  public static void main(String[] args) {
    Properties props = new Properties();

这意味着在设置属性时调用main方法。

如果你不使用jsp:useBean

代码语言:javascript
复制
<%@ page import="com.me.SSL" %>
<html>
<body>
  <% new SSL().main(null); out.println("ok"); %>    
</body>
</html>
票数 1
EN

Stack Overflow用户

发布于 2012-08-18 10:51:46

您应该尝试在SSL类中调用该方法。从您的代码中,您似乎只是创建jsp:usebean来获取对象的一个实例。

尝试${link.MethodName}

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12017739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档