【Jsp精品源码栏目提醒】:网学会员为广大网友收集整理了,第4章_内置对象 - 大学课件,希望对大家有所帮助!
JSP大学实用教程第2版 Power Point 制作 耿祥义 张跃平 配合《
JSP大学实用教程 第2版》 例子源代码一起使用第4章 内 置 对 象第4章 内 置 对 象 4.1 request对象 4.2 response对象 本章导读 4.3 session对象 1. 知识点:掌握
JSP内置对象resquest 、 out对象 4.4 response、session、 application 、 4.5 application对象 out的作用以及使用方法 。
2. 重点:理解request、response和 session对象在Web设计中的重要性 。
3. 难点:学习使用 session对象,理解 session对象的生命周期 。
4. 关键实践:编写
JSP页面,使用session对象存储 有关数据 。
2013-4-2 1§4.1 request对象 HTTP是客户与服务器之间一种请求(request)信息与响应信息(response)的通信协议。
我们使用浏览器从网站获取HTML页面或
JSP页面时,遵守的就是HTTP。
HTTP规定了信息在Internet上的传输方法,特别规定了浏览器与服务器的交互方法。
HTTP协议被称为“请求和响应”协议。
2013-4-2 2 1 获取客户提交的信息 当用户请求一个
JSP页面时,
JSP页面所在的Tomcat服务器将用户的请求封装在内置对象request中。
那么,该对象调用相应的方法可以获取封装的信息,也就是说,使用该对象可以获取用户浏览器提交的请求信息,以便做出相应的响应。
request对象常用的方法是getParameterString s,该方法获取表单提交的信息。
内置对象request对象是实现了ServletRequest接口类的一个实例 。
2013-4-2 3【例4-1】 example4-1.
jsp 用户可以使用 example4_1.
jsp 提供的表单再次请求 example4_1.
jsp 页面,可以在表单提供的文本框中输入一个数字,并提交给 example4_1.
jsp 页面,该页面通过内置对象获取用户提交的数字,然后让一个Tag文件负责计算该数字的平方,并将计算结果返回给用户。
调用Computer.tag文件负责计算平方根 2013-4-2 4 Compter.tagCompter.tag0 double rMath.sqrtn out.printn的平方根: out.printr else out.print请输入一个正数 catchNumberFormatException e out.print请输入数字字符 2013-4-2 5 2 处理汉字信息 用request对象获取请求中的汉字字符信息时,可能会出现乱码问题,所以对含有汉字字符的信息必须进行特殊的处理方式。
可以使用两种方式避免出现汉字乱码问题,一种方式是在使用page指定contentType属性的值时,做如下指定:将其中出现的“Charset”中的首写字母大写(C为大写字母)。
另一种方式是 中出现的“charset”中的首写字母小写(c为小写字母),内置对象将获取信息重新编码,即用ISO-8859-1进行编码,并把编码存放到一个字节数组中,然后再把这个数组转化为字符串,如下所示:String strrequest.getParametergirlbyte bstr.getBytesISO-8859-1strnew Stringb 2013-4-2 6【例4-2】 example4-2.
jsp example4_2通过两个表单分别向showMessage1.
jsp和showMessage2.
jsp提交信息,showMessage1.
jsp和showMessage2.
jsp负责显示用户提交的信息,并分别使用上述两种不同的方式来避免汉字出现乱码。
2013-4-2 7 showMessage1.jspshowMessage1.
jsp获取文本框提交的信息: 获取按钮的名字:2013-4-2 8 showMessage2.jspshowMessage2.
jsp获取文本框提交的信息: 获取按钮的名字:2013-4-2 9 3 request对象的常用方法 getProtocol:获取请求使用的通信协议,如http/1.1等。
getServletPath:获取请求的
JSP页面所在的目录。
getContentLength:获取HTTP请求的长度。
getMethod:获取表单提交信息的方式,如POST或GET。
getHeaderString s:获取请求中头的值。
getHeaderNames:获取头名字的一个枚举。
getHeadersString s:获取头的全部值的一个枚举。
getRemoteAddr:获取客户的IP地址。
getRemoteHost:获取客户机的名称(如果获取不到,就获取 IP地址)。
getServerName:获取服务器的名称。
getServerPort:获取服务器的端口号。
getParameterNames:获取表单提交的信息体部分中name参数 值的一个枚举2013-4-2 10【例4-3】 example4-3.
jsp 部分代码 详细代码page45获取客户端提交的所有参数的名字:获取头名字的一个枚举:获取头文件中指定头名字的全部值的一个枚举: 2013-4-2 11§4.2 response对象 客户访问一个服务器的页面时,会提交一个HTTP请求,服务器收到请求后,返回HTTP响应。
响应与请求类似,也有某种结构,每个响应都由状态行开始,可以包含几个头和可能的信息体。
4.1节学习了用request对象获取客户请求提交的信息,与request对象相对应的对象是response内置对象。
response对象对客户的请求做出响应,向客户端发送数据。
2013-4-2 12 1 改变contentType属性的值 当一个客户请求访问一个
JSP页面时,如果该页面用page指令设置页面的contentType属性的值为text/html,那么response对象按照这种属性值做出响应,将页面的静态部分返回给客户。
由于page指令只能为contentType指定一个值,来决定响应的MIME类型,如果想动态地改变这个属性的值来响应客户,就需要让response 对 象 调 用 setContentTypeString s 方 法 来 改 变contentType的属性值: public void setContentTypeString s 当服务器用setContentType方法动态改变了contentType的属性值,即响应的MIME类型,并将
JSP页面的输出结果按照新的MIME类型返回给客户时,客户端要保证支持这种新的MIME类型。
2013-4-2 13 【例4-4】 example4-4.
jsp在学习response对象的setContentType方法将当前页面用MS-Word显示吗?将当前页面用MS-Powerpoint显示吗? 2013-4-2 14 2 设置响应的HTTP头 我们已经知道,当客户访问一个页面时,会提交一个HTTP头给服务器。
同样,响应也包括一些头。
response对象可以使用如下方法:addHeaderString headString valuesetHeaderString headString value动态添加新的响应头和头的值,将这些头发送给客户的浏览器。
如果添加的头已经存在,则先前的头被覆盖。
2013-4-2 15【例4-5】 example4-5.jspexample4_5.
jsp现在的时间是:2013-4-2 163 重定向 在某些情况下,当响应客户时,需要将客户重新引导至另一个页面。
例如,如果客户输入的表单信息不完整,就会再被引导到该表单的输入页面。
可以使用response的sendRedirectURL url方法实现客户的重定向。
2013-4-2 17【例4-6】 example4-6.jspexample4_6.
jsp填写style=''color:black;background-color:#ffff66''>jsp 2013-4-2 184 状态行当服务器对客户请求进行响应时,首先要发送的是状态行,然后发送HTTP头和信息体。
也就是说,状态行是响应的首行。
状态行包括3位数字的状态码和对状态代码的描述(称为原因短语)。
下面列出了5种状态码的大概描述。
1yy(1开头的3位数):主要是实验性质的。
2yy:表明请求成功。
如状态码200可以表明已成功取得了请求的页面。
3yy:表明在请求满足之前应采取进一步的行动。
4yy:当浏览器无法满足请求时,返回该状态码。
如404表示请求的页面不存在。
5yy:表示服务器出现问题。
如500说明服务器内部发生错误。
2013-4-2 19