当前位置:文档之家› Chap04.01.request内置对象

Chap04.01.request内置对象

request内置对象

?前面例子中,request内置对象已经出现很多次了,接收参数的时候都使用了request对象来完成。?request对象是HttpServletRequest接口的一个实例,HttpServletRequest的父接口是ServletRequest,所以父接口的所有方法,子接口都可以使用。但是ServletRequest接口只有一个子接口。为什么?

?之所以这么设计,主要是考虑到以后程序的扩展性。

?现在的程序都是基于HTTP协议的,但如果以后出现了新的协议,则只需要让新的协议直接继承自ServletRequest即可。

?input.htm

输入信息:

表单提交到input.jsp

?input.jsp

<%

String str= request.getParameter("info") ;// 接收表单参数%>

参数内容:<%=str%>

乱码

?input.jsp没有page指令,所以无法正确显示中文,下面为其加上page指令。

<%@ page contentType="text/html;charset=GBK"%>

<%

String str= request.getParameter("info") ;// 接收表单参数%>

参数内容:<%=str%>

页面中原有的文字可以正确显示

传递过来的参数仍然乱码,也就是request 接收参数的过程中会产生乱码。

?所有的静态WEB的执行流程:先从服务器取得一个页面,然后通过此页面把内容进行提交,提交给服务器,之后服务器再将提交的内容返回给客户进行显示。

?如果想解决乱码问题,直接将输入的内容变为服务器默认的编码:ISO8859-1即可。

?如果想要完成转码操作,需要将字符串内容重新变为byte数组。

<%@ page contentType="text/html;charset=GBK"%>

<%

String str= request.getParameter("info") ;// 接收表单参数str= new String(str.getBytes("ISO8859-1")) ;// 转码

%>

参数内容:<%=str%>

?但是转码操作比较复杂,最好的做法应该是,设置一个统一的编码,之后就按照此编码进行数据的接收。

?可以直接使用ServletRequest接口中继承而来的setCharacterEncoding()方法进行统一的编码设置。

<%@ page contentType="text/html;charset=GBK"%>

<%

request.setCharacterEncoding("GBK") ; // 按中文接收String str= request.getParameter("info") ; // 接收表单参数%>

参数内容:<%=str%>

从功能上看,两者是一样的,但是setCharacterEncoding()方法更方便,也更常用。

?在表单中存在两种提交方式,一种是get,另一种是post提交。

?两者有什么区别?下面通过代码来进行观察。

输入信息:

说明get提交的时候是将所有内容在地址栏上进行显示。

?get提交

–会在地址栏中显示提交的内容,

–地址栏中最大能放4K~5K的文字,所有过大肯定就无法提交。

?post提交

–不在地址栏中显示提交的内容;

–本身不受长度的限制,理论上是任意值,但是如果上传内容过多,则会超过HTTP的超时时间的限制。

?除了使用表单传递参数之外,也可以使用地址重写的方式来传递参数,传递格式如下:?xxx.jsp?参数名称=参数值&参数名称=参数值…

JavaScript上机题9.9

3 编写一个JavaScript程序,弹出一个讯问生日的对话框,计算出用户的星座并显示在浏览器的状态栏上。 xxxxx xxxxxx javascript时间对象 时间对象是JS的内置对象,使用前必须申明,包含日期和时间两类. DATE对象提供三种方法: 1.从系统中获取当前的时间和日期; 2.设置当时的时间和日期; 3.时间,日期转换成其它格式. setYear 设置当前年份 setMonth 设置当前月份 setDate 设置当前日期

setDay 设置当前对象的星期数 setHours 设置当前的小时 setMinutes 设置当前的分钟 setSeconds 设置当前的秒 setTime 设置当前的时间(毫秒为单位) --------------------------------- 现在是2008年12月24日17时34分24秒 出生日期是86年11月6日 Wed, 24 Dec 2008 09:34:24 UTC 2008年12月24日 17:34:24 内置对转--Date eval( )内置函数的用法:计算字符串表达式的值。

BOM——浏览器对象模型(Browser_Object_Model)

BOM——浏览器对象模型(Browser Object Model) 什么是BOM?--- 模型是所研究的系统、过程、事物或概念的一种表达形式! ?BOM是Browser Object Model的缩写,简称浏览器对象模型 ?BOM提供了独立于内容而与浏览器窗口进行交互的对象 ?由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window ?BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性?BOM缺乏标准,JavaScript语法的标准化组织是ECMA,DOM的标准化组织是W3C(WHATWG,WebHypertextApplicationTechnologyWorkingGroup—— 网页超文本应用程序技术工作组目前正在努力促进BOM的标准化)?BOM最初是Netscape浏览器标准的一部分 基本的BOM体系结构图 能利用BOM做什么? BOM提供了一些访问窗口对象的一些方法,我们可以用它来移动窗口位置,改变窗口大小,打开新窗口和关闭窗口,弹出对话框,进行导航以及获取客户的一些信息如:浏览器品牌版本,屏幕分辨率。但BOM最强大的功能是它提供了一

