大数据正式26

大数据正式26

javaWeb复习

  • 概述
    • 静态web资源--本质上是文件
      1. html
      2. css
      3. JavaScript
      4. 其他文件资源--图片、视频、音频等
    • 动态web资源--本质上是程序
      1. Servlet
      2. jsp
    • web容器
      • Tomcat
    • HTTP协议
    • 数据库
      • MySql
    • JDBC
  • HTML Css JavaScript Jquery
    • 属于web前端技术
    • 这块能看懂即可【^~^】
  • web容器--Tomcat
    • 常见的web服务器
      1. Tomcat:开发、测试、部分网站的后台
      2. WebLogic
      3. WebSphere
    • Tomcat
      1. 虚拟主机:tomcat中允许配置多个网站,多个网站外界访问向访问多个服务器一样
      2. web应用:一个站点内可能不止提供一种功能,每个功能相当于一个web应用,一个web应用资源按照一定结构放置
      3. web的虚拟路径映射:web应用的存放为了安全,不应该暴露给用户,所以可以将真实的路径映射为一个虚拟路径供外界访问
      4. web应用的目录结构
    • 虚拟主机的配置
      • 在conf下的server.xml中配置

        Host 【name AppBase】
        
      • 还需要在DNS上配置映射关系--ip和主机
    • web应用的配置
      1. Context【path docBase】
      2. xml文件名称为虚拟路径,内容为Context【docBase】
      3. 直接放在webApps下
    • war包
      • 通用web.xml和context.xml----通用默认的配置文件
    • MyEclipse发布应用

Http协议

  • 概述
    • Http是一种通用的应用层协议,客户端和服务端通讯的规则---底层是Tcp/Ip协议
    • 基本原则
      1. 基于请求响应模式
      2. 一次请求,一次响应
      3. 请求只能客户端发起
    • 版本区别
      1. HTTP1.0--一次请求,一次响应,不能保持连接
      2. HTTP1.1--短时间提供保存后连接
    • HTTP请求
      • 一个请求行
        • GET /index.jsp Http/1.1
        • 请求方式,7种【常见的是GET、POST】
      • 若干请求头
      • 空行
      • 请求体
    • HTTP响应
      • 一个状态行
        • HTTP/1.1 200 ok
      • 若干响应头
      • 一个空行
      • 实体内容

Servlet

  • Servlet是什么:动态web资源开发
    • 开发步骤
      1. 编写Servlet
      2. web.xml配置
    • 继承结构
      • Servlet
        • GenericServlet
          • Http Servlet
    • Servlet的生命周期
      • 第一次访问进行创建init,然后常驻内存调用Service方法,销毁之前调用destory方法

Request

  • 概述
    • http请求的对象
    • 继承结构
      • ServletResponse
        • HTTPServletResponse
    • 主要功能
      1. 获取请求头
        1. getHeader(name)
        2. getHeaderNames()
        3. getIntHeader(name)
        4. getDataHreader
      2. 获取请求参数
        1. getParameter
      3. 实现转发包含
        1. request.getRequestDispatcher("").forword(req,resp);
        2. request.getRequestDispatcher("").include(req,resp);
      4. 作为域来使用
        1. 生命周期:请求开始,请求结束销毁,整个过程中共享数据
        2. 乱码
          1. new String(get:request.getParameter("name").getBytes("encode"),"encode")
          2. post:request.setCharacterEncoding("encode");

Response

  • 概述
  • 继承结构
    • ServletResponse
      • HTTPServletResponse
  • 主要功能
    1. 设置状态码
      1. setState(int)
      2. setState(int,String)
    2. 设置相应头
      1. setHeader()
      2. setIntHeader
      3. setDataHeader()
    3. 获取输出流
      1. resp.getPrintWriter();
    4. 实现重定向
      1. sendRedirect
    5. 定时刷新
      1. refresh,url
    6. 禁止缓存
      1. expires
      2. cache
      3. progma
    7. 乱码
      1. response.setCharacterEncoding("encode");
      2. response,setContentType("text/html;charset=encode");

ServletConfig

  • 概述
    • 当前的Servlet的参数
  • 获取
    • servlet。getContextConfig
  • 方法
    • getInitParameter(name)
    • getInitParameterNames()

ServletContext

  • 概述
    • 代表当前web对象
    • 生命周期:web应用开始到web应用结束
  • 获取
    • servletConfig.getServletContext();
    • this.getServletContext();
  • 获取参数<context-param></context-param>
  • 作用域:
    • 生命周期
      • 与web应用一样长
    • 作用范围
      • 整个web周期
    • 主要功能
      • web应用范围共享数据
  • 路径难题
    • web的路径怎们写都不对
      • 相对路径--tomcat/bin下
      • 绝对路径--换主机可能出错
      • context.getRealPath()//动态获取
      • 没有Context,则可以通过类加载器来获取资源的路径

会话

  • 浏览器为了实现一个功能,多次访问服务器,开始到结束的多次请求和响应

Cookie

  • 基于HTTP,set-Cookie响应头和Cookie的请求头
  • Cookie Api
    • setMaxAge();//不设置在浏览器内存,设置保存相应的时间
    • Cookie cookie=new Cookie(naem,value);
    • path携带:父目录及其子目录
    • 删除:同名和同path

