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文件中

request,response,session,cookie,application的更多相关文章

  1. 为什么说session依赖cookie,以及cookie的常用知识

    session的用法 session在Flask中通常用做设置某些页面的权限,比如某些页面必须要登录才可以看到,登录的信息或标志就放到session中.它的使用过程如下: 在整个flask工程的启动文 ...

  2. session依赖cookie,如果浏览器禁用了cookie呢?

    我们都知道session依赖cookie,因为服务器需要在每次请求中获取sessionId,然后找到客户端的session对象,如果浏览器禁用了cookie呢? 这个时候,就需要用到URL重写了,这种 ...

  3. JMeter Ant Task 生成的*.jtl打开之后request和response data是空的,怎样让其不是空的呢?

    JMeter Ant Task 生成的*.jtl打开之后request和response data是空的,怎样让其不是空的呢?修改JMeter.properties,将jmeter.save.save ...

  4. @ModelAttribute设置request、response、session对象

    利用spring web提供的@ModelAttribute注解 放在类方法的参数前面表示引用Model中的数据 @ModelAttribute放在类方法上面则表示该Action类中的每个请求调用之前 ...

  5. 【2017-05-21】WebForm内置对象:Session、Cookie,登录和状态保持

    1.Request -获取请求对象 string s =Request["key"]; 2.Response  -  响应请求对象 Response.Redirect(" ...

  6. WebForm内置对象:Session、Cookie,登录和状态保持

    1.Request -获取请求对象 string s =Request["key"]; 2.Response  -  响应请求对象 Response.Redirect(" ...

  7. Session和Cookie,以及用户登录验证问题。

    参考 :https://blog.csdn.net/u010002184/article/details/79416199 https://www.bbsmax.com/A/RnJW72YJqY/ 首 ...

  8. Session和Cookie,Django的自动登录机制

    什么是Cookie? Cookie是浏览器的本地存储机制,存储服务器返回的各种信息,下次发起请求时再发送给服务端,比如访问baidu 什么是Session? 刚才说道,Cookie存储服务端返回的信息 ...

  9. 【荐】PHP Session和Cookie,Session阻塞,Session垃圾回收,Redis共享Session,不推荐Memcached保存Session

    什么是 Session 在 web 应用开发中,Session 被称为会话.主要被用于保存某个访问者的数据. 由于 HTTP 无状态的特点,服务端是不会记住客户端的,对服务端来说,每一个请求都是全新的 ...

  10. 第一百八十七节,jQuery,知问前端--cookie 插件,注册成功后生成cookie,显示登录状态

    jQuery,知问前端--cookie 插件 学习要点: 1.使用 cookie 插件 2.注册直接登录 Cookie 是网站用来在客户端保存识别用户的一种小文件.一般来用库可以保存用户登 录信息.购 ...

随机推荐

  1. hihoCoder #1151 : 骨牌覆盖问题·二 (矩阵快速幂,DP)

    题意:给一个3*n的矩阵,要求用1*2的骨牌来填满,有多少种方案? 思路: 官网题解用的仍然是矩阵快速幂的方式.复杂度O(logn*83). 这样做需要构造一个23*23的矩阵,这个矩阵自乘n-1次, ...

  2. 00_HTTP协议介绍

    1. 什么是HTTP协议 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到 ...

  3. python基础一 day14 复习

    迭代器和生成器迭代器:双下方法 : 很少直接调用的方法.一般情况下,是通过其他语法触发的可迭代的 —— 可迭代协议 含有__iter__的方法('__iter__' in dir(数据))可迭代的一定 ...

  4. 【Codeforces #228】Solutions

    http://codeforces.com/contest/389 重新把号刷到Div 1 准备ACM?(我这么菜还是玩玩算了……) 官方题解出的很快 Div2 A: 怎么做都行……随便找俩数减就可以 ...

  5. UISearchBar的使用

    searchBar = [[UISearchBar alloc] initWithFrame: CGRectMake(0.0, 0.0, self.view.bounds.size.width, 40 ...

  6. Clover KextsToPatch 使用方法 2015.10.21

    Clover KextsToPatch 使用方法 2015.10.21   前些天,因为 Thinkpad X230 BIOS 白名单限制,给她换了一块 ar9285 无线网卡,只是因为这块网卡正好可 ...

  7. Python学习笔记2(序列)

    元组不可变序列 tuple函数 总结 字符串 基本字符串的操作 字符串格式化 字符串方法 find join lower replace split strip translate 小结 元组:不可变 ...

  8. CSS3-文本-text-shadow

    一.text-shadow 语法: text-shadow : none | <length> none | [<shadow>, ] * <shadow> 或no ...

  9. C++代码学习之一:组合模式例子

    #include"AbstractFile.h" void AbstractFile::add(AbstractFile*) { } void AbstractFile::remo ...

  10. HDU 2476 区间DP String painter

    题解 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm ...