02 2023 档案
摘要:jar包官网:http://mvnrepository.com 解决jar包冲突 <scope>范围标签 compile 编写 test 测试 provided 假如
阅读全文
摘要:新建项目 开启骨架 选择骨架 maven工程servlet实例之指定web资源包
阅读全文
摘要:使用骨架创建maven的java工程 不使用骨架创建maven工程 新建项目
阅读全文
摘要:我们可以在cmd中通过一系列maven命令来对我们的maven-helloworld工程进行编译 测试 运行 打包 安装 部署 compile compile是maven工程的编译命令 作用是将src/main/java下的文件编译为class文件输出到target目录下 清理项目编译信息 编译 测
阅读全文
摘要:核心代码部分 项目名 maven项目标准目录结构 配置文件部分 src src/main/java目录 核心代码部分 测试代码部分 config src/main/resources 配置文件部分 测试配置文件 resources src/test/java 测试代码部分 src/test/reso
阅读全文
摘要:项目的一键构建 我们的项目往往都要经历编译 测试 运行 打包 安装 部署等一系列过程 什么是构建 指的是项目从编译 测试 运行 打包 安装 部署 整个过程都交给maven进行管理 这个过程称为构建 一键构建 指的是整个构建过程 使用maven一个命令可以轻松完成整个工作 maven规范化构建流程如下
阅读全文
摘要:1 Maven是一个项目管理工具 它包含了一个项目对象模型(POM:Project Object Model)一个标准组合 一个项目生命周期 一个依赖管理系统 和用来运行定义生命周期阶段 中插件 目标的逻辑 2 我们需要引用各种jar包 尤其是比较大的工程 引用的jar包往往有几十个乃至上百个 每用
阅读全文
摘要:字符串类型 sting set get 哈希类型 hash:map格式 hset hget 列表类型 list:linkedlist格式 支持重复元素 lpush / rpush lpop / rpop 集合类型 set 不也许重复元素 sadd 有序集合类型 sortedset 不也许重复元素 且
阅读全文
摘要:jedis 一款java操作redis数据库的工具 使用步骤 下载jedis的jar包 使用 获取连接 Jedis jedis = new Jedis("localhost",6379) 操作 jedis.set("username","zhangsan") 关闭连接 jedis.colse();
阅读全文
摘要:RDB默认方式 不需要进行配置 默认就使用这种机制 在一定的间隔时间中 检测key的变化情况 然后持久化数据 编写 redis.windwos.conf文件 # after 900 sec (15 min) if at least 1 key changed save 900 1 # after 3
阅读全文
摘要:通用命令 keys * 查询所有的键 type key 获取对应的value的类型 del key 删除指定的key value 持久化 1 redis 是一个内存数据库 单redis服务器重启 或者电脑重启 数据会丢失 我们可以将redis内存中的数据持久化保存到硬盘的文件中 2 redis持久化
阅读全文
摘要:列表类型 list可以添加一个元素到列表的头部(左边)或者尾部(右边) 1 添加 1 lpush key value 将元素加入列表左表 2 rpush key value 将元素加入列表右边 2 获取 lrange key start end 范围获取 3 删除 lpop key 删除列表最左边的
阅读全文
摘要:redis的数据结构 redis存储的是 key value 格式的数据 其中key都是字符串 value有5众不同的数据结构 1 字符串类型 string 2 哈希类型 hash:map格式 3 列表类型 list:linkedlist格式 支持重复元素 4 集合类型 set:不也许重复元素 5
阅读全文
摘要:主流的NOSQL产品 键值(key-Value)存储数据库 相关产品:Tokyo Cabinet/Tyrant Redis Voldemort Berkeley DB 典型应用:内容缓存 只要用于处理大量数据的高访问负载 数据模型:一系列键值对 优势:快速查询 劣势:存储的数据缺少结构化 列存储数据
阅读全文
摘要:1 官网 https://redis.io 2 中文玩 http://www.redis.net.cn/ 3 解压直接可以使用 redis.windows.conf 配置文件 redis-cli.exe:redis的客户端 redis-servler,exxe:redis服务器端
阅读全文
摘要:非关系型数据库的优势 性能nosql是基于键值对的 可以想象陈表中的主键和值的对应关系 而且不需要经过sql层的解析 所以性能非常高 可扩展性同样也是因为基于键值对 数据之间没有耦合性 所以非常容易水平扩展 关系型数据库的优势 复杂查询可以使用sql语句方便的在一个表以内集多个表之间做非常复杂的数据
阅读全文
摘要:概念 redis是一款高性能的NOSQL系列的非关系型数据库 什么是NOSQL NoSQL(not only sql)不仅sql 是一项全新的数据库理念 泛指非关系型的数据库 随着互联网web2.0网站的兴起 传统关系数据库应付web2.0网站 特别是超大规模高并发的SNS类型的web2.0纯动态网
阅读全文
摘要:Java对象转换JSON 1使用步骤 1 导入jackson的相关jar包 2 创建Jackson核心对象 ObjectMapper 3 调用ObjectMapper的相关方法进行转换 转换方法 writeValue(参数1,obj); 参数1: File 将obj对象转换为JSON字符串 并保存到
阅读全文
摘要:JSON概念 JavaScript Object Norarion JavaScript对象表示法 Person p = new Person(); p.setName("张三") p.setAge(23) p.setGender("男") var p = {"name":"张三","age":23
阅读全文
摘要:AJAX概念: ASynchronous JavaScript And XML 异步的JavaScript和XML 1 异步和同步: 客户端和服务器端相互通信的基础上 客户端必须等待服务端的响应 在等待的期间客户端不能做其他操作 客户端不需要等待服务端的响应 在服务器处理请求的过程中 客户端可以进行
阅读全文
摘要:1 给开始按钮绑定单击事件 1定义循环定时器 1.切换小相框src属性 定义数组 存放图片资源路径 生成随机数 数组索引 2 给结束按钮绑定单击事件 1 停止定时器 2 给大相框设置src属性
阅读全文
摘要:需求 1当页面加载完成 3秒后自动显示广告 2 广告显示5秒后自动消失 分析 1 使用定时器来完成 setTimeout(执行一次定时器) 2 分析发现Jquery的显示和隐藏动画效果其实就算控制display 3 使用show/hide方法来完成广告的显示
阅读全文
摘要:事件绑定 jquery 标准的绑定方式 jq对象 事件方法(回调函数) 如果调用事件方法不传递回调函数 则回出发浏览器默认行为 表单对象.submit();让表单提交 on绑定事件/off解除绑定 jq对象.on(事件名称 回调函数) jq对象.off(事件名称) 如果off方法不传递任何参数 则组
阅读全文
摘要:1 js的遍历方式 for(初始化值;循环结束条件;步长) 2 jq的遍历方式 1 jq对象.each(callback) 语法: jquery对象.each(function(index,element){}); index 元素在集合中的索引 element 集合中的每一个元素 this 集合中
阅读全文
摘要:1 三种方式显示和隐藏元素 1 默认显示和隐藏方式 1 show([speed,[easing],[fn]]) 1参数: 1 speed:动画的速度 三个预定义的值("slow","normal","fast")或表示动画时长的毫秒数值(如:1000) 2 easing:用来指定切换效果,默认是“s
阅读全文
摘要:CRUE操作 1 append():父元素将子元素追加到末尾 对象1.append(对象2):将对象2添加到对象1元素内部 并且在末尾 2 prepend():父元素将子元素追加到开头 对象1.prepend(对象2):将对象2添加到对象1元素内部 并且在开头 3 appendTo(): 对象1.a
阅读全文
摘要:1通用属性操作 1 attr():获取/设置元素的属性 2 removeAttr():删除属性 3 prop():获取/设置元素的属性 4 removeProp:删除属性 attr和prop区别 1 如果操作是元素的固有属性 建使用prop 2 如果操作的是自定义的属性 则建议使用attr 2对cl
阅读全文
摘要:表单过滤选择器 1可用元素选择器 语法:enabled 获得可用元素 2不可用元素选择器 语法:disabled 获得不可用元素 3选中选择器 语法:checked 获得当选/复选框选中的元素 4选中选择器 语法:selected获得下拉框选择的元素 DOM内容操作 1 html():获取/设置元素
阅读全文
摘要:属性选择器 1 属性名称选择器 语法:$("A[属性名]")包含指定属性的选择器 2 属性选择器 语法:$("A[属性名 = ‘值’]") 包含指定属性等于指定值的选择器 3 复合属性选择器 语法:$("A[属性名= ‘值’ ][ ][ ] ")包含福哦个属性条件的选择器 过滤选择器 1首元素选择器
阅读全文
摘要:选择器:筛选具有相似特征的元素(标签) 1基本选择器 1 标签选择器(元素选择器) 语法:$("html标签名) 获得所有匹配标签名称的于元素 2 id选择器 语法:$("#id"的属性值) 获取与指定id属性值匹配的元素 3 类选择 语法:$("class的属性值") 获取与指定的class属性值
阅读全文
摘要:JQuery对象和JS对象区别与转换 1 JQuery对象在操作时 更加方便 2 JQuery对象和js对象方法不通用的 3 两者相互转换 jq转js:jq对象[索引] 或 jq对象,get(索引) js转jq:$(js对象) 选择器:筛选具有相似特征的元素(标签) 1基本操作 1事件绑定 //获取
阅读全文
摘要:概念:一个JavaScript框架 简化JS开发 Jquery 是一个快速 简洁的JavaScript框架 是续Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架) Jquery设计的宗旨 是 写更少的代码做更多的事情他封装JavaScript常用的功能代码 提
阅读全文
摘要:概念 web的三大组件之一 事件监听机制 事件: 一件事情 事件源:事件发成的地方 监听器:一个对象 注册监听:将事件 事件源 监听器绑定在一起 当事件源发某个事件后 执行监听器代码 ServletContextListener:监听 ServletContext 对象的创建和销毁 void con
阅读全文
摘要:增强对象的功能 设计模式:一些通用的解决固定问题的方式 1装饰模式 2代码模式 概念: 1 真是对象 被代理的对象 2 代理对象 3 代理模式 代理对象代理真实对象 打到增强真实对象功能的目的 实现方式 1 静态代理 有一个类文件描述代理模式 2 动态代理 在内存中形成代理类 实现步骤 代理对象和真
阅读全文
摘要:过滤器链(配置多个过滤器) 执行顺序:如果有两个过滤器:过滤器1和过滤器2 过滤器1 过滤器2 资源执行 过滤器2 过滤器1 过滤器先后顺序问题 1 注解配置 按照类名的字符串比较规则比较值小的先执行 如AFilte和BFilter, Afilter就先执行了 2 web.xml配置:<filter
阅读全文
摘要:拦截路径配置 1 具体资源路径:/index.jsp 只有访问index.jsp资源时,过滤器才会被执行 2 拦截目录:/user/* 访问/user下的所有资源时 过滤器都会被执行 3 后缀名拦截: *.jsp 访问所有后缀名为jsp的资源时 过滤器都会被执行 4 拦截所有资源:/* 访问所有资源
阅读全文
摘要:过滤器细节 web.xml配置 <filter> <filter-name>demo1</filter-name> <filter-class>cn.nan.web.filter.FilterDemo1</filter-class></filter><filter-mapping> <filter-
阅读全文
摘要:Filter过滤器 举例:饮水机 空调 web中的过滤器: 当访问服务器的资源时 过滤器可以将请求拦截下来完成一些特殊功能 过滤器的作用 一般用来完成通过的操作 如 登录验证 统一编码处理 敏感字符过滤 快速入门 1定义一个类 实现接口 filter 复写方法 被指拦截路径
阅读全文
摘要:三层架构:软件设计架构 1 界面层(表示层)用户看的得界面 用户可以通过界面上的组件和服务器进行交互 2 业务逻辑层:处理业务逻辑的 3 数据访问层 操作数据存储文件 用户信息案列需求 1 需求:用户信息的增删改查操作 2 设计数据库: 字段 id,name,gender,age,address,q
阅读全文
摘要:常用的JSTL标签 1.if:相当于java代码的if语句 1.属性: test 必须属性 接收boolean表达式 日光表达式true 则显示if标签体内容 如果为false 则不显示标签体内容 一般情况下 test属性值会结合el表达式一起使用 2注意: c:if标签没有else情况下 想要el
阅读全文
摘要:el表达式中有11个隐式对象 pageContext: 获取jsp其他八个内置对象 ${pageContext.request.contextPath}:动态获取虚拟目录 JSTL 1:概念:JavaServer Pages Tag Library JSP 标准标签库 2:作用:用于简化和替换jsp
阅读全文
摘要:el获取域中的值: 1.el表达式只能从域对象中获取值 2.语法: 1.${域名称.键值} 域名称: 1 pageScope(页范围) -- pageContex(页内容) 2 requestScope(请求范围) -- reqiest(请求) 3 sessionScope(会话作用区) -- se
阅读全文
摘要:EL表达式 1概念:Expression Language 表达式语言 2作用:替换和简化jsp页面中java代码的编写 3语法:${表达式} 4注意 jsp默认支持el表达式 如果要忽略el表达式 1设置jsp中的page指令中:isELTgnored=true忽略当前jsp页面中所有的el表达式
阅读全文
摘要:MVC 开发模式 jsp演变历史 1早期只有servlet 只能使用response输出标签数据 非常麻烦 2后来jsp 简化了Servlet 如果过度使用jsp 在jsp中即写大量的java代码有写html表 造成难于维护 难于分工协作 3再后来 java的web开发借鉴mvc开发模式 使的程序设
阅读全文
摘要:注释 1html注释 <!-- -->只能注释html代码片段 2jsp注释:推荐使用 <%-- --%> 内置对象 在jsp页面 不需要创建 直接使用的对象 一共有9个 变量名: pageContext 真实类型: PageContext 作用:当前页面共享数据 变量名: request 真实类型
阅读全文
摘要:指令 作用:用于配置JSP页面 导入资源文件 格式: <%@ 指令名称 属性名1=属性值1 属性名2=属性值2...%> 分类 page 配置JSP页面的 contentType:等同于response.setContentType() 1设置响应体的mime类型以及字符集 2设置当前jsp页面的编
阅读全文
摘要:Session的特点 session用于存储一次会话和多次请求的数据 存在服务器端 session可以存储任意类型 任意大小的数据 session与Cookie的区别 session存储数据在服务器端 Cookie在客户端 session没有数据大小限制 Cookie有 session数据安全,Co
阅读全文
摘要:细节: 当客户端关闭后 服务器吧关闭 两次获取session是否为同一个 默认情况下 不是 如果需要相同 则可以创建Cookie,键可以为JSESSIONID 设置最大存活时间 让cookie持久化保存 Cookie c = new Cookie("JESSIONID",session,getId(
阅读全文
摘要:细节: 当客户端关闭后 服务器吧关闭 两次获取session是否为同一个 默认情况下 不是 如果需要相同 则可以创建Cookie,键可以为JSESSIONID 设置最大存活时间 让cookie持久化保存 Cookie c = new Cookie("JESSIONID",session,getId(
阅读全文
摘要:在jsp页面中不需要获取和创建 可以直接使用的对象 jsp一共有9个内置对象 request response out:字符输出流对象 可以将数据输出到页面上 和response.getWriter()类似 response.getWriter()和out.write()的区别 在tomcat服务器
阅读全文
摘要:JSP 概念 Java Server Pages:java服务端页面 可以理解为:一个特殊页面,其中既可以指定定义html标签 有可以定义java代码 用于简化书写 原理 JSP本质上就是一个Servlet 脚本:JSP定义Java代码的方式 <% 代码%>:定义的java代码 在service方法
阅读全文
摘要:案例:记住上一次访问时间 1需求 访问一个Servlet 如果是第一次访问 则提示 您好欢迎您首次访问 2如果不是第一次访问 则提示 欢迎回来 您上次访问时间为 显示时间字符串 分析 1可以采用Cookie来完成 2在服务器中的Servlet判断是否有一个名为lastTime的cookie 1有:不
阅读全文
摘要:Cookie共享问题 1 假设在一个tomcat服务器中 部署了多个web项目 那么在这些web项目在cookie能不能共享 默认情况下 cookie不能共享 setPath(String path):设置cookie的获取范围 默认情况下 设置当前的虚拟目录 如果要共享 则可以将path设置为/
阅读全文
摘要:cookie在浏览器中保存多长时间? 1默认情况下 当浏览器关闭后 Cookie数据被销毁 2持久化存储 setMaxAge(int seconds) 1正数:将Cookie数据写道硬盘文件中 持久化存储 cookie存活时间 2负数:默认值 3零:删除cookie信息 Cookie能不能存中文 在
阅读全文
摘要:Cookie原理分析 浏览器向服务器发送请求,服务器需要创建cookie,服务器会通过响应携带cookie,在产生响应时会产生Set-Cookie响应头,从而将cookie信息传递给了浏览器; 当浏览器再次向服务器发送请求时,会产生cookie请求头,将之前服务器的cookie信息再次发送给了服务器
阅读全文
摘要:会话技术 会话:一次会话中包括多次请求和响应 一次会话:浏览器第一次给服务器资源发送请求 会话建立 知道有一方断开为止 功能:在一次会话的范围内的多次请求间 共享数据 方式 1.客户端会话技术:Cookie 2.服务器端会话技术:Session Cookie入门步骤 创建Cookie对象,绑定数据
阅读全文
摘要:获取请求参数 文件名称 使用字节输入流加载文件进内存 找到文件服务器路径 用字节流关联 设置response的响应头 设置响应头类型 content-type 获取文件的mime类型 设置响应头打开方式content-disposition 解决中文文件名问题 获取user-agent请求头 使用工
阅读全文
摘要:ServletContext获取服务器文件路径 方法:String getRealPath(String path) 文件下载需求 1页面显示超链接 2点击超链接后弹出下载提示框 3完成图片文件下载 分析 1超链接指向的资源如果能够被浏览器解析,则在浏览器中展示,如果不能解析,则弹出下载提示框 不满
阅读全文
摘要:ServletContext功能: 获取MIME类型:在互联网通信过程中定义的一种文件数据类型 格式 大类型/小类型 text/html image/jpeg 获取:String getMimeType 域对象:共享数据 1.setAttribute(String name,Object value
阅读全文