5、Jsp内置对象

1、out:输出对象,向客户端输出内容、

2、request:请求对象,存储"客户端向服务端发送请求的消息"

 request对象常见的方法:
i、String getParameter(String name):根据请求字段名key,返回字段值value、
i、String[] getParameterValues(String name):根据请求的字段名key,返回多个字段值                                                                                     value(checkbox)
i、void setCharacterEncoding("UTF-8"):设置请求编码、
i、getRequestDispatcher("xxx.jsp").forward(request,response):请求转发的方式跳转页面:a.jsp-->b.jsp
i、ServletContext  getServerContext():获取项目的ServletContext对象

3、response:响应对象

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

4、session:会话

session机制
i、客户端第一次访问服务端时,Cookie中jseesionid与session中的sessionid进行匹配,由于是第一次访问,cookie,session都不存在,服务端就会产生一个session对象,用于保存用户的信息,并且session对象会产生一个唯一的sessionid,用于区别其他session对象,服务端也产生一个cookie,该cookie的name=JSESSIONID,value=sessionid;服务端会在响应客户端的同时,将该cookie发送给客户端,客户端的获取cookie后就会存在jesssionid,value=seesionid。故,客户端的cookie与服务端的session就会形成一一对应关系,当客户端第二次或更多次请求服务端时,服务端会用客户端cookie中的jsessionid与session中的sessionid进行匹配,若成功匹配,说明该用户不是第一次登录,就不用登录,直接访问。

i、session的特性
      ii、session储存在服务端
      ii、session是在同一个用户请求时共享
i、sesseion的方法
      ii、String getId();  获取sessionId
      ii、boolean isNew();判断是否是第一次访问
      ii、void invalidate();使session失效
      ii、void setAttribute()/ object getAttribute();自定义session保存的值
      ii、void setMaxInactiveInterval(); 单位:秒 设置最大有效非活动时间。
      ii、void setMaxInactiveInterval(); 单位:秒 获取最大有效非活动时间。

5、appliation(全局对象)

  i、方法
      ii、String getContextPath(); 虚拟路径
      ii、String getRealPath(); 绝对路径

6、 pageConext Jsp的页面容器

7、config 配置对象(服务器的配置信息)

8、page 当前jsp的页面对象,可以理解成java中的this

9、exception 异常对象

Get与Post的区别

i、Get请求的参数是放在URL里的,Post请求参数是放在请求body里的,Post相对于Get安全性更高;
i、Get请求的URL传参有长度限制(地址栏容量有限,一般为4-5k),而Post请求没有长度限制(文件、图片等上传必须用Post);
i、Get请求的参数只能是ASCII码,所以中文需要URL编码,而Post请求传参没有这个限制;

Tomcat7中文转码

 i、由于Tomcat7默认的编码为:iso-8859-1,所以后台在接收中文参数时,要对其进行转码。

第一种方式(不推荐):

    String name=request.getParameter("uname");
    name=new String(name.getBytes("iso-8859-1"),"utf-8")

第二种:修改Tomcat配置文件中的编码

请求转发与重定向的区别

i、请求转发地址栏不发生改变,重定向地址栏发生改变
i、请求转发保留第一次请求时的数据,重定向不保留第一次的请求时的数据
i、请求转发的请求服务器的次数为1,重定向的请求服务器的次数为2
i、请求转发发生跳转的位置在服务端,重定向发生跳转的位置是客户端第二次请求

Cookie(不是内置对象)

Cookie由服务端生成的,再发送给客户端保存,相当于本地缓存的作用
作用:提高访问服务端的效率,但安全性较差
Cookie(javax.servlet.http.Cookie):key:value(键值对)
方法:
public Cookie(String name,String value);构造方法
String getName();获取name
String getValue();获取value
void setMaxAge(int expiry);最大有效期(秒)
  i、服务端准备Cookie:response.addCookie(Cookie cookie);
  i、页面跳转(转发、重定向)
  i、客户端获取Cookie:request.getCookies();
  i、服务端增加cookie:response对象,客户端获取cookie对象:request对象
  i、不能直接获取某一个单独的对象,只能一次性获取所有cookie

session与cookie的区别

i、session保存在服务端,cookie保存在客户端
i、由于session保存在服务端,cookie保存在客户端,故session的安全性比cookie更好
i、session保存的是对象(object),cookie保存的是字符串(String)

你可能感兴趣的:(5、Jsp内置对象)