java - JSP: session 无法解析为类型

标签 java email jsp session tomcat

我接管了一些旧的遗留 JSP 代码,并想为其添加一些邮件支持。好吧,它并没有那么顺利,因为我收到错误,例如:

Session cannot be resolved to a type

An error occurred at line: 39 in the jsp file: /xxxxx/test.jsp
Message cannot be resolved to a type
MimeMessage cannot be resolved to a type

等等

代码,样本取自某处(不漂亮......):

<%@ page import="java.util.*" %>
<%@ page import="javax.mail.*" %>
<%@ page import="javax.mail.internet.*" %>
<%@ page import="javax.activation.*" %>

<%@ page session="true"%>
<html>
<head>
<title>JSP JavaMail Example </title>
</head>
<body>
<%
String to = "sssssss@gmail.com";
String from = "admin@yyyyyy.com";
String subject = "subject";
String messageText = "body";

Properties props = System.getProperties();
//props.put("mail.host", host);
//props.put("mail.transport.protocol", "smtp");
Session mailSession = Session.getDefaultInstance(props, null);

Message msg = new MimeMessage(mailSession);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address = {new InternetAddress(to)};
msg.setRecipients(Message.RecipientType.TO, address);
msg.setSubject(subject);
msg.setSentDate(new Date());
msg.setText(messageText);

Transport.send(msg);
%>
</body>
</html>

Google 显示实际的邮件 jar 可能丢失了,所以我下载了 javamail,提取 jar 并将它们放入 tomcat WEB-INF 目录中。没有变化。

这是一个带有 CentOs(5.5?)的 rackhostcloud 设置。这是由旧团队配置的(早已不复存在)。可以肯定地说,我不会成为周围最好的 Linux 管理员,但基本的命令行东西是没有问题的。我可以很好地运行 yum,但我认为此时还有更多功能。也许一些 Java 配置?

我只想发一封简单的邮件...

任何建议,非常感谢。

最佳答案

邮件 jar 需要放在 WEB-INF/lib 中,而不是 WEB-INF 中。您需要重启应用程序或整个 tomcat 服务器才能生效。

根据您的描述,我猜您正在使用位于 $TOMCAT_HOME/webapps/的展开的 webapp 目录。首先要注意:如果目录旁边有一个 .war,那么 war 就是“真实来源”。一场 war 是一个网络文件。它基本上是一个包含整个 webapp 目录的 zip 文件,Tomcat 出于性能目的提取该目录。这对你来说意味着无论你对目录做什么,如果 war 文件的时间戳以某种方式更新,它会清除你对目录所做的所有更改,并再次用 war 的内容替换它。

现在,为了使用邮件类,您所需要的只是一个文件结构,如下所示:

$TOMCAT_HOME
    bin
    conf
    lib
    ...
    webapps
        <your app>
            test.jsp (Can be in any directory under <your app> except WEB-INF)
            WEB-INF
                lib
                    mail.jar
                    activation.jar

关于java - JSP: session 无法解析为类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6748281/

相关文章:

java - 尝试使用 Thymeleaf 处理模板时出错

java - 如何使用 Struts 2 gzip ajax 请求?

php - 使用 PHP 邮件程序发送 2 封电子邮件失败

javascript - 添加回车到 window.location 电子邮件调用

python - 删除重复的电子邮件

java - 使用 JMF 播放 AVI 文件

Java构造函数取一个数组?

java - 使用 JSP 将图像上传到磁盘上的特定文件夹

java - 使用 tomcat 在 eclipse 之外运行 Web 项目

java - 生成的pdf文件保存在项目文件夹内