jsp九大内置对象

一、pageContext对象

二、request对象 请求对象 (client)

存储 “客户端向服务端发送的请求信息”

request对象的常见方法:

方法说明
String getParameter(String name)根据请求的字段名key (input标签的name属性值) ,返回字段值value (input标签的value属性值)
String[] getParameterValues(String name):根据请求的字段名key ,返回多个字段值value (checkbox)
void setCharacterEncoding(“编码格式utf-8”)设置post方式的请求编码 (tomcat7以前默认iso-8859-1,tomcat8以后改为了utf-8)
getRequestDispatcher(“b.jsp”).forward(request,response) ;请求转发 跳转页面 A - > B
ServletContext getServerContext()获取项目的ServletContext对象

使用getParameter()时要可能会出现编码问题,解决方法如下:

  • 对于get的提交方式

    • 方法1(不推荐)

      String name = request.getParameter("boy");
      name = new String(name.getBytes("ISO-8859-1"),"utf-8");
      
    • 方法2

      修改server.xml ,一次性的 更改tomcat默认get提交方式的编码 (utf-8)
      
  • 对于post的提交方式

    request.setCharacterEncoding("utf-8");
    

三、response 响应对象 (server)

提供的方法:

void addCookie( Cookie cookie );服务端向客户端增加cookie对象
void sendRedirect(String location ) throws IOException;页面跳转的一种方式(重定向)
void setContetType(String type)设置服务端响应的编码(设置服务端的contentType类型)

请求转发与重定向

请求转发重定向
地址栏是否改变不变改变
是否保留第一次请求时的数据保留不保留
请求的次数12
跳转发生的位置服务端客户端发出的第二次跳转

四、session 对象 (server)

session: 会话

常见场景:

a.浏览网站:开始-关闭
b.购物: 浏览、付款、退出
c.电子邮件:浏览、写邮件、退出

session机制:

客户端第一次请求服务端时,出现以下行为:

  • 服务端会产生一个session对象(用于保存该客户的信息);

    • 并且每个session对象 都会有一个唯一的 sessionId( 用于区分其他session);
  • 服务端会产生一个cookie,并且该cookie的name=JSESSIONID ,value=服务端sessionId的值;

    • 然后 服务端会在 响应客户端的同时 将该cookie发送给客户端,至此 客户端就有了 一个cookie(JSESSIONID);

因此,客户端的cookie就可以和服务端的session一一对应(JSESSIONID - sessionID)

客户端第二/n次请求服务端时:服务端会先用客户端cookie种的JSESSIONID 去服务端的session中匹配sessionid,如果匹配成功(cookie jsessionid和sesion sessionid),说明此用户 不是第一次访问,无需登录;

提供的方法:

方法说明
String getId()获取sessionId
boolean isNew()判断是否是 新用户(第一次访问)
void invalidate()使session失效 (退出登录、注销)
void setAttribute()
Object getAttribute()
void setMaxInactiveInterval(秒)设置最大有效 非活动时间
int getMaxInactiveInterval()获取最大有效 非活动时间

五、Application对象

  • 服务器启动后自动产生
  • 所有客户共享这个内置的Application对象。

六、out对象

用来向客户端输出数据。

七、config对象

八、page对象

九、exception对象

在处理异常的网页中可以直接访问exception隐式对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值