在编译代码时出现以下错误,请问那有问题呢?
org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.lang.NullPointerException
javax.mail.internet.MimeUtility.checkAscii(MimeUtility.java:1286)
javax.mail.internet.MimeBodyPart.setText(MimeBodyPart.java:1023)
javax.mail.internet.MimeMessage.setText(MimeMessage.java:1467)
javax.mail.internet.MimeMessage.setText(MimeMessage.java:1451)
org.apache.jsp.Testmail_jsp._jspService(Testmail_jsp.java:81)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.

解决方案 »

  1.   

    这个好像不是编译时候出现的错误吧,应该是你程序执行时候的问题.
    检查你的servlet,看看service中的代码.好像是设置message body为空的问题.
      

  2.   

    以上的错误就是以下程序出的错误..这是什么问题呢?
    <%@ page contentType="text/html;charset=GB2312" %>
    <%request.setCharacterEncoding("gb2312");%>
    <%@ page import="java.util.*,javax.mail.*"%>
    <%@ page import="javax.mail.internet.*"%><html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>发送邮件提示信息</title>
    </head><body>
    <%
    try{//从html表单中获取邮件信息
    String tto=request.getParameter("to");
    String ttitle=request.getParameter("title");
    String tcontent=request.getParameter("content");Properties props=new Properties(); 
    props.put("mail.smtp.host","smtp.126.com");//存储发送邮件服务器的信息
    props.put("mail.smtp.auth","true");//同时通过验证
    Session s=Session.getInstance(props);//根据属性新建一个邮件会话
    s.setDebug(true);MimeMessage message=new MimeMessage(s);//由邮件会话新建一个消息对象//设置邮件
    InternetAddress from=new InternetAddress("[email protected]");
    message.setFrom(from);//设置发件人
    InternetAddress to=new InternetAddress(tto);
    message.setRecipient(Message.RecipientType.TO,to);//设置收件人
    message.setSubject(ttitle);//设置主题
    message.setText(tcontent);//设置信件内容
    message.setSentDate(new Date());//设置发信时间//发送邮件
    message.saveChanges();//存储邮件信息
    Transport transport=s.getTransport("smtp");
    transport.connect("smtp.126.com","jspmail123","123456");//以smtp方式登录邮箱
    transport.sendMessage(message,message.getAllRecipients());//发送邮件,其中第二个参数是所有已设好的收件人地址
    transport.close();%>
    <div align="center">
    <p><font color="#FF6600">发送成功!</font></p><br></div>
    <%
    }catch(MessagingException e){
    out.println(e.toString());
    }
    %>
    </body>
    </html>
      

  3.   

    tcontent不会为空呀!以上那个三参数是从以下表单传过去的.
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>写邮件</title>
    </head><body>
    <form name="form1" method="post" action="Testmail02.jsp">
    <table width="75" border="0" align="center" cellspacing="1" bgcolor="#006666" >
    <tr bgcolor="#FFFFFF"> 
    <td width="40%">收信人地址:</td>
    <td width="80%"> 
    <input name="to" type="text" id="to"></td>
    </tr>
    <tr bgcolor="#FFFFFF"> 
    <td width="40%">发信人地址:</td>
    <td width="80%"> 
    <input name="to" type="text" id="from"></td>
    </tr>
    <tr bgcolor="#FFFFFF"> 
    <td>主题:</td>
    <td> 
    <input name="title" type="text" id="title"></td>
    </tr>
    <td height="107" colspan="2" bgcolor="#FFFFFF"> 
     <p>正文:<br><textarea name="message" cols="50" rows="15" id="content"></textarea></td>
    </tr>
    <tr align="center"> 
    <td colspan="2" bgcolor="#FFFFFF"> 
    <input type="submit" name="Submit" value="发送">
    <input type="reset" name="Submit2" value="重置">
    </td>
    </tr>
    </table>
    </form>
    </body>
    </html>
      

  4.   

    我把以上代码改了一处.后来出现这个异常javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25, response: -1 请问要怎么改呢?才能正常运行呢
      

  5.   

    <textarea name="message" cols="50" rows="15" id="content">
    改成
    <textarea name="content" cols="50" rows="15">
    试试,
    name属性和id属性是不一样的.
      

  6.   

    javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25, response: -1
    提示是连接不到本机localhost啊
    可是你上面的代码里就没有出现localhost你改动了哪里?是把connect()方法里的hostname改成localhost了吗