02 2023 档案
摘要:分析: 代码实现 后台代码实现: BaseServlet类 将对象序列化为json方法进行抽取 /** * 直接将传入的对象序列化json,并且写回客户端 * @param obj */ public void writeValue(Object obj,HttpServletResponse re
阅读全文
摘要:BaseServlet抽取 减少Servlet的数量,现在是一个功能一个Servlet,将其优化为一个模块一个Servlet,相当于在数据库中一张表对应一个Servlet,在Servlet中提供不同的方法来完成用户的请求 UserServlet package cn.itcast.travel.we
阅读全文
摘要:登录功能 分析: Servlet层: @WebServlet("/loginServlet") public class LoginServlet extends HttpServlet { protected void doPost(HttpServletRequest request, Http
阅读全文
摘要:Servlet代码实现 UserDao: public interface UserDao { /** * 根据用户名查询用户信息 * @param username * @return */ public User findByUsername(String username); /** * 用户
阅读全文
摘要:注册功能分析 表单校验 表单校验: 1.用户名:单词字符,8到20位长度 2.密码:单词字符,8到20位长度 3.email:邮件格式 4.姓名:非空 5.手机号:手机号格式 6.出生日期:非空 7.验证码:非空 <!DOCTYPE html> <html lang="en"> <head> <me
阅读全文
摘要:《黑马旅游网》综合案例 1 前言 为了巩固web基础知识,提升综合运用能力,故而讲解此案例。要求,每位同学能够独立完成此案例。 2 项目导入 点击绿色+按钮 选择travel项目的pom.xml文件,点击ok,完成项目导入。需要等待一小会,项目初始化完成。 1 启动项目 1.1 方式一: 1.1 方
阅读全文
摘要:Maven骨架Maven骨架简单的来说就是一种模型 (结构),Maven根据我们的不同的项目和需求,提供了不同的模型,这样就不需要我们自己建模型了。举个简单的例子:就比如我们要做一套普通的楼房,我们使用Maven就不需要我们自己打地基,直接把使用Maven打好的地基就可以了。同时种类的楼房(写字楼,
阅读全文
摘要:maven概念模型图 idea集成maven插件 1. 使用cmd命令窗口,输入mvn - v ,查看是否已经安装好maven 这个之前有安装教程 2. 打开IDEA,进入主界面后点击 configure 然后点击 settings 3. 在上面的快捷查找框中输入maven,查找与maven相关的设
阅读全文
摘要:Maven常用命令和生命周期maven常用命令这部分内容了解即可,在maven中提供了一些命令,便于我们更便捷的去做一些事情,在不使用开发工具的情况下需要在pom.xml文件所在的目录地址中去执行这些maven命令。 clean 清除命令,清除已经编译好的class文件,清除的是target目录中的
阅读全文
摘要:仓库种类和彼此的关系 maven标准目录结构
阅读全文
摘要:我们的项目,往往都要经历编译、测试、运行、打包、安装,部署等一系列过程。 什么是构建? 项目从编译、测试、运行、打包、安装,部署整个过程都交给maven进行管理,这个过程称为构建。 一键构建 指的是整个构建过程,使用maven一个命令可以轻松完成整个工作。 Maven规范构建流程: maven的安装
阅读全文
摘要:1.1.1 什么是 Maven Maven 的正确发音是[ˈmevən],而不是“马瘟”以及其他什么瘟。Maven 在美国是一个口语化的词 语,代表专家、内行的意思。 一个对 Maven 比较正式的定义是这么说的:Maven 是一个项目管理工具,它包含了一个项目对象模 型 (POM:Project
阅读全文
摘要:工具类 package org.util; import com.alibaba.druid.pool.DruidDataSourceFactory; import javax.sql.DataSource; import java.io.IOException; import java.io.In
阅读全文
摘要:案例需求: 1.提供index.html页面,页面中有一个省份 下拉列表 2.当页面加载完成后,发送Ajax请求,加载所有省份 * 注意:使用redis缓存一些不经常发生变化的数据。 * 数据库的数据一旦发生改变,则需要更新缓存。 * 数据库的表执行 增删改的相关操作,需要将redis缓存数据情况,
阅读全文
摘要:Jedis连接池 Jedis连接池:JedisPool 使用: 1.创建JedisPool连接池对象 2.调用方法 getResource( )方法获取Jedis连接 /** * Jedis连接池归还到连接池中 */ @Test public void test7(){ //0.创建一个配置对象 J
阅读全文
摘要:Jedis操作list /** * list 数据结构操作 */ @Test public void test4(){ //1.获取连接 Jedis jedis = new Jedis("localhost", 6379);//如果使用空参构造,默认值 “localhost”,6379端口额 //2
阅读全文
摘要:Jedis操作string Jedls操作各种redis中的数据结构 (1)字符串类型string set get(2)哈希类型hash : map格式 hset hget(3)列表类型list : linkedlist格式。支持重复元秦 lpush / rpush lpop / rpop(4)集合
阅读全文
摘要:Jedis快速入门 Jedis:一款java操作redis数据库的工具 使用步骤: 1.下载jedis的jar包 2.导入依赖 package org.example.text; import org.junit.jupiter.api.Test; import redis.clients.jedi
阅读全文
摘要:持久化 1. redis是一个内存数据库,当redis服务器重启,获取电脑重启,数据会丢失,我们可以将redis内存中的数据持久化保存到硬盘的文件中。 2. redis持久化机制: 1. RDB:默认方式,不需要进行配置,默认就使用这种机制 * 在一定的间隔时间中,检测key的变化情况,然后持久化数
阅读全文
摘要:列表类型 list:可以添加一个元素到列表的头部(左边)或者尾部(右边) 1. 添加: 1. lpush key value: 将元素加入列表左表 2. rpush key value:将元素加入列表右边 127.0.0.1:6379> lpush myList a (integer) 1 127.
阅读全文
摘要:redis的数据结构: * redis存储的是:key,value格式的数据,其中key都是字符串,value有5种不同的数据结构 * value的数据结构: (1) 字符串类型 string (2) 哈希类型 hash : map格式 (3)列表类型: list : linkedlist格式,支持
阅读全文
摘要:redis概述与redis下载&安装 redis概述 redis是一款高性能的NOSQL系列的非关系型数据库 什么是NOSQL NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。 随着互联网web2.0网站的兴起,传统的关系
阅读全文
摘要:案例-校验用户名是否存在 校验用户名是否存在 1. 服务器响应的数据,在客户端使用时,要想当做json数据格式使用。有两种解决方案: 1. $.get(type):将最后一个参数type指定为"json" 2. 在服务器端设置MIME类型 response.setContentType("appli
阅读全文
摘要:1.复杂java对象转换 1.List:数组 2.Map:对象格式一致 package org.example.text; import com.fasterxml.jackson.databind.ObjectMapper; import org.example.domin.Person; imp
阅读全文
摘要:JSON解析器-jackson-java对象转json Java对象转换JSON 1. 使用步骤: 1. 导入jackson的相关jar包 2. 创建Jackson核心对象 ObjectMappe 3. 调用ObjectMapper的相关方法进行转换 1. 转换方法: writeValue(参数1,
阅读全文
摘要:JSON-语法-值的获取 获取数据: 1. json对象.键名 2. json对象[ " 键名 " ] 3. 数组对象[ 索引 ] 4. 遍历 JSON值的获取 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title
阅读全文
摘要:JSON的概念 概念: JavaScript Object Notation JacaScript对象表示法 json现在多用于存储和交换文本信息的语法 进行数据的传输 JSON 比 XML 更小 更快 ,更易解析 语法定义: 1.基本规则 数据在名称/值对中:json数据是由键值对构成的 键用引号
阅读全文
摘要:AJAX-实现-JQuery实现方式-get&post GET <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="js/jquery-3.3.1.min.j
阅读全文
摘要:AJAX-实现-JQuery实现方式-ajax() <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="js/jquery-3.3.1.min.js"></s
阅读全文
摘要:AJAX的概念 概念: ASynchronous JavaScript And XML 异步的JavaScript 和 XML 1. 异步和同步:客户端和服务器端相互通信的基础上 客户端必须等待服务器端的响应。在等待的期间客户端不能做其他操作 客户端不需要等待服务器端的响应。在服务器处理请求的过程中
阅读全文
摘要:jQuery-插件机制 增强JQuery的功能 1. 实现方式: 1. $.fn.extend(object) 增强通过Jquery获取的对象的功能 $("#id") 2. $.extend(object) 增强JQeury对象自身的功能 $/jQuery <!DOCTYPE html> <html
阅读全文
摘要:需求:点击开始按钮,在小镜框中图片开始随机切换,点击停止按钮后,图片停止切换,并且在大镜框中显示出来重要是图片显示出来,使用的prop()方法里面的src属性,因为是固有属性其他逻辑比较简单$("#img2ID").prop(“src”,imgs[i]); <!DOCTYPE html> <html
阅读全文
摘要:事件切换:toggle jq对象.toggle(fn1,fn2...) 当单击jq对象对应的组件后,会执行fn1.第二次点击会执行fn2..... 注意:1.9版本 .toggle() 方法删除,jQuery Migrate(迁移)插件可以恢复此功能。 <script src="../js/jque
阅读全文
摘要:jQuery事件绑定 jquery标准的绑定方式 jq对象.事件方法(回调函数); 注:如果调用事件方法,不传递回调函数,则会触发浏览器默认行为。 表单对象.submit();//让表单提交 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <
阅读全文
摘要:jQuery-遍历 js的遍历方式 for(初始化值;循环结束条件;步长) jq的遍历方式 1. jq对象.each(callback) 1. 语法: jquery对象.each(function(index,element){}); index:就是元素在集合中的索引 element:就是集合中的
阅读全文
摘要:jQuery-动画 三种方式显示和隐藏元素 1. 默认显示和隐藏方式 1. show([speed,[easing],[fn]]) 1. 参数: 1. speed:动画的速度。三个预定义的值("slow","normal", "fast")或表示动画时长的毫秒数值(如:1000) 2. easing
阅读全文
摘要:jQuery-案例-qq表情选择 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>QQ表情选择</title> <script src="../../js/jquery-3.3.1.min.js"></script> <st
阅读全文
摘要:jQuery-案例-隔行换色 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>隔行换色</title> <script src="../../js/jquery-3.3.1.min.js"></script> <script>
阅读全文
摘要:CRUD操作: 1.append():父元素将子元素追加到末尾 * 对象1.append(对象2):将对象2添加到对象1元素内部,并且在末尾 2.prepend():父元素将子元素追加到开头 * 对象1.prepend(对象2):将对象2添加到对象1元素内部,并且在开头 3.appendTo():
阅读全文
摘要:DOM的通用属性 attr():获取/设置元素的属性 removeAttr():删除属性 prop():获取/设置元素的属性 removeProp():删除属性 attr和prop区别: 1、如果操作的是元素的固有属性,则建议使用prop 2、如果操作的是元素自定义的属性,则建议使用attr <!D
阅读全文
摘要:JQuery表单过滤选择器 1. 可用元素选择器 语法: :enabled 获得可用元素2. 不可用元素选择器 语法: :disabled 获得不可用元素3. 选中选择器 语法: :checked 获得单选/复选框选中的元素4. 选中选择器 语法: :selected 获得下拉框选中的元素 <!DO
阅读全文
摘要:属性选择器1. 属性名称选择器 语法: $("A[属性名]") 包含指定属性的选择器2. 属性选择器 语法: $("A[属性名='值']") 包含指定属性等于指定值的选择器3. 复合属性选择器 语法: $("A[属性名='值'][]...") 包含多个属性条件的选择器 <!DOCTYPE HTML
阅读全文
摘要:JQuery基本选择器 1. 标签选择器(元素选择器) 语法: $("html标签名") 获得所有匹配标签名称的元素 2. id选择器 语法: $("#id的属性值") 获得与指定id属性值匹配的元素3. 类选择器 语法: $(".class的属性值") 获得与指定的class属性值匹配的元素4.
阅读全文
摘要:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JQuery对象和js对象的转换</title> <script src="js/jquery-3.3.1.min.js"></script> </head>
阅读全文
摘要:JQuery概念 概念:一个JAVAScript框架 jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(框架)。 jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。 它封装Jav
阅读全文
摘要:Listener:监听器 * 概念:web的三大组件之一 * 事件:一件事情 * 事件源:事件发生的地方 * 监听器:一个对象 * 注册监听:将事件,事件源,监听器绑定在一起,当事件源发生某个事件后,执行监听器代码 ServletContextListener:监听ServletContext对象的
阅读全文
摘要:动态代理-基本实现步骤 动态代理,增强对象Lenove 三个参数: 1.类加载器:真实对象.getClass().getClassLoader() 2.接口数组:真实对象.getClass().getInterfaces() 3.处理器:new InvocationHandler() 代理逻辑编写的
阅读全文
摘要:Filter过滤敏感词汇案例 需求∶ 1.对用户信息案例录入的数据进行敏感词汇过滤 2.敏感词汇参考 傻蛋.坏蛋...... 3.如果是敏感词汇,替换为*** 分析: 1.对request对象进行增强。增强获取参数相关方法 2.放行。传递代理对象 SensitiveWordsFilter: /**
阅读全文
摘要:Fitter-案例-登录验证-分析 需求: 1. 访问day17_case案例的资源。验证其是否登录 2. 如果登录了,则直接放行。 3. 如果没有登录,则跳转到登录页面,提示"您尚未登录,请先登录" Fitter-登录验证-代码实现 package com.example.day17_case.w
阅读全文
摘要:Fitter-细节-过滤器拦截方式配置 拦截方式配置:资源被访问的方式 注解配置: 设置dispatcherTypes属性 1. REQUEST:默认值。浏览器直接请求资源 2. FORWARD:转发访问资源 3. INCLUDE:包含访问资源 4. ERROR:错误跳转资源 5. ASYNC:异步
阅读全文
摘要:Fitter-细节-过滤器拦截路径配置 1. 具体资源路径: /index.jsp 只有访问index.jsp资源时,过滤器才会被执行 2. 拦截目录: /user/* 访问/user下的所有资源时,过滤器都会被执行 3. 后缀名拦截: *.jsp 访问所有后缀名为jsp资源时,过滤器都会被执行 4
阅读全文
摘要:Filter细节web.xml配置方式 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSc
阅读全文
摘要:Filter概述 Filter:过滤器 Filter是一层过滤网,无论进出都会经过filter 生活中的过滤器:净水器,空气净化器... web中的过滤器:当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能。 过滤器的作用: 一般用于完成通用的操作。如:登录验证、统一编码处理、敏感字
阅读全文
摘要:复杂条件查询 总记录数统计的代码实现 UserDao接口: /** * 查询总记录数 * @return * @param condition */ int FindTotalCount(Map<String, String[]> condition); /** * 分页查询每页记录 * @para
阅读全文
摘要:分页查询功能分析 好处: 减轻服务器内存的开销 提升用户体验 分析具体步骤 PageBean实体类: package com.example.domain; import java.util.List; /* 分页对象(分页查询实体类) */ public class PageBean<T> { p
阅读全文
摘要:删除选中功能分析 获取选中条目id的代码实现 list.jsp: <form id="form" action="${pageContext.request.contextPath}/delSelectedServlet" method="post"> </form> 使用form标签将整个tabl
阅读全文
摘要:删除功能分析 list.jsp: <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"
阅读全文
摘要:添加功能分析 添加功能代码实现 public class AddUserServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) thr
阅读全文
摘要:登录功能_代码实现 public class LoginServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) thr
阅读全文
摘要:页面调整 在jsp页面添加 (添加,删除,查询) <div style="float: right;margin: 5px;"> <a class="btn btn-primary" href="${pageContext.request.contextPath}/add.jsp">添加联系人</a
阅读全文
摘要:列表查询分析: 代码实现: 配置文件 driverClassName=com.mysql.cj.jdbc.Driver url=jdbc:mysql:///db2 username=root password=root #初始化连接数量 initialSize=5 #最大连接数 maxActive=
阅读全文
摘要:案例:用户信息列表展示 1.需求:用户信息的增删改查操作 2.设计: 1.技术选型:Servlet+JSP+Mysql+JDBCTempleat+Duird+BeanUtils+tomcat 2.数据库设计 create database day17; -- 创建数据库 use day17; --
阅读全文
摘要:三层架构:软件设计架构 1.页面层(表示层):用户看的页面,用户可以通过界面上的组件和服务器进行交互 2.业务逻辑层:处理业务逻辑的 3.数据访问层:操作数据存储文件
阅读全文
摘要:JSTL的常用标签choose choose相当于java代码中的switch语句 完成数字编号对应星期几案例 1、域中存储数字 2、使用choose标签取出数字 相当于switch声明 3、使用when标签做数字判断 相当于case 4、otherwise标签做其他情况的说明 相当于default
阅读全文
摘要:JSTL概述 1.概念:JavaServlet Pages Tag Library(JSP标准标签库) 是由Apache组织提供的开源的免费的jsp标签 <标签> 2.作用:用于简化和替换jsp页面上的java代码 3.使用步骤: 1.导入jstl相关jar包 2.引入标签库:taglib指令:<%
阅读全文
摘要:EL_获取域中存储的值List集合&Map集合值 List集合:${域名称.键名[索引]} <% User user = new User(); user.setName("张三"); user.setAge(23); user.setBirthday(new Date()); request.se
阅读全文
摘要:EL_获取域中存储的值 1.获取值: 1.el表达式只能从域对象获取值 2.语法: 1.${域名称.键名}:从指定域中获取指定键的值 域名称: 1.pageScope -- > pageContext 2.requestScope -- > request 3.sessionScope -- > s
阅读全文
摘要:EL表达式 1.概念:Expression Language 表达式语言 2.作用:替换和简化jsp页面中java代码的编写 3.语法:${表达式} 4.注意: * jsp默认支持el表达式的,如果要忽略el表达式 1.设置jsp中page指令中:isELIgnored="true" 忽略当前jsp
阅读全文
摘要:MVC:开发模式 1.jsp演变历史 1.早期只有servlet,只能使用response输出标签数据,非常麻烦 2.后来又jsp,简化了Servlet的开发,如果过度使用jsp,在jsp中即写大量的java代码,有写html表,造成难于维护,难于分工协作 3.再后来,java的web开发,借鉴mv
阅读全文