题目描述:
5、编写两个JSP页面input.jsp和result.jsp。input.jsp页面提交一个数字给result.jsp页面,result.jsp页面使用response对象做出动态响应。
input.jsp的具体要求:
input.jsp提供表单,用户在表单中输入一个数字,提交给result.jsp页面。
result.jsp的具体要求:
result.jsp页面首先使用request对象获得input.jsp页面提交的数字,然后根据数字的大小作出不同的响应。如果数字小与0,response对象的调用setContentType(String s)方法将contentType属性的值设置为text/plain,同时输出数字的平方;如果数字大于等于0并且小于100,response对象的调用setContentType(String s)方法将contentType属性的值设置为application/msword,同时输出数字的立方;如果数字大于等于100,response对象调用setStatus(int n)方法将状态行的内容设置为404;如果用户在input.jsp页面输入了非数字,response对象调用sendRedirect(URL url)方法将用户的重定向到input.jsp页面。
JSP页面效果示例如下所示:
图E2-5 input.jsp运行效果
图E2-5 输入小于0的数据时result.jsp运行效果
图E2-5输入大于等于0并且小于100的数据时result.jsp运行效果
图E2-6 输入大于等于100的数据时result.jsp运行效果
我做的:
代码:
5_1_11.jsp_提交数字的那个:
<%@ page contentType="text/html;charset=utf-8" %>
<HTML>
<BODY bgcolor=darkorchid>
<Font size=2>
<FORM action="22.jsp" method=post name=form>
<p><h1>请输入数字: </h1>
<Input type=text name="number" size=6>
<INPUT TYPE="submit" value="提交" name="submit">
</FORM>
</Font>
</BODY>
</HTML>
5_2_22.jsp_接受数字的那个:
<%@ page contentType="text/html;charset=utf-8" %>
<!DOCTYPE html>
<HTML>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<BODY bgcolor=goldenrod>
<Font size=3>
<% String str=request.getParameter("number");
try
{ double number=Double.parseDouble(str);
if(number<0)
{
response.setContentType("text/plain;charset=GB2312");
%>
<p>你输入的数值:<%out.println(number);%>
它的平方是:<%out.println(number*number);%>
<%
}
else if(number>=0&&number<100)
{ %>
<p><h1>你输入的数值:<%out.println(number);%></h1>
<h1>它的平方是:<%out.println(number*number);%></h1>
<%
}
else
{ response.setStatus(404);
}
}
catch(Exception e)
{
response.sendRedirect("11.jsp");
}
%>
</FONT>
</BODY>
</HTML>
运行结果:
1.1.:
提交:12
提交超出范围的: