to=(request.getParameter("to")!=null?request.getParameter("to"):"");
读参数的时候都改为这样的方式来读,如果读不到参数的时候就会返回""这样就可以的拉!

解决方案 »

  1.   

    all code:
    //study13.jsp
    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page import="sun.net.smtp.SmtpClient"%>
    <%!String to,from,subject,server,content;%>
    <%
      to=request.getParameter("to");
      from=request.getParameter("from");
      subject=request.getParameter("subject");
      server=request.getParameter("server");
      content=request.getParameter("content");
      if((!to.equals("")) && (!from.equals("")) && (!subject.equals("")) && (!server.equals(""))){
      try{
      SmtpClient mail=new SmtpClient(server);
      mail.from(from);
      mail.to(to);
      java.io.PrintStream mailout=mail.startMessage();
      mailout.println("From:"+from);
              mailout.println("Subject:"+subject);
      mailout.println(content);
      mailout.print("\r\n");
      mailout.flush();
      mailout.close();
      mail.closeServer();
      out.println("发送成功,可以发送下一封信!");
      }catch(Exception e){
      out.println("发生错误:"+e.toString());
      }
      }else
    %>
    <html>
    <head>
    <title>发送邮件</title>
    </head>
    <body>
    <form method=post action="study13.jsp">
    收信人地址:<input type=text name="to"><br>
    发信人地址:<input type=text name="from"><br>
    信件主题:<input type=text name="subject"><br>
    选用发信服务器:<input type=text name="server" value="smtp.163.com"><br>
    信件内容:<textarea name="content" cols=73 rows=5></textarea><br>
    <input type="submit" value=发送>
    </form>
    请填写必要的选项
    </body>
    </html>
      

  2.   

    再加一个判断看是否存在to,不然要是request里面没有值得话肯定出错
    高级兄说得耶是一个办法,平常我都是用
    String op=request.getParameter("operation");
       if (CoDataTran.availStr(op)){
       if (op.equals("1") )
            {}
       }
    CoDataTran是我自己写得类,用来判断是否有值得   
      

  3.   

    if (request.getParameter("to")==null){
        System.out.println("to is null");
    }
      

  4.   

    to=(request.getParameter("to")!=null?request.getParameter("to"):"");
    读参数的时候都改为这样的方式来读,如果读不到参数的时候就会返回""
    应该用这种方式!