2013-06-05 2 views
0

Я пытаюсь вызвать функцию java на странице jsp. функция должна отправлять почту по требованию.вызов функции java из jsp-файла

это код Java:

package s; 

import java.io.UnsupportedEncodingException; 
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.AddressException; 
import javax.mail.internet.InternetAddress; 
import javax.mail.internet.MimeMessage; 

     public class SendMail { 

      public static void send() { 

       final String username = ""; 
       final String password = ""; 

       Properties props = new Properties(); 
       props.put("mail.smtp.starttls.enable", "true"); 
       props.put("mail.smtp.auth", "true"); 
       props.put("mail.smtp.host", "smtp.gmail.com"); 
       props.put("mail.smtp.port", "587"); 

       Session session = Session.getInstance(props, 
        new javax.mail.Authenticator() { 
        protected PasswordAuthentication getPasswordAuthentication() { 
         return new PasswordAuthentication(username, password); 
        } 
        }); 

       try { 

        Message message = new MimeMessage(session); 
        message.setFrom(new InternetAddress("[email protected]")); 
        message.setRecipients(Message.RecipientType.TO, 
         InternetAddress.parse("[email protected]")); 
        message.setSubject("Testing Subject"); 
        message.setText("Dear Mail Crawler," 
         + "\n\n No spam to my email, please!"); 

        Transport.send(message); 

        System.out.println("Done"); 

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

    } 

и я ссылающегося на него на странице JSP:

<%@ page language="java" contentType="text/html; charset=UTF-8" 
    pageEncoding="UTF-8"%> 
    <%@import page="s.SendMail"%> 
    <% 
    s.SendMail.send(); 
    %> 
    <html> 
<head> 
</head> 
</html> 

он не компилируется и затмение бросает исключение: org.apache .jasper.JasperException что я делаю неправильно? спасибо за помощь!

+0

Поскольку вы импортируете 's.SendMail', вам больше не нужно использовать префикс' s': 'SendMail.send()' достаточно. Если это не сработает, тогда понятия не имею. – fge

+0

это не сработало ... у меня такая же проблема – user2445729

+0

взгляните на [этот вопрос] (http://stackoverflow.com/questions/239147/how-do-you-import-classes-in-jsp) – Quirin

ответ

1

Термины «страница» и «импорт» - это неправильный путь. Должно быть:

<%@ page import="s.SendMail" %> 
Смежные вопросы