jsp实验报告(2)

题目1:编写两个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页面。
input.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'input.jsp' starting page</title>
  </head>
  
  <body>
    <form action="result.jsp" method="get" name="form">
        please input number:<input type="text" name="name" ><br><br>
        <input type="submit" name="submit" value="submit">
        
    </form>
  </body>
</html>

result.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML >
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'result.jsp' starting page</title>

  </head>
  
  <body>

   <%
       //接收提交得数字
       String str = (String)request.getParameter("name");
       
       try{
       if(str != null){
        //将接收到得数字由string类型转换为double类型
       double value = Double.parseDouble(str) ;
           if(value<0){
               out.print("The number you submitted is :"+ value);
               //将contentType属性值设置为text/plain
               response.setContentType("text/plain;charset=GB2312");
               out.print("The square of the number is :"+ value*value);
           }
           else if(value>=0 && value<100){
               out.print("The number you submitted is :"+ value);
               //将contentType得属性值设置为application/msword
               response.setContentType("application/msword;charset=GB2312");
               out.print("The cube of the number is :"+value*value*value);          
           }
           else if(value>100){           
                response.setStatus(404);            
               }
           }
         } catch(Exception e){
            response.sendRedirect("input.jsp");
        }
    %>
  </body>
</html>

题目2:猜数字游戏。本题包括4个JSP程序,inputGuess.jsp、resultGuess.jsp、small.jsp、large.jsp和success.jsp。
inputGuess.jsp的具体要求如下:
用户请求inputGuess.jsp时,随机分配给该用户一个1到100之间的数。该页面同时负责将这个数字存在用户的session对象中。该页面提供表单,用户可以使用该表单输入自己的猜测,并提交给resultGuess.jsp页面。
resultGuess.jsp的具体要求如下:
resultGuess.jsp页面负责判断inputGuess.jsp提交的猜测数字是否和用户的session对象中存放的那个数字相同,如果相同就将用户重定向到success.jsp;如果不相同就将用户重定向到large.jsp或small.jsp。
small.jsp和large.jsp的具体要求如下:
small.jsp和large.jsp页面提供表单,用户可以使用该表单继续输入自己的猜测,并提交给result.jsp页面。
success.jsp的具体要求如下:
success.jsp页面负责负责显示用户成功的消息,并负责输出用户session对象中的数据。
inputGuess.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>My JSP 'inputGuess.jsp' starting page</title>
    <script type="text/javascript">
    //设置一个js函数来进行判定输入得数是否合法合规
                window.onload = function(){
                //获取a
				 var a = document.getElementById("a");
				 //为a绑定一个单击响应函数,判断输入是否合规
                  a.onclick = function(){
                  if(document.form.name.value == "" || isNaN(document.form.name.value)){
                    alert("必须输入一个数字");
                    document.form.name.focus();
                    return false;
                    }
                };       
			};        
        
    </script>    
  </head>
  
  <body>
  <h1>随机生成一个1-100之间得数字</h1>
  <%
      int number = (int)(Math.random()*100)+1;
      //建立一个session变量记录次数
      session.setAttribute("count", new Integer(0));
      //建立保存生成数字得session变量
      session.setAttribute("save",new Integer(number));
   %>
   <form action="resultGuess.jsp" method="post" name="form">
       <p>请输入你认为正确得答案</p>
       <input type="text" name="name" >
       <input type="submit" id="a" name="submit" value="进行验证" >
   
   </form>
   <p>正确答案:<cite><%=number %></cite></p>
   
  </body>
</html>

small.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>    
    <title>My JSP 'large.jsp' starting page</title>
  </head>  
  <body>
    <form action="resultGuess.jsp" method="post" name="form">
        <h1>猜得太小啦~ ~ ~</h1>
        <br><br>
        
        <input type="text" name = "name">
        <input type="submit" name="submit" value="再次猜测">
    </form>
  </body>
</html>

large.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>    
    <title>My JSP 'large.jsp' starting page</title>
  </head>  
  <body>
    <form action="resultGuess.jsp" method="post" name="form">
        <h1>猜得太大啦~ ~ ~</h1>
        <br><br>
        
        <input type="text" name = "name">
        <input type="submit" name="submit" value="再次猜测">
    </form>
  </body>
</html>

resultGuess.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>    
    <title>My JSP 'resultGuess.jsp' starting page</title>
  </head>
  
  <body>
    <%
        String str = request.getParameter("name");
        if(str != null){
            int guessNumber = -1;
            try{
                guessNumber = Integer.parseInt(str);
                Integer integer = (Integer)session.getAttribute("save");
                int number_real = integer.intValue();
                //进行判断
                if(guessNumber == number_real){
                    int counts = ((Integer)session.getAttribute("count")).intValue();
                    counts+=1;
                    session.setAttribute("count",new Integer(counts));
                    response.sendRedirect("sucess.jsp"); 
                }
                else if(guessNumber < number_real){
                    int counts = ((Integer)session.getAttribute("count")).intValue();
                    counts+=1;
                    session.setAttribute("count",new Integer(counts));
                    response.sendRedirect("small.jsp");
                }
                else if(guessNumber > number_real){
                    int counts = ((Integer)session.getAttribute("count")).intValue();
                    counts+=1;
                    session.setAttribute("count",new Integer(counts));
                    response.sendRedirect("large.jsp");
                }
            
            }catch(Exception e){
                response.sendRedirect("inputGuess.jsp");
            }
        }
     %>
  </body>
</html>

success.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>   
    <title>My JSP 'sucess.jsp' starting page</title>
  </head>
  <body>
      <%
          int count = (Integer)session.getAttribute("count");
          int num = (Integer)session.getAttribute("save");
       %>
       <h1>恭喜!!!回答正确,赏黄金万两,美人三千!!!</h1>
       <br>
       <p>共猜测<%=count %>次,答案为:<%=num %>,继续加油</p>
       <%
           session.invalidate();
        %>       
        <a href="inputGuess.jsp">再来一局</a>
    </body>
</html>

  • 13
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

angulaer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值