个访问HTML页面的一入口——document对象,以使得我们可以通过这个入口来使用DOM的强大功能!!! window对象是BOM的顶层(核心)对象,所有对象都是通过它延伸出来的,也可以称为window的子对象。由于window是顶层对象,因此调用它的子对象时可以不显示的指明window对象,例如下面两行代码是一样的: window -- window对象是BOM中所有对象的核心。window对象表示整个浏览器窗口,但不必表示其中包含的内容。此外,window还可用于移动或调整它表示的浏览器的大小,或者对它产生其他影响。 window子对象 ?document 对象 ?frames 对象 ?history 对象 ?location 对象 ?navigator 对象 ?screen 对象 window对象关系属性 ?parent:如果当前窗口为frame,指向包含该frame的窗口的frame (frame) ?self :指向当前的window对象,与window同意。(window对象)?top :如果当前窗口为frame,指向包含该frame的top-level的window 对象 ?window :指向当前的window对象,与self同意。

JAVASCRIPT面向对象基础总结

javascript面向对象基础 1.使用[]调用对象的属性和方法 functionUser() { this.age=21; this.sex="男?"; } varuser=newUser(); alert(user["age"]); 2.动态添加,修改,删除对象的属性和方法//定义类varuser=newObject(); //添加属性和方法 https://www.doczj.com/doc/7d3157247.html,="cary"; user.age=21; user.show=function(){ alert(https://www.doczj.com/doc/7d3157247.html,+"年?龄?为?:?"+this.age);} //执行方法 user.show(); //修改属性和方法 https://www.doczj.com/doc/7d3157247.html,="James"; user.show=function() { alert(https://www.doczj.com/doc/7d3157247.html,+"你?好?"); } //执行方法 user.show(); //删除属性和方法 https://www.doczj.com/doc/7d3157247.html,="undefined"; user.show="undefined" //执行方法 user.show(); 3.使用大括号{}语法创建无类型对象varobj={}; varuser= { name:"cary", age:21,

show:function(){ alert(https://www.doczj.com/doc/7d3157247.html,+"年?龄?为?:?"+this.age); } } user.show(); varobj={};等价于 varobj=newObject(); 4.Prototype原型对象 每个函数function也是一个对象,对应的类类型为“Function”,每个函数对象都有一个子对象prototype,表示函数的原型,所以当我们new一个类的对象的时候prototype对象的成员都会被实例化为对象的成员。例如: functionclass1() {} class1.prototype.show=function(){ alert("prototyemember"); } varobj=newclass1(); obj.show(); 5.Function函数对象详解 5.1Function和Date,Array,String等一样都属于JavaScript的内部对象,这些对象的构造器是由JavaScript本身所定义的。上面说过函数对象对应的类型是Function,这个和数组的对象是Array一个道理。所以也可以像newArray()一样newFunction()来创建一个函数对象,而函数对象除了使用这种方式还可以使用function关键字来创建。我们之所以不经常使用newFunction()的方式来创建函数是因为一个函数一般会有很多语句,如果我们将这些都传到newFunction()的参数中会显得可读性比较差。varfunctionName=newFunction(p1,p2,...,pn,body)其中p1到pn为参数,body为函数体。 5.2有名函数和无名函数 有名函数:functionfuncName(){}无名函数:varfuncName=function(){}他们之间的唯一区别:就是对于有名函数他可以出现在调用之后再定义,而对于无名函数,他必须是在调用之前就已经定义好。 5.3我们可以利用Function的prototype对象来扩展函数对象,如: Function.prototype.show=function(){ alert("扩展方法"); }

实验四JavaScript内置对象的使用

实验名称JavaScript内置对象应用 实验4 JavaScript内置对象应用 1实验目的 1)掌握JavaScript基本语法; 2)掌握JavaScript编程基础; 3)掌握JavaScript对象编程技术; 4)了解JavaScript ActiveX编程技术; 2实验内容及要求 JavaScript语言的语法结构和流程控制,JavaScript语言的事件和对象编程方法。

3 实验原理 JavaScript不同于服务器端脚本语言,JavaScript主要被作为客户端脚本语言在用户的浏览器上运行,不需要服务器的支持。 4仪器与材料 安装有Windows7或以上操作系统的计算机,Dreamweaver 5实验内容 5.1JavaScript编程基础 1、将JavaScript程序嵌入HTML文件的方法 查看运行结果。 HTML文件中使用脚本语言示例2。

直接在HTML标记内添加脚本。将上例改成: 查看运行结果。 2 函数 一个使用内部函数eval()的示例。 设计一个显示指定数的阶乘值的程序。 默认求1+2+…+1000,否则按指定开始值、结束值求和。

3 事件驱动及事件处理 鼠标单击事件 鼠标单击(函数名)。 鼠标单击(处理语句)。

相关主题
文本预览
相关文档 最新文档