JSP(二)--九大内置对象/4大范围对比/验证码/重定向

JSP的九大内置对象1.JSP内置对象:就是不用自己定义,直接拿来使用的对象。2.内置对象一共有9个,可以在web服务器解析jsp后得到的java源文件中看到。 例如,有一个jsp页面如下: 访问该jsp页面后,会生成一个java源文件,如下:为了生成第九个内置对象,我们需要修改index.jsp:再次查看java源文件:注意: (1)exception内置对象,需要在jsp文件中添加:<%@
摘要由CSDN通过智能技术生成

JSP的九大内置对象

1.JSP内置对象:就是不用自己定义,直接拿来使用的对象。

2.内置对象一共有9个,可以在web服务器解析jsp后得到的java源文件中看到。
例如,有一个jsp页面如下:
这里写图片描述

访问该jsp页面后,会生成一个java源文件,如下:

这里写图片描述

为了生成第九个内置对象,我们需要修改index.jsp:

这里写图片描述

再次查看java源文件:

这里写图片描述

注意
(1)exception内置对象,需要在jsp文件中添加:<%@page isErrorPage="true"%> 才能在java源文件中看到它。
(2)这9大内置对象,只能在jsp页面中使用。
(3)在jsp文件的第一行所写的代码,会出现在java源文件的内置对象定义之后,所以整个jsp页面,都能访问任何内置对象。

3.JSP九大内置对象
pageContext
request
session
application
response
out
exception
page
config


request内置对象

1.通过http协议我们可以知道一个浏览器向服务器发起请求的时候,一共会发出以下信息:
(1)请求行
(2)请求头
(3)请求体
a)如果请求方式是post,且有参数,那么参数就在请求体里面。
地址栏上看不见参数
b)如果请求方式是get,且有参数,那么参数就是url后面,用?隔开。
例如:http://localhost:8080/kk/index.jsp?a=111&b=222

2.客户端发送给服务器的所有数据,所有信息,都会被封装在request内置对象中,也就是说,请求行+请求头+请求体–>request

这里写图片描述

3.学习request就是学习HttpServletRequest类的方法:

这里写图片描述
这里写图片描述

4.编码和解码复习:
编码:字符–>对应的数字
解码:数字–>对应的字符

这里写图片描述

5.有的时候,jsp提交的中文,在request获取以后,变成乱码了:
(1)当客户端提交表单数据的时候,不是直接把input框中的字符轮廓发送给服务器,而是把input框中的字符编码成对应的数字,浏览器在对input框中的字符编码时,查询的是当时设置里选中的那个码表utf-8。
(2)服务器在接收到客户端传来的数字后,就会解码,在request.getParameter("name"); 这个方法的内部,就会自动解码,request的码表如果没有设置,就是null,则web服务器会默认使用iso-8859-1码表来解码。此时编码用的是utf-8,解码用的是iso-8859-1,所以得到的就是乱码。

6.解决中文乱码问题方法1

这里写图片描述

解决中文乱码问题方法2

这里写图片描述

方法2结论
(1)表单提交方式必须是post;
(2)request.setCharacterEncoding("编码表名");

第二种用的比较多,因为方便。
以后制作表单,method必须给成post。

解决中文乱码问题用到了request的两个方法:

request.setCharacterEncoding();
request.getCharacterEncoding();

7.request获取所有请求参数的名字集合的方法:

这里写图片描述

8.request的方法:

request.setAttribute(String key,Object value)在request范围中设置一个属性
request.getAttribute(String key)从request范围中获取一个属性。
(request范围参见后面重定向部分request生命周期图)
注意
在一个请求范围内设置的属性,在同一个请求范围内能获取,在另外一个新请求范围中不能获取。


response内置对象

1.response内置对象:响应内置对象。

2.我们知道,客户端传递给服务器的数据,都被封装进request内置对象中了;反过来,服务器发送给客户端的所有数据,都会被先封装进response对象中,再从response中取出来,制作一个http响应。

3.response的方法
getWriter();用于获

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值