Javaweb 服务

Cookie:

  • 会话:浏览器和服务器之间的多次请求和响应,为了实现一些功能,浏览器可能会产生多次请求和响应,多次响应加在一起就称之为浏览器和服务器之间的一次会话

  • 会话过程中产生的一些数据,可以通过会话技术(Cookie和Session保存)。

  • Cokkie:客服端会话管理技术,把要共享的数据保存到客户端,每次请求时,把会话信息带到服务器端,从而实现多次请求的数据共享

属性名

作用

是否必须

private String name;

名称

必须

private String value;

必须

private String domain;

域名

重要

private String path;

路径

重要

private int maxAge = -1;

存活时间

重要

private int version = 0;

版本号

不重要

private String comment;

描述

不重要

Cokkie 方法 :

addCookie(Cookie cookie) 向客户端添加Cookie

getCookie() 获取所有Cookie

Cokkie 的细节:

  • 数量限制:每个网站最多只能有20个Cookie,且大小不能超过4kb。所有网站的Cookie总数不能超过300个。

  • 名称限制:Cokkie的名称只能包ASCCI码表中的字母丶数字字符。不帮韩逗号丶分号丶空格,不能以$开头Cokkie的值不支持中文

  • 存活时间限制 setMaxAge()方法接受数字

负整数:当前会话有效,浏览器关闭则清除

0:立即清除。

正整数:以秒为单位设置时间

  • 访问路径限制

默认路径:取自第一次访问的资源路径前缀。只要以这个路径开头就能访问。

设置路径:setPath()方法设置指定路径

Session:

HttpSession:服务器端会话管理技术,本质也是采用客户端会话管理技术

域对象

功能

作用

ServletContext

应用域

在整个应用之间实现数据共享

ServletRequest

请求域

在当前的请求或转发之间实现数据共享

HttpSession

会话域

在当前会话范围之间实现数据共享

返回值

方法名

说明

void

setAttribute(String name,Object value)

设置共享数据

Object

get Attribute(String name)

获取共享数据

void

removeAttribute(String name)

移除共享数据

String

getId()

获取唯一标识名称

void

Invalidate()

让session立即失效

HttpSession

getSession()

获取HttpSession对象

HttpSession

getSession(bolean create)

获取HttpSession对象,未获取到的自动创建

JSP:

  • JSP是一种动态网页技术标准

  • JSP部署在服务器上,可以处理客户端发送的请求,并根据请求内容动态生成HTML XML 或其他格式的文档的Web网页,然后再响应给客户端

Javaweb 服务_第1张图片
  • JSP 的九大隐式对象(不需要创建就可以使用) request,response,session,application,page,config(配置对象),exception(异常对象),out,pageContext(页面域对象)(pageContext最特殊,也可以获取其他八大隐式对象)

四大域对象:

域对象名称

范围

级别

备注

PageContext

页面范围

最小,只能在当前页面使用

因范围很小,开发中用的很少

ServletRequest

请求范围

一次请求或当前请求转发用

请求转发之后再次转发时请求域丢失

HttpSession

会话范围

多次请求数据共享时使用

多次请求共享数据但不同的客户端不能共享

ServletContext

应用范围

最大,整个应用都可以使用

尽量少用,如果对数据有修改需要做同步处理

  • MVC模型

M: 模型,用于封装数,封装的是数据模型!

V: 视图。拥有显示数据,动态资源用JSP页面,静态资源用HTML页面

C: 控制器。用于处理请求和响应,例如Servlet

JSTL:

  • JSTL 主要用这些标签来取代JSP页面上的Java代码,从而提高程序的可读性,降低程序的维护难度

  • JSTL核心标签库

标签名称

功能分类

属性

作用

<标签名:if>

流程控制

核心标签库

用于条件判断

<标签名:choose>

<标签名:when>

<标签名:otherwise>

流程控制

核心标签库

用于多条件判断

<标签名:forEach>

迭代遍历

核心标签库

用于循环遍历

Filter:

filter:过滤器 (登录验证,统一编码处理,敏感字符过滤)

FilterChain介绍:

  • FilterChain是一个接口,由Servlet容器提供实现类对象,直接使用即可

  • 过滤器可以定义多个,就会组成过滤器链

  • 核心方法 :void doFilter(ServletRequest request,ServletResponse reponse)作用:放行非法

Listener:

Listener:监听器 (观察者设计模式)

  • 三个组成部分

事件源:触发事件的对象

事件:触发的动作,封装了事件源

监听器:当事件源触发事件后,可以完成功能

  • 在程序中,我们可以对:对象的创建销毁丶域对象中属性的变化.丶会话相关内容进行监听

八大监听器:

  1. ServletContextListener:用于监听ServletContext对象的创建和销毁

contextlnitialized(ServletContextEvent sce) 对象创建时执行该方法

contextDestoryed(ServletContextEvent sce) 对象销毁时执行该方法

  1. HttpSessionListener:用于监听HttpSession对象的创建和销毁

sessionCreated(HttpSessionEvent se) 对象创建时执行该方法

sessionDestoryed(HttpSessionEvent se) 对象销毁时执行该方法

  1. ServletRequestListener 用于监听ServletRequest对象的创建和销毁

requestlnitialized(ServletRequestEvent sre) 对象创建时执行该方法

requestDestoryed(ServletRequestEvent sre) 对象销毁时执行该方法

  1. ServletContextAttributeListener:用于监听ServletContext应用域中属性的变化

attributeAdded(ServletContextAttributeEvent scae)域中添加属性时执行该方法

attributeRemoved(ServletContextAttributeEvent scae)域中移除属性时执行该方法

attributeReplaced(ServletContextAttributeEvent scae)域中替换属性时执行该方法

  1. HttpSessionAttributeListener:用于监听HttpSession会话域中属性的变化

attributeAdded(HttpSessionBindingEvent se)域中添加属性时执行该方法

attributeRemoved(HttpSessionBindingEvent se)域中移除属性时执行该方法

attributeReplaced(HttpSessionBindingEvent se)域中替换属性时执行该方法

6.ServletRequestAttributeListener:用于监听ServletRequest请求域中属性的变化

attributeAdded(ServletRequestAttributeEvent srae)域中添加属性时执行该方法

attributeRemoved(ServletRequesttAttributeEvent srae)域中移除属性时执行该方法

attributeReplaced(ServletRequestAttributeEvent srae)域中替换属性时执行该方法

7.HttpSessionBindingListener:用于感知对象和会话域绑定的监听器

valueBound(HttpSessionBindingEvent)数据添加到会话域中(绑定)时执行该方法

valueUnBound(HttpSessionBindingEvent)数据从会话域中 删除(解绑)时执行该方法

8.HttpSessionActivationListener:用于感知会话域中对象钝化和活化的监听器

sessionWillPassivate(HttpSessionEvent se)会话域中数据钝化时执行该方法

sessionDidActivate(HttpSessionEvent se)会话域中数据活化时执行该方法

你可能感兴趣的:(java,前端,http)