提及到的基本名词
1. restful 设计模式
2. Ajax;
3. https ssl 安全套接字;
4. shtml技术;
5. SSI 服务端包含;
6. saas 软件即服务;
调试方法技巧及其步骤
1. 首先看jsp页面的报错信息
2. 其次看控制太信息
其中控制台信息中是下面调用上面的方法。
3. 最后看tomcat下面的log文件夹下面的信息(找最新的信息当天的日志);
今天的任务
猜数字游戏:
需求: 有多少人玩过此游戏;
数字猜不正确进行提示;
这个人玩了几次;
进行此小练习的目的:
1. 使同学们进行代码的编写练手;
2. 对内置对象 session 、request、、out、application、等对象进行进一步的了解。
在编写此程序遇到的问题:
1. 首先考虑的使用servlet进行业务逻辑的处理但是很不好意思由于当时不知道怎么实现所以暂且搁置(注:用servlet时 直接在你提交的方式的doXxx方法下面写方法体最后用farward方法进行转向到.jsp页面。
2. 首先考虑的是在session里面放一个固定的值,知道如何写,并且已经写正确,但是进行随机数函数进行写的时候每次调用process,jsp页面的时候都执行了随机数函数所以每次session里面的值就会变化,不符合要求。之后的解决方案:对session集合里的值进行判断处理,看是否执行了random函数,若已经执行则跳过进行下面的 逻辑处理,否则则进行函数的执行。
注:产生随机数的函数方法有:
1. 使用lang.Math包里面的Random函数进行随机数的生成
具体方式为:int m=Math,Random();
2.使用java.util包中的Random函数生成数据库
具体方式为(产生0-100的随机整型整数) :Random random1=new Random();
random=random1.nextInt(101);
3. 对失败成功次数进行统计部分:
应用的全局变量(相当于静态变量),在执行每次循环的时候就进行failure++;然后放到session中,操作这样就会对其猜的次数进行统计。当猜中之后要对其相关的session进行相关的removAttribute();对failure进行复位操作。
4. 对总共进行统计的部分用application对象进行统计,但是该application的相关操作最好放在执行Random()函数的地方,这样就能保证其不是每次刷新就进行一次统计。
5. 对有多少人猜数成功部分仍未做。有待完善。。。。。。
在此小练习掌握的类和方法以及小技巧
1. Random类方法的使用
2. equals()与“==”号的区别
“==“是引用的地址一样才返回true,否则返回false;
“equals()”方法如果内容相等就返回true;否则返回false。
3. equals()方法的小技巧:
例如: true".equals(session.getAttribute("execute")
这样的话不管后面的session.getAttribute(“execute”)是否为空指针都不会出现异常
若两者调换一下位置成session.getAttrbute(“execute”).equals(“true”) 则会抛出异常;
4. 在网页中使用<a></a>进行超链接的时候在本页中进行链接则可以使用name 属
性进行页面之间的定位;此作用为一标签
5.如何使用firefox的http表头的插件。;
6.++在前和++在后的区别;
附录(自己编写的相关代码):
Main.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 'main.jsp' starting page</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">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<form action="process.jsp" name="form" method="post">
请输入你猜的数字:<input type="text" size="10" name="number" />
<input type="submit" value="提交"/>
</form>
</body>
</html>
process.jsp
对main.jsp页面提交过来的值进行业务逻辑上的处理同时进行相关简单的页面显示
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="com.yuqiao.dongbiao.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'process.jsp' starting page</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">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">d
-->
</head>
<body>
<%!
int failure=0;
%>
<%
// int failure=0;
Integer random;
//创建random对象
if(!"true".equals(session.getAttribute("execute")))
{
Random random1=new Random();
random=random1.nextInt(101);
session.setAttribute("execute","true");
session.setAttribute("random",random);
Integer times=(Integer)application.getAttribute("times");
if(times==null)
{
times=new Integer(1);
application.setAttribute("times",times);
}
else
{
times++;
application.setAttribute("times",times);
}
}
String String_number=request.getParameter("number");
Number_Guess number_guess=new Number_Guess();
int Int_number=number_guess.converter(String_number);
int m=(Integer)session.getAttribute("random");
System.out.println(m);
if(number_guess.Judge(Int_number,m)==0)
{ ++failure;
out.print("恭喜你,猜中了!<br>");
session.removeAttribute("execute");
session.removeAttribute("random");
session.setAttribute("failure",failure);
out.print("你在第"+session.getAttribute("failure")+"次猜数成功");
// session.setAttribute("failure",0);
failure=0;
}
if(number_guess.Judge(Int_number,m)==1)
{
++failure;
out.print("你猜的数字大了");
out.print("<br>");
out.print("<a href='main.jsp'>点此返回重新猜</a><br>");
session.setAttribute("failure",failure);
out.print("你总共猜了"+session.getAttribute("failure")+"次失败");
// session.removeAttribute("failure");
}
if(number_guess.Judge(Int_number,m)==-1)
{
++failure;
out.print("你猜的数字小了");
out.print("<a href='main.jsp'>点此返回重新猜</a><br>");
session.setAttribute("failure",failure);
out.print("你总共猜了"+session.getAttribute("failure")+"次失败");
}
out.print("<hr><br>");
out.println("<h2> 你是第 ");
out.print(application.getAttribute("times"));
out.print(" 个猜数的");
%>
</body>
</html>
Number_Guess():
主要是对页面所使用的方法进行自行编写
主要方法就是1.对字符串转化为整形
3. 对输入的数字和session里面的值进行判断
package com.yuqiao.dongbiao;
public class Number_Guess {
//类型转换函数
public int converter(String value)
{
return Integer.parseInt(value);
}
//判断是大是小
public int Judge(int input,int consult)
{
if(input<consult)
return -1;
else
{
if(input==consult)
return 0;
else
return 1;
}
}
}
分享到:
相关推荐
【实验三 JSP内置对象使用】 实验的目的是让学生熟悉并理解JSP中的几个核心内置对象,包括request、response、session、application以及out对象。这些对象是JSP中用于处理HTTP请求、响应、会话管理和输出数据的关键...
在探讨《JSP内置对象使用大全》这一主题时,我们深入到Java Server Pages(JSP)的核心机制之一:内置对象。这些内置对象是JSP页面默认可用的对象,无需显式声明即可使用,极大地简化了Web应用程序的开发过程。以下...
实验三 JSP 内置对象使用 一、实验目的 1.熟悉 request、response、session、application、out 等内置对象。 2.理解购物车概念。 二、实验学时 2H 三、实验性质 综合性实验 四、实验内容 开发一个简易...
总的来说,JSP内置对象是开发JSP页面的重要工具,它们简化了与HTTP请求和响应的交互,以及会话管理、应用范围内的数据共享和异常处理。理解并熟练运用这些对象,能提高JSP编程的效率和质量。在实际开发中,开发者应...
9中正则表达式的具体使用与作用域,帮组您快速使用
通过深入学习服务器端控件和内置对象的使用,你可以构建更高效、更健壮的ASP.NET应用程序,同时也能更好地理解Web应用程序的工作原理。在实际开发中,结合数据绑定和事件处理,可以实现丰富的交互性和动态性,提升...
JavaScript内置对象相关介绍及用法ppt JavaScript内置对象相关介绍及用法
这个是jsp内置对象实现一个在线聊天室的设计布局,本人已经实现整个项目。本文件主要供学习jsp内置对象使用,如果在看代码中有什么问题或者建议,欢迎联系我,大家以前讨论。
### JSP九大内置对象详解 #### 一、Request对象 - **定义**:`javax.servlet.http.HttpServletRequest` 类型的对象。 - **用途**:用于接收客户端发送到服务器端的数据(包括但不限于HTTP请求头、请求参数等)。 - ...
ASP(Active Server Pages)是微软开发的一种服务器端脚本环境,...在实际开发中,结合《ASP内置对象使用手册.doc》和《asp内置对象.ppt》中的内容,能够深入理解每个对象的使用方法和应用场景,进一步提升编程技能。
在JSP中,有九个内置对象,它们是预定义的,可以直接在JSP页面中使用,无需声明或实例化。本实验主要探讨了四个关键内置对象:request、response、session和pageContext。 1. **request对象**:request对象代表HTTP...
【标题】:“超简易聊天室.(内置对象小实例)”揭示了这是一个关于构建简单聊天室的编程示例,其中可能使用了特定的内置对象,如`APPLICATION`和`SESSION`,来实现用户间的实时交流功能。这两个对象在Web开发中扮演...
在实际应用中,我们可以根据需要选择使用相应的内置对象,例如在用户注册系统中,我们可以使用request对象获取客户端的请求信息,使用session对象存储客户端的会话信息,使用out对象输出数据结果信息等。 JSP内置...
熟练使用这些内置对象是开发JSP应用程序的基本要求,尤其是对于request、session和application对象更是必须要掌握的。 会使用对象所具有的方法,能熟练使用每一种对象的几种常用方法。希望对大家有用。。。
JSP 内置对象 Session 总结 Session 对象是一种 JSP 内置对象,用于管理客户端与服务器端之间的会话期。下面是 Session 对象的详细介绍。 什么是 Session Session 对象是一个 JSP 内置对象,它在第一个 JSP 页面...
ASP.NET 内置对象是开发ASP.NET应用程序时可以方便使用的预定义对象,它们提供了一种直接与Web服务器交互的方式,简化了对HTTP请求和响应的处理。这些对象不需要显式创建,因为它们在运行时自动由ASP.NET框架提供。...
<TITLE>Out对象使用实例 (new Date().toLocaleString()); %> 测试成功" %> ``` 在这个例子中,`out.println()`方法用于打印当前日期和时间,而`out.print()`方法用于输出字符串“测试成功”。 2. ...
JSP九大内置对象详解 JSP(Java Server Pages)是一种基于Java技术的服务器端编程语言,用于创建动态...在了解JSP九大内置对象的原理和使用方法之后,开发者们可以更好地使用这些对象来开发高效、可靠的Web应用程序。
通过本实验,我们学习了如何使用JSP 内置对象来实现不同的功能,包括使用Request对象来获取客户端提交的数据,使用Response对象来实现客户的重定向和动态响应。这些内置对象可以帮助我们更好地实现JSP程序的编写。