サーブレットから EJB に複数の HTTP パラメータを渡すための安全で標準的な手段は何ですか? このアプリケーションは、次のパラメーターを使用する Web ベースの SMTP クライアントです。
- から
- に
- BCC
- CC
- 主題
- 体
モデル( ) をビュー( ) およびコントローラー( )EJB
から分離するために、 を に直接渡すことは控えたいと思います。JSP
servlet
HttpServletRequest
EJB
Session
変数を使用する必要がありますか?- 6つのパラメータを渡す必要がありますか? 6 つのパラメーターを渡すには、制御層でビジネス ロジックを実行する必要があります。
コード:
public String send_message(HttpServletRequest request) {
try {
Properties properties = System.getProperties();
properties.put("mail.smtp.host", SMTP_HOST);
Session session = Session.getInstance(properties, null);
String from = request.getParameter("from");
String to = request.getParameter("to");
String cc = request.getParameter("cc");
String bcc = request.getParameter("bcc");
String subject = request.getParameter("subject");
String body = request.getParameter("body");
MimeMessage message = new MimeMessage(session);
Address sender = new InternetAddress(from);
message.setFrom(sender);
Address[] toAddresses = InternetAddress.parse(to);
message.setRecipients(Message.RecipientType.TO, toAddresses);
Address[] ccAddresses = InternetAddress.parse(cc);
message.setRecipients(Message.RecipientType.CC, ccAddresses);
Address[] bccAddresses = InternetAddress.parse(bcc);
message.setRecipients(Message.RecipientType.BCC, bccAddresses);
message.setSubject(subject);
message.setText(body);
Transport.send(message);
return "Your message was sent successfully!";
} catch (AddressException AE){
return "Oops! There was an error parsing the addresses!";
} catch (SendFailedException SFE){
return "Oops! There was an error sending the message!";
} catch (MessagingException ME){
return "Oops! There was an error sending the message!";
}
}