大数据正式26 深藏阁楼爱情的钟 2022-06-03 02:52 260阅读 0赞 # 大数据正式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应用的目录结构 * ![82FyvVS.png][] * 虚拟主机的配置 * 在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 5. * 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 ### * 用户模块 * 商品模块 [82FyvVS.png]: https://i.imgur.com/82FyvVS.png
相关 大数据正式5 大数据正式5 常见的shell命令 管道命令 管道符| 将两个命令隔开,左边命令的输出就会作为管道右边命令的输入 连续使 旧城等待,/ 2022年06月06日 10:29/ 0 赞/ 234 阅读
相关 大数据正式2 大数据正式2 用户身份与用户组记录的文件 在Linux系统当中,默认情况下所有的系统上的账号信息都记录在/etc/passwd这个文件内(包括root用户), 快来打我*/ 2022年06月06日 08:38/ 0 赞/ 161 阅读
相关 大数据正式10 大数据正式10 jQuery 定义:jQuery是一个“写的更少”,但“做的更多”的轻量级JavaScript函数库 优势 1. 可 ゞ 浴缸里的玫瑰/ 2022年06月05日 06:24/ 0 赞/ 250 阅读
相关 大数据正式32 大数据正式32 Spring中的JDBC jar包准备 ![zW1gEQQ.png][] bean+properties普通配置 悠悠/ 2022年06月03日 08:44/ 0 赞/ 165 阅读
相关 大数据正式27 大数据正式27 Spring 先来张图简单看一下 ![oQySJMC.png][] spring框架的特点 1 悠悠/ 2022年06月03日 04:38/ 0 赞/ 144 阅读
相关 大数据正式37 大数据正式37 Maven 传统项目存在的弊端 1. 导入jar包得经验丰富 2. 传统项目打包方式不通用,不能很好的支持聚合项 左手的ㄟ右手/ 2022年06月02日 01:46/ 0 赞/ 157 阅读
相关 大数据正式36 大数据正式36 MyBatis的接口形式 注意两点 1. 接口名---namespace值对应 2. 方法名---id一致 淩亂°似流年/ 2022年06月02日 01:12/ 0 赞/ 261 阅读
相关 大数据正式34 大数据正式34 Spring+SpringMVC 小例子 效果图 ![hsIEQmd.png][] 功能说明 川长思鸟来/ 2022年06月02日 00:16/ 0 赞/ 274 阅读
还没有评论,来说两句吧...