JWB5: JSP内置对象简介

5.1 简介

​ 有一些对象在JSP页面里面不用声明与初始化,并且不是静态的,但可以直接使用。这些对象就称之为内置对象,至于是为啥呢,就是因为JSP转译城java文件时,java文件会自己创建这些对象,所以我们在JSP中可以不用声明。常用的内置对象有resquest 、response、session、application、out

5.2 request对象

5.2.1 简介:

​ requst对象那个里封装的是用户请求的信息,比如登陆密码,账号等参数。

5.2.2 表单请求:

<form  action="路径"  method="get/post">
    <input>
</form>

action的值是资源路径,不管是servlet还是jsp,都有自己的路径。

5.2.3 request中文转码:

String s1 = request.getParameter("...");
byte[] b = s1.getBytes("字符集编码");		//ISO-8859-1、utf8、gb2312等
s1 = new String(b);
上面是将request请求里的中文,以指定字符集编码格式从字符串解码回字节。假设原本的文字是utf8的,但是你解码回字节的时候,指定的字符集编码并不是utf8,并且重新把自己转换为字符,可能会乱码。
    
但是一般,我们都是用:
request.setCharacterEncoding("字符集编码");

5.2.5 常用方法

方法名作用备注
getProtocol()获取请求所使用的协议
getServletPath()获取用户请求的Servlet的路径
getContentPath()获取当前web目录的服务目录,就是web根目录在前端表单提交中,action=“${request.getContentPath}/…”
getRemoteAddr()获取用户的IP
getRemoteHost()获取主机的名字,获取失败则返回IP
getServletName()获取服务器的名称
getServletPort()获取服务器的端口号

5.2.6 input标记

名字语法备注
文本框
单选框
复选框
密码框
隐藏输入主要是为了传参数
提交键
重置键

5.3 response对象

5.3.1 简介

​ 前面提到的request是客户端请求,说白了就是给服务器发条消息。但是人家服务器也得回你消息啊,所以有了response对象。

5.3.2 contentType属性

简介: 服务器给客户端回消息,并不只是单纯地回一个文字,可能回了网页、图片什么的,因此我们可以动态设置响应的类型:response.setContentType(“参数”);

参数值: text/html、text/plain、image/gif等。

5.3.3 设置头文件

简介: 主要就是给网页传一些值,比如,多久自动刷新、时间、时间、编码、是否缓存等。

语法: response.setHeader(String head,String value);

例子:

Host: ilxdh.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1
If-Modified-Since: Tue, 22 Jun 2021 14:21:53 GMT
If-None-Match: W/"60d1f201-1f74"
Cache-Control: max-age=0, no-cache
Pragma: no-cache

5.3.4重定向

简介: 就是页面跳转

语法: response.sendRedirect(“目标页面”);

响应状态码:

  • 1xx:主要是实验性质的
  • 2xx:用来表明请求成功的,例如,状态代码200可以表明已成功取得了请求的页面
  • 3yy:用来表明在请求满足之前应采取进一步的行动。
  • 4yy:当浏览器做出无法满足的请求时,返回该状态代码,例如404表示请求的页面不存在
  • 5yy:用来表示服务器出现问题。例如,500说明服务器内部发生错误。

5.4 Session对象

5.4.1 简介

​ Http协议是无状态的协议,当客户端发出请求,服务器响应了,然后就没了,服务器并不会保留连接信息。每次的请求响应都是新的,这并不是能否区分两个不同的用户,而是根本就识别不了用户。假设一个网页里有两个请求,用户点了一个请求,然后又点了另一个,在用户看来这是自己一个人的行为。但是,在服务器看来,这是两个全新的请求,它根本就不知道是同一个人点的。**因此,tomcat使用了内置对象Session来记录连接信息。**说白了,就是服务器上,为每个用户开辟了一点点小空间。

5.4.2 SessionID

简介: SessionID是一个字符串,每个用户独立拥有,并且唯一。当客户访问服务器上的JSP或者Servlet时,服务器便会为客户创建一个session,并且以cookie的形式,把seesionID传回客户端,也就是浏览器。而每一次请求,又都会带着这个ID,于是服务器就知道了谁是谁。

5.4.5 Session对象存储数据

语法:

session.setAttribute(String key,Object value);			//存入数据

session.getAttribute(String key,Object value);			//获得数据

session.removeAttribute(String key);					//移除数据

用处: 我们可以把用户实体类存入Session,用来判断用户当前的登录状态。或者我们把购物车临时存在session里面,毕竟反复对象数据库,服务器压力大。

5.5 application对象

5.5.1 简介

​ 跟Session差不多,都是在服务器上面开辟了一个空间,但是这一次并不会因为客户不同而不同,同一个Web服务目录,共享application对象。就好比,可以不适用数据库,也可以建一个临时的留言板,反正大家都看得见。

5.5.2 语法

session.setAttribute(String key,Object value);			//存入数据

session.getAttribute(String key,Object value);			//获得数据

session.removeAttribute(String key);					//移除数据

5.6 out对象

5.6.1 简介

​ 一个输出流,用于给客户端输出数据。

5.6.2 常用方法

out.print(char)
out.println(char)
out.newLine()
out.flush()

内容并不完整,有空补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值