【问题标题】:Sending email from a form从表单发送电子邮件
【发布时间】:2012-03-15 23:35:27
【问题描述】:

我在下面的代码中首先遇到了一个问题:

<form action="resultPage.jsp" >
    <br/>
    <br/>
    <br/>
    <h4>
        <label>subject</label> <input name="subject" type="text" value="subject" />
    </h4>
    <textarea rows="7" cols="40" name="comment" >comment</textarea>
    </br>
    <input type="submit"/>
</form>

然后我写下面的代码:

<%
    MailManager mailManager = new MailManager();
    String subject= request.getParameter("subject");
    String comment=request.getParameter("comment");
    if((request.getParameter("subject")!=null) && (request.getParameter("comment")!=null) )
        mailManager.sendMessage("send E-mail addrs","password","smtp.gmail.com","465", new String[]{"receive addrs"}, subject,comment, "text/html");
%>

但我无法发送或接收任何电子邮件。

当我在没有 if 语句的情况下编写 mailManager.sendMessage() 时,我给出了一个异常 java.lang.NullPointerException

【问题讨论】:

  • 这个 MailManager 类从何而来?看起来不像标准(Sun/Oracle 可交付成果中包含的标准)类。
  • 提交前是否添加主题?
  • 这个类我之前写过,导入到jsp页面
  • 如果是你一开始写了这门课,你为什么不去看看课堂里哪里出了问题?

标签: java email jsp forms


【解决方案1】:

显然,忽略 if 会导致 NullPointerException 的事实意味着缺少 commentsubject 参数中的一个或两个。

这表明问题出在表单上。

使用您浏览器的 Web 开发人员功能来准确找出正在发送到您的服务器的请求。看起来是 GET 请求,所以参数应该在请求 URL 中。

【讨论】:

  • 例如,对于 Firefox,Tools>Web Developer 中有工具...或者您可以安装 Firebug 插件。其他浏览器也有类似的功能。阅读在线文档,查看菜单和首选项等。
【解决方案2】:

大家好,我发现异常的解决原因是request.getParameter(t1)的对象没有被创建,所以有一个指向空对象的指针

为了防止这个错误,我们可以使用下面的代码:

<%    
    String str=request.getParameter("t1");
    if (str==null )
        str=0+"" ;
    int i=Integer.parseInt(str);
    out.print(i);
%>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-31
    • 2019-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-12
    • 1970-01-01
    相关资源
    最近更新 更多