equest,response,session,cookie,application
equest,response,session,cookie,application
A:request
客服端向服务器端请求
JAVA讲究封装,所以Request也是某个东西的封装,到底是什么东西呢?
按字面意思:请求!
从Http协议说起,当你发一个请求到服务端的时候,你会把一些信息交给服务器,比如你的语言,session-id等基本信息,然后再加上比如你提交表单时填上的数据。。。。。
所有所有这些数据,进入服务端后全被封装在Request里了,所以你可以在Request里很方便地获取到各种信息了
B:response
服务端响应请求,返回给用户(客服端,浏览器)
1解决中文乱码
request.setCharacterEncoding("");-----解决中文乱码
---------从a页面向b页面传递数据时,防止传递的数据是乱码
response.setContentType();------解决中文乱码
---------从a页面向b页面跳转,防止b页面中文乱码
2 转向页面
response.sendRedirect();------重定向
request.getRequestDispactcher().forword();---转发
转向区别:
1.前面慢,后者快
2.前面无法读取request.setAttribute()所保存的数值,而后者(request)可以读取
3.前者地址栏显示真正转向后的地址,而后者显示的是转向前的地址
4.前者,转向地址开始的"/",表示的是本机的根目录;而后者,"/"表示的是应用的根目录
3.获取值
request.getparameter("title") ;是拿表单的值 (上个页面)
和request.getAttrebute("name") ; (后者获取request.setAttribute()的值)不一样的 要注意区分
客服端(A)--(request)-》》服务端(B)(跳转)---(request)-》》另一个页面(C){这两个request不一样,c不能request.getAttrebute(a里的值)}
除非,在服务端(b中)reques.getRequestDispatcher(“指定页面c”).forward(request,response);
c才能request.getAttrebute(a里的值);
{解释:把a向b的request打包,作为一个总的参数传递给c页面,即:a向b的请求,b给a的响应,定向给c页面}
jsp内置对象,是servlet中的类,然后实例化。所以你可以直接(在jsp和servlet中)拿来用
在Struts中:
HttpServletRequest request=ServletActionContext.getRequest();
HttpServletResponse response=ServletActionContext.getResponse();
Map<String, Object> session=ActionContext.getContext().getSession();
一:会话session
存在服务器端,关闭浏览器就消失。
session.setAttribute("名",对象)
getAttribute("对象名")
可用来登录时显示用户名
在servlet中不能直接拿来用
HttpSession session = request.getSession();
session.setAttribute("User", us);
二:持久化(硬盘中)cookie
存在客服端
A:
Cookie cook=new Cookie("名字",值(字符串,不是对象))
{
User us=new User();
us.setPassword(strpwd);
us.setUsername(strna);
Cookie cook=new Cookie("loginuser",URLEncoder.encode( us.getUsername()));
}
cook.setMaxAge(365*24*60*60);过期时间
response.addCookie(cook);
B:
String uid="";
Cookie[] cooks=request.getCookies();
if(cooks!=null){
for(int i=0;i<cooks.length;i++){
if(cooks[i].getName().equals("loginuser")){
uid=URLDecoder.decode(cooks[i].getValue());
}
}
}
println(“uid”);显示用户名
在servlet中(不能)直接用,要引入包import javax.servlet.http.Cookie;
三:全局application
在servlet中不能直接用
ServletContext application = this.getServletContext();
存在服务器端(服务器一般不停止,如果要停止就存在数据库,启动后在从数据库取出)
计算访问数,在线人数
它存在于服务器的内存空间中,服务器一旦启动,就会自动产生一个application对象,除非服务器被关闭,否则这个application对象将一直保持下去。在application对象的生命周期中,在当前服务器上运行的每一个JSP程序都可以任意存取和这个application对象绑定的参数(或者Java对象)的值。
在JSP服务器的运行过程中,仅有一个application对象,application对象是由服务器创建的,由服务器自动清除它,不能被用户创建,用户也不能清除application对象,我们只能创建这个application对象的同步副本。application就是由JSP引擎自动创建的第一个application对象的同步副本(默认)。特别需要注意的是这些副本是同步的,任何一个副本上发生的变化都会影响到其他的副本(用session限制)。
1.setAttribute(String name, Object object)
2.getAttribute(String name)
{ //不用先setAttribute()再get后使用,如果没有(count这个属性名),则ocount主动判为空
Object ocount= application.getAttribute("count");
if(ocount==null){
application.setAttribute("count",1);
}
else{
application.setAttribute("count",1+(Integer)ocount);
}
。。。。。。。。。。。。。。。。。。。。。。。。。
int ocount=(Integer)application.getAttribute("count");
print(ocount);第几次访问
}
3.removeAttribute()
getAttributeNames()返回所有与当前application对象绑定在一起的参数或者Java对象的名字;这个方法的返回值是一个枚举对象(Enumeration)。
getServerInfo()该方法可以获得当前服务器的详细信息
log(String msg)该方法用于往服务器的log文件中写入信息;我们可以在log文件中记录访问者的信息,这对于统计访问流量来源方面十分有用,同时也便于管理员监控网站的运行情况,还可以将JSP程序执行过程中所发生的错误事件都记入log文件中
equest,response,session,cookie,application相关推荐
- Js读取Cookie中指定字段的值,Js中读取某个Cookie,Js中根据Cookie的key得到对应的value,Js正则表达式匹配指定的Cookie
Js中想要读取Cookie中指定字段的值,可以遍历Cookie根据指定Key提取Cookie,或者使用正则表达式匹配Cookie,代码如下: /*** @description: 遍历cookie得到 ...
- apache 设置session超时时间_深入分析 Session 和 Cookie,看这篇就对了
点击上方 "程序员小乐"关注, 星标或置顶一起成长 第一时间与你相约 每日英文 Promise yourself to be so strong that nothing can ...
- 以微信公众号爬虫为例,谈谈对session、cookie和token认证的理解
为什么需要这些认证 我们通过浏览器访问多数网站,本质上都可以理解为客户端(用户)和服务端(网站)之间的一次遵循http协议的请求和应答,比如:把a页面给我(返回a.html),删除b图片(删除b.jp ...
- 【转】session和cookie详解
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...
- java 会话跟踪技术_JavaEE基础(04):会话跟踪技术,Session和Cookie详解
一.会话跟踪 1.场景描述 比如登录某个购物网站,身份识别成功后,在网站下单,支付 等操作,这些操作中当前登录用户信息必须是共享的,这样这些操作结果才能和登录用户做关联. 2.概念简介 可以把会话理解 ...
- JavaEE基础(04):会话跟踪技术,Session和Cookie详解
本文源码:GitHub·点这里 || GitEE·点这里 一.会话跟踪 1.场景描述 比如登录某个购物网站,身份识别成功后,在网站下单,支付 等操作,这些操作中当前登录用户信息必须是共享的,这样这些操 ...
- nodejs的koa中cookie和session的使用,cookie和session的区别
1.cookie是存储于访问者的计算机中的数据,用于同一浏览器访问同一域的时候共享数据 2.HTTP是无状态协议.也就是说:当你浏览了一个页面,然后跳转到同一个网站的另一个页面,服务器无法认识到这是同 ...
- 【全栈接口测试进阶系列教程】精通api接口测试,接口分类,接口架构,http,webservice,dubbo接口协议,接口流程,接口工具,cookie,session,token接口鉴权原理以及实战
目录 一,[什么是接口测试?为什么要作接口测试] 1.接口的作用 2.为什么要做接口测试 3.接口都有哪些类型? 二,[接口测试的分类] 接口的分类: http和webservice接口区别: 三,[ ...
- nodeJS学习之旅-----session的使用,cookie,webstorage的理解
一,session简介 session是另一种记录客户状态的机制,cookie保存在客户端,session保存在服务器 session运行在服务器,客户端第一次访问服务器时,就可以将客户的登录信息保存 ...
- 会话跟踪技术,Session和Cookie详解
知识的广度来自知识的深度,学习如果不成体系那是多可怕的一件事儿,希望我们在未来的学习道路上坚守初心,不要给自己留下遗憾,以自己喜欢的方式生活,做自己喜欢做的事,宠爱自己,做一个独一无二的自己! 对于文 ...
最新文章
- 换个角度聊系统稳定性建设
- 【Mongodb】 Replica set的自动故障切换
- YBTOJ:前缀询问(trie树)
- 论文遇到的格式问题和修正方式
- redis延迟队列 实现_灵感来袭,基于Redis的分布式延迟队列
- 【操作系统】大内核和微内核的比较
- MongoDB 复制集的选举原理
- 黑马程序员--C语言基础之--sizeof()运算符的使用以及注意
- 电脑删除文件需要管理员权限怎么办
- 三级IP地址的子网划分
- mongooes怎么链接mysql_如何使用Node + Mongoose连接远程MongoDB数据库
- SQL Server 设计开发系列(文章索引)
- DWG格式怎样转换成DXF、DWF格式呢?
- 开源一套DUI控件源码
- Java调用高德API接口
- 爬虫:Iron WebScraper 2022 for NET
- RFC 822 中文版 MIME解析基础(4)(第5-6也)
- 深信服2018年实习生校园招聘总结
- A股股票列表下载——从零到实盘2
- VIDEO-DXGKRNL-FATAL-ERROR