javaweb总结笔记

1.servlet

servlet是运行在服务端的小程序.是sun公司提供的一套规范,用来处理客户端请求,响应给浏览器的动态资源.
servlet是javaWeb三大组件之一,sevlet,filter,listener

servlet生命周期

  1. 创建: 用户第一次访问servlet创建servlet的实例.
  2. 销毁: 当项目从服务器移除,或服务器关闭的时候

servletContext

每次在服务器上部署一个项目时,系统会自动的创建一个ServletContext对象,这个对象时整个项目共同拥有.

  • 实现多个Servlet之间数据的数据的共享
  • 获取服务器上自定文件资源的信息
    a:可以获取服务器资源文件的绝对路径
    context.getRealPath(path);
    b:可以直接获取服务器上资源文件的字节流
    context.getResourceAsStream(path)
  • 获取Web项目web.xml中的初始化参数
    g
   getInitParameter(name);

2.cookie & session

  • 用户打开一个浏览器访问页面,访问网站的很多页面,
    访问完成后将浏览器关闭的过程称为是一次会话.

cookie是一种会话技术,用来进行数据传递/数据共享

  • 服务端
    生成cookie,发送到客户端
    负责解析浏览器传送的cookie

  • 浏览器端
    负责保存cookie
    负责将cookie传递给服务器

  • cookie使用注意
    常用场景 - 7天内自动登录 将用户名密码保存到cookie中
    - 历史记录 将浏览商品id保存到cookie中
    - 购物信息 将商品信息保存到cookie中
    cookie使用是有上限的:一个站点最多存放20个cookie,单个cookie最大不能超过4kb,不安全.

session

Session保存在服务器端:占用服务器内存,安全,数据量/保存数量无上限。
session的生命周期

  • 创建:对应的浏览器,第一次调用getSession()
  • 销毁:①服务器非正常关闭
    注: 服务器正常关闭,session被序列化保存到硬盘,服务器正常启动,session还原

3. javaWeb四大域对象

  • servletContext

    • 生命周期:当Web应用被加载进容器时创建代表整个web应用的ServletContext对象,当服务器关闭或Web应用被移除时,ServletContext对象跟着销毁。
    • 作用范围:整个Web应用。
  • session

    • 生命周期:在第一次调用 request.getSession() 方法时,服务器会检查是否已经有对应的session,如果没有就在内存 中创建一个session并返回。
    • 作用范围:一次会话。
  • request
    • 生命周期:在service 方法调用前由服务器创建,传入service方法。整个请求结束,request生命结束。
    • 作用范围:整个请求链(请求转发也存在)
  • pageContext
    • 生命周期:当对JSP的请求时开始,当响应结束时销毁。
    • 作用范围:整个JSP页面,是四大作用域中最小的一个。

4.jsp & el & jstl

  • jsp九大内置对象
    request response exception page pageContext out session config application
    pageContext可以获得其他八个内置对象
  • el表达式
    简化java代码书写
    ${ }可以取出域对象的内容
  • jstl表达式
    JSP需要使用taglib指令导入对应标签库,某个JSP就可以使用JSTL标签
    常用标签

5.filter & listener

过滤器:一个实现了特殊接口的Java类.实现对请求资源的过滤的功能.过滤器是Servlet技术中最为实用的技术.
作用:对目标资源进行过滤
生命周期:- 创建 服务器正常启动时
- 销毁 服务器正常关闭时
- 每次执行过滤器,都会执行dofilter方法

6.ajax

jquery对驱动进行了封装
url 请求访问地址
param 传递参数
function 回调函数
第4个参数,返回类型,一般是json
$.post(url,param,function(data){

},”json”)

7.json

是一种轻量级的数据交换格式.
json语法格式

  • 自定义格式
    对应Java中的map集合 ,JavaBean
    var person = {name:”张三”,age:”18”,sex:”男”};
  • json数组格式
    对应Java中的list集合
    var arr=[
    {“name”:”张三”,”age”:”18”,”sex”:”男”},
    {“name”:”李四”,”age”:”20”,”sex”:”男”},
    ]

8.redis

关系型数据库: 数据和数据之间/表和表之间存在关系。
优点: 1.表设计/数据的使用 和现实生活息息相关
2.表数据的增删改查操作比较简单
3.保证数据的完整/安全
缺点:1 占用大量的内存资源(伪表、关系算法)
2 执行效率不高
3 对海量数据/高并发请求 无能为力
4 海量数据时,表结构的维护无法进行
非关系型数据库:去掉了数据和数据之间关系。一秒钟可以轻松读写 十几万数据量
优点:1 轻松处理海量数据/高并发请求
2 无论数据量多少,都可以对数据库进行维护
3 执行效率远远高于关系型数据库
缺点: 1 数据和数据之间不存在关系,和现实生活严重脱节
2 数据不再 有完整性和安全性
非关系型是对关系型数据库的补充.重要数据要通过关系型数据库保存,不重要数据(高并发)可以通过非关系型数据库保存.

你可能感兴趣的:(JavaWeb开发)