JSP问题,实在是搞不定了!偶刚开始学JSP。解决马上给分!!1
代码如下:
<%@ 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">
<input type="submit" value="提交" name="submit1">
</form>
<br>
<p>请输入第二条边:
<br>
<form action="2_1.jsp" method="post" name=form2>
<input type="text" name="boy2">
<input type="submit" value="提交" name="submit2">
</form>
<br>
<p>请输入的三条边:
<br>
<form action="2_1.jsp" method="post" name=form3>
<input type="text" name="boy3">
<input type="submit" value="提交" name="submit3">
</form>
<br>
<%! 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%>
</body>
</html>
出错信息如下:
type Exception report
message :
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_005f1_jsp._jspService(_2_005f1_jsp.java:81)
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.
请大侠指教,谢谢了!
问题点数:20、回复次数:11Top
1 楼seaman0916(沙漠孤鹰)回复于 2003-09-03 22:50:31 得分 10
<%@ 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 的异常!Top
2 楼wbel(立本道生)回复于 2003-09-03 22:59:13 得分 0
分为两个文件:
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!Top
3 楼seaman0916(沙漠孤鹰)回复于 2003-09-03 23:29:02 得分 0
哈哈,写在一个页面也是完全可以的! 没必要这么麻烦的!Top
4 楼520zju(生活咖啡)回复于 2003-09-04 10:37:28 得分 0
seaman0916(沙漠孤鹰) :我照你写的那样做,但是还是有问题,信息如下,麻烦了,谢谢!
type Exception report
message :
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.
Top
5 楼dugang106(冷风细雨)回复于 2003-09-04 11:35:21 得分 0
找不到java.lang包?
你的Tomcat配置的对不对啊?
别的jsp文件运行正常么?
我用的是resin服务器,hoho,结果完全正确Top
6 楼520zju(生活咖啡)回复于 2003-09-04 11:54:31 得分 0
我的配置应该是没什么问题的
别的jsp文件也可以运行
真是晕了Top
7 楼kellygu(痛苦的程序员)回复于 2003-09-04 13:35:41 得分 10
<%@ 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>Top
8 楼520zju(生活咖啡)回复于 2003-09-04 13:53:55 得分 0
kellygu(问题):谢谢你,问题已经解决了,但是我不明白上面大家说的为什么不行,我看改过以后也没什么问题呀,但是不能运行,请指点,多谢了。
谢谢大家帮我,以后还请多多指教!Top
9 楼nimida(老姜)回复于 2003-09-04 14:49:45 得分 0
你写了3个form当然不能提交成功了,只要一个就可以了Top
10 楼520zju(生活咖啡)回复于 2003-09-04 18:06:58 得分 0
我把它改成一个,也是不行的呀
就是 dugang106(冷风细雨) 说的在别的环境下就可以,在Tomcat下就不行,我就是不知道为什么在Tomcat下为什么不行Top
11 楼520zju(生活咖啡)回复于 2003-09-04 22:08:34 得分 0
问题已经解决了,谢谢各位的帮忙。Top