Session

  • 在服务器内部创建空间保存用户的数据
  • 原理:特殊的Cookie--JSESSIONID来识别
  • 生命周期
    • 第一次调用getSession()
    • 死亡
      1. 自杀
      2. 意外身亡
      3. 超时
  • 作用范围
    • 整个会话
  • 功能
    • 会话范围内共享数据

ajax

  • 异步请求,局部刷新

Url编码:解决url乱码

三种资源的跳转方式

  • 转发
  • 重定向
  • 刷新

jsp

  • 概述
    • 看起像HTML,但是可以编写java代码
  • jsp语法
    • 模板元素
    • 脚本表达式
    • 脚本片段
    • jsp声明
    • jsp注释
    • jsp指令
      • page
      • incline
      • taglib
  • jsp的九大域对象
    1. page
    2. request
    3. response
    4. config
    5. application
    6. session
    7. out
    8. exception
    9. pageContext
      1. 获取其他八大隐式对象
      2. 作为入口参数获取四大域
  • jsp标签
    • <jsp:include>
    • <jsp:forward>
    • <jsp:param>
  • el表达式
    • 获取数据
      1. 常量数据
      2. 变量数据
      3. 集合、数组中的数据
      4. javaBean的属性
    • 执行运算
      1. 算数
      2. 比较
      3. 逻辑
      4. empty
      5. 三元
    • 使用内置对象
      1. pageContext
      2. pageScope
      3. requestScope
      4. sessionScope
  • jstl标签
    • C
    • fn
    • fmt
    • sql
    • xml
    • <c:out>
    • <c:set>
    • ...

javaEE开发模式

  • 发展
    • servlet
    • jsp
    • jsp+javabean
    • jsp+servlet+javabean
    • mvc(model+View+controller)
    • javaee的经典架构(web,service,dao)
    • 耦合
      • 高内聚,低耦合
      • 配置文件+工厂模式

过滤器

  • 三大组件之一
  • filter
  • before+after
  • 步骤
    1. 实现Filter接口
    2. web.xml配置
  • 流程
    • init
    • doFilter
    • destory
  • filterConfig
  • filterChain
  • 应用
    • 全栈乱码
      • 继承
      • 装饰
      • 动态代理
    • 自动登录
      • MD5加密算法,不可逆向操作
        • 密码数据加密
        • 文件校验
        • 数字签名

监听器

  • Listener
  • 三大主键之一
    • servlet
    • filter
    • listener
  • 八大监听器
    • 三大主用域
    • 三大作用域属性
    • 在session中自我感知

文件上传

  • 必须项
    • name
    • post
    • enctype
  • 服务器
    • 自己写
    • fileupload
      • commons-io
      • commons-fileupload
  • 问题
    • 存放位置
    • 重名
    • hash分级目录

sql

  • 安装配置
  • SQL语言
    • c
    • r(普通查询、条件查询、分组查询、聚合查询、排序查询、分页查询(limit)、子查询、自查询)
    • u
    • d
  • sql设计
  • 多表设计
    • 1:1(任意)
    • 1:m(m)
    • m:m(另外一张表)
  • 多表查询
    1. 笛卡尔
    2. 内连接
    3. 外链接
      1. 左外
      2. 右外
      3. 全外(union)

jdbc

  • 操作数据库的接口
  • 数据库驱动
  • 步骤
    1. jar包
    2. 注册驱动
    3. 获取连接
    4. 获取传输器
    5. 执行sql
    6. 处理结果
    7. 关闭连接
  • sql注入攻击
    • 解决:PrepareStatement
  • 批处理
  • 连接池
    • c3p0

数据库的事务

  • 事务
    • 逻辑上的一组操作
  • sql事务
    • start transaction
    • commit
    • rollback
  • jdbc控制事务
    • conn.setAutoCommit(false)
    • conn.commit()
    • conn.rollback(sp)
  • 事务的四大特性
    1. 原子性
    2. 一致性
    3. 隔离性
    4. 持久性
  • 四大隔离
    1. read uncommited
    2. read commited
    3. repeatable read
    4. Serializable
  • 避免
    • 脏读
    • 可不重复读
    • 虚读(幻读)

数据库的锁机制

  • 共享锁
    • 共享锁和共享锁可以共存
    • 共享锁和其他锁不可以共存
  • 排它锁
    • 排它锁与任何锁都可以共存
  • 读(Serializable+排它锁;其他不加锁)
  • 增删改(都加排它锁)
  • 死锁:退出一方,继续另外一个

更新丢失

  • 两个并发的事务同时执行,导致数据库可能更新异常
  • 解决方案
    1. Serializable
    2. 悲观锁for update
    3. 乐观锁【加条件,and 。。。】

ThreadLocal

  • Thread中有个map外界访问不到
  • 有程序的上游向下游传递数据
  • 各个的线程都可以保存各自的数据
  • 方法
    • get()
    • set(obj)
    • remove()

EasyMall

  • 用户模块
  • 商品模块
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘风御浪云帆之上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值