上机指导第四章

1. 编写JSP程序,实现图4-24所示的简易计算器。要求:输入“第一个参数”,选择运算类型(+,-,*,/),输入“第二个参数”后,按“计算”按钮,结果将显示在“结果”文本框中。

注意:程序需要对输入参数是否合法进行判断,例如参数是否为数字,除法时,除数不为0的判断。

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>简易计算器</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

<script type="text/javaScript">

function operater(){

var num1Vaule = document.form1.num1.value;

var num2Value=document.form1.num2.value;

if(num1Vaule=="" || num2Value == ""){

alert("参与计算的操作数的数值不能为空 !!");

return false;

}

//判断num1是不是一个数

if(isNaN(num1Vaule)){

alert("第一个数不是数值型数据,请确认!")

return false;

}

if(isNaN(num2Value)){

alert("第二个数不是数值型数据,请确认!");

return false;

}

var operValue = document.form1.oper.value;

var resultValue = 0;

if(operValue=="0"){

resultValue = parseFloat(num1Vaule)+parseFloat(num2Value);

}

if(operValue=="1"){

resultValue = parseFloat(num1Vaule)-parseFloat(num2Value);

}

if(operValue=="2"){

resultValue = parseFloat(num1Vaule)*parseFloat(num2Value);

}

if(operValue=="3"){

resultValue = parseFloat(num1Vaule)/parseFloat(num2Value);

}

document.form1.result.value= resultValue;

}

</script>

</head>

<body>

<form name="form1" action="">

<h1>我的计算器</h1>

<hr size="2"/>

<p>请输入第一个数:<input type="text" name="num1"></p>

<p>请选择运算方式:

<select name="oper">

<option value="0">+</option>

<option value="1">-</option>

<option value="2">*</option>

<option value="3">/</option>

</select>

</p>

<p>请输入第二个数:<input type="text" name="num2"></p>

<input type="button" value="计算" οnclick="operater()"/>&nbsp;&nbsp;

<input type="reset" value="重置" />&nbsp;&nbsp;

<p>结果:<input type="text" name="result"></p>

</form>

</body>

</html>

2. 编写一个JSP页面,将用户名和密码存放到会话中(假设用户名为“孤独求败”,密码为“123456”),再重新定向到另一个JSP页面,将会话中存放的用户名和密码显示出来。(提示:使用response对象的sendRedirect()方法进行重定向)。

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>session存储用户名和密码</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

</head>

<body>

<form name="form1" action="">

<p>用户名:孤独求败</p>

<p>密码:******</p>

<%

session.setAttribute("username","孤独求败");

session.setAttribute("password","123456");

response.sendRedirect("success.jsp");

%>

</form>

</body>

</html>

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>session会话获取重定向前一页面的数据</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

</head>

<body>

<h2>我是重定向后的页面</h2>

<p>用户名:<%= session.getAttribute("username") %></p>

<p>密码:<%= session.getAttribute("password") %></p>

</body>

</html>

3. 编写一个JSP登录页面,可输入用户名和密码,提交请求到另一个JSP页面,该JSP页面获取请求的相关数据并显示出来。请求的相关数据包括用户输入的请求数据和请求本身的一些信息(比如请求使用的协议getProtocol() 、请求的URI request.getServletPath() 、请求方法request.getMethod() 、远程地址request.getRemoteAddr()等)。

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>登录页面</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

</head>

<body>

<form name="form1" action="loginSuccess.jsp">

<p>用户名:<input type="text" name="username"/></p>

<p>密码:<input type="password" name="password"/></p>

<p> <input type="submit" value="提交"/></p>

</form>

</body>

</html>

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>登录成功页面</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

</head>

<body>

<h2>我是登录提交后的跳转页面</h2>

<p>用户名:<%= request.getParameter("username") %></p>

<p>密码:<%= request.getParameter("password") %></p>

<hr/>

<p>请求使用的协议:<%= request.getProtocol() %></p>

<p>请求URI:<%= request.getServletPath() %></p>

<p>请求方法:<%= request.getMethod() %></p>

<p>远程地址:<%= request.getRemoteAddr() %></p>

</body>

</html>

4. 利用隐式对象为某一网站编写一个JSP程序,统计该网站的访问次数。

一种情况是按照客户进行统计(按照浏览器进行统计,一个浏览器如果访问网站的话,就算一次访问,换句话说如果这个浏览器刷新多次网站的话,也算是一次访问);

另一种情况是刷新一次页面,就算是一次访问。要求用隐式对象去实现。

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>统计网站的访问次数-情形一</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

</head>

<body>

<h2>统计页面访问次数</h2>

<%

//初始化处理:

if (pageContext.getAttribute("pageCount") == null) {

pageContext.setAttribute("pageCount", new Integer(0));

}

if (application.getAttribute("appCount") == null) {

application.setAttribute("appCount", new Integer(0));

}

ArrayList al=(ArrayList)application.getAttribute("al");

if (al==null){

al=new ArrayList();

}

if(!al.contains(session.getId())){

al.add(session.getId());

}

application.setAttribute("al",al);

//信息累加的处理

Integer count = (Integer) pageContext.getAttribute("pageCount");

pageContext.setAttribute("pageCount", new Integer(

count.intValue() + 1));

Integer count1 = (Integer) application.getAttribute("appCount");

application.setAttribute("appCount", new Integer(

count1.intValue() + 1));

%>

<b>情况1:网站访问次数: </b>

<%=al.size()%>

<br />

<br />

<b>情况2:网站访问次数: </b>

<%=application.getAttribute("appCount")%>

<br />

<br />

</body>

</html>

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值