gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 22:34:17 26 4
gpt4 key购买 nike

我接管了一些旧的遗留 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com