<%@ page contentType="text/html;charset=GB2312"%>
<html>
<head>
<title>三角形面积!</title>
</head>
<body bgcolor="black"><font size="4" color="red"><br>
<form action="2_1.jsp" method="post" name=form1>
请输入第一条边:
<input type="text" name="boy1">
<br>
请输入第二条边:
<input type="text" name="boy2">
<br>
<p>请输入的三条边:
<input type="text" name="boy3">
<input type="submit" value="提交" name="submit1">
</form>
<br>
.........你那样写,一次只能传递一个值! 因为你的每个Form 只有一个输出文本框!只能传递一个值! 其他的没有值,再调用Double.valueOf(str1).doubleValue();自然会生成  java.lang.NullPointerException 的异常!

解决方案 »

  1.   

    分为两个文件:
    1,mianji.html
    <%@ page contentType="text/html;charset=GB2312"%>
    <html>
    <head>
    <title>三角形面积!</title>
    </head>
    <body bgcolor="black"><font size="4" color="red">
    <p>请输入第一条边:
    <br>
    <form action="2_1.jsp" method="post" name=form1>
    <input type="text" name="boy1">
    <br>
    <p>请输入第二条边:
    <br>
    <input type="text" name="boy2">
    <br>
    <p>请输入的三条边:
    <br>
    <input type="text" name="boy3">
    <input type="submit" value="提交" name="submit">
    </form>
    <br>
    </body>
    </html>2, 2_1.jsp<%! double b1;
        double b2;
        double b3;
        double mianji;
                 double p;
        String str=null,str1=null,str2=null,str3=null;
    %>
    <%
                str1 =request.getParameter("boy1");
       str2 =request.getParameter("boy2");
                str3 =request.getParameter("boy3");
       b1 =Double.valueOf(str1).doubleValue();
                b2 =Double.valueOf(str2).doubleValue();
       b3 =Double.valueOf(str3).doubleValue();
       if( ( (b1 + b2) > b3)  &&  ( (b1 + b3) > b2)  &&  ( (b2 + b3) > b1) ==true)
    {
      p =(b1 + b2 + b3)/2;
      mianji = Math.sqrt(p * (p-b1) * (p-b2) * (p-b3));
      str = "您输入的三角形的面积是:"+mianji;
    }
             else str =  "您输入的三条边不能构成三角形!";
    %>
    <p>
       <%=str%>
    ok!
      

  2.   

    seaman0916(沙漠孤鹰) :我照你写的那样做,但是还是有问题,信息如下,麻烦了,谢谢!
    type Exception reportmessage :description The server encountered an internal error () that prevented it from fulfilling this request.exception :org.apache.jasper.JasperException
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:367)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:293)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    root cause :java.lang.NullPointerException
    java.lang.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:983)
    java.lang.Double.valueOf(Double.java:183)
    org.apache.jsp._2_005f9_jsp._jspService(_2_005f9_jsp.java:71)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:136)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:320)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:293)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    note :The full stack trace of the root cause is available in the Tomcat logs.
      

  3.   

    找不到java.lang包?
    你的Tomcat配置的对不对啊?
    别的jsp文件运行正常么?
    我用的是resin服务器,hoho,结果完全正确
      

  4.   

    我的配置应该是没什么问题的
    别的jsp文件也可以运行
    真是晕了
      

  5.   

    <%@ page contentType="text/html;charset=GB2312"%>
    <%@page import="java.util.*"%>
    <%!     double b1;
            double b2;
            double b3;
            double mianji;
            double p;
            String str=null,str1=null,str2=null,str3=null;
    %>
    <%
    String info=""+request.getParameter("sub");
     if(info.compareTo("yes")==0)
      {
                  str1 =request.getParameter("boy1");
         str2 =request.getParameter("boy2");
                  str3 =request.getParameter("boy3");
         b1 =Double.valueOf(str1).doubleValue();
                  b2 =Double.valueOf(str2).doubleValue();
         b3 =Double.valueOf(str3).doubleValue();
         if( ( (b1 + b2) > b3)  &&  ( (b1 + b3) > b2)  &&  ( (b2 + b3) > b1) ==true)
          {
      p =(b1 + b2 + b3)/2;
      mianji = Math.sqrt(p * (p-b1) * (p-b2) * (p-b3));
      str = "您输入的三角形的面积是:"+mianji;
           }
                       else str =  "您输入的三条边不能构成三角形!";
     }
    %>
    <html>
    <head>
    <title>三角形面积!</title>
    </head>
    <body bgcolor="black"><font size="4" color="red">
    <form action="2_1.jsp?sub=yes" method="post" name=form1>
    <p>请输入第一条边:
    <input type="text" name="boy1">
    <p>请输入第二条边:
    <input type="text" name="boy2">
    <p>请输入的三条边:
    <input type="text" name="boy3">
    <input type="submit" value="提交" name="submit3">
    </form>
    <br>
    <p>
       <%=str%>
    </body>
    </html>
      

  6.   

    kellygu(问题):谢谢你,问题已经解决了,但是我不明白上面大家说的为什么不行,我看改过以后也没什么问题呀,但是不能运行,请指点,多谢了。谢谢大家帮我,以后还请多多指教!
      

  7.   

    你写了3个form当然不能提交成功了,只要一个就可以了
      

  8.   

    我把它改成一个,也是不行的呀
    就是  dugang106(冷风细雨) 说的在别的环境下就可以,在Tomcat下就不行,我就是不知道为什么在Tomcat下为什么不行