08 2022 档案
摘要:基本介绍 当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。 稀疏数组的处理方法是: 1、记录数组一共有几行几列,有多少个不同的值 2、把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模 稀疏数组转换思路分析 二维数组转稀疏数组的思路 1、遍历原
阅读全文
摘要:压缩、解压缩 tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩 -c:创建一个新tar文件 -v:显示运行过程的信息 -f:指定文件名 -z:调用gzip压缩命令进行压缩 -t:查看压缩文件的内容 -x:解开tar文件 打包: tar -cvf xxx.tar
阅读全文
摘要:文件列表 ls #表示查看当前目录下的文件 ls -a #表示查看当前目录下的所有文件(包含隐藏文件) ls -l #表示查看当前目录下的详细信息 ll #表示查看当前目录下的详细信息(和 ls -l相同) 目录切换 cd cd app/ #表示进入当前目录下的app目录 cd / #表示进入系统根
阅读全文
摘要:Linux的概述:Linux是基于Unix的Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。(Linux操作系统它是基于Unix的,而且最重要的是它是开放源代码,也就是开源的,那就意味着我们可以去使用很多免费的Linux的版本。) Linux可
阅读全文
摘要:分析 后台代码 RouteServlet类: /** * 添加收藏 * @param request * @param response * @throws ServletException * @throws IOException */ public void addFavorite(HttpS
阅读全文
摘要:判断当前登录用户是否收藏过该线路 当页面加载完成后,发送ajax请求,获取用户是否收藏的标记, 根据标记,展示不同的按钮样式 后台代码 RouteServlet类: /** * 判断当前登录用户是否收藏过该线路 * @param request * @param response * @throws
阅读全文
摘要:分析: 后台代码 RouteServlet类: /** * 根据id查询一个旅游线路的详细信息 * @param request * @param response * @throws ServletException * @throws IOException */ public void fin
阅读全文
摘要:旅游线路查询—参数传递 header.html页面: //给搜索按钮绑定单击事件,获取搜索输入框的内容 $("#search-button").click(function () { var rname = $("#search_input").val(); var cid = getParamet
阅读全文
摘要:类别id传递 点击了不同的分类后将来看到的旅游线路不一样的。通过分析数据库表结构,发现 旅游线路表和分类表是一个多对一的关系 CategoryServiceImpl实现类: public class CategoryServiceImpl implements CategoryService { p
阅读全文
摘要:分析 代码实现 后台代码实现 BaseServlet类: 将对象序列化为json方法进行抽取 /** * 直接将传入的对象序列化为json,并且写回客户端 * @param obj */ public void writeValue(Object obj,HttpServletResponse re
阅读全文
摘要:BaseServlet抽取 优化Servlet 减少Servlet的数量,现在是一个功能一个Servlet,将其优化为一个模块一个Servlet, 相当于在数据库中一张表对应一个Servlet,在Servlet中提供不同的方法,完成用户的请求。 UserServlet类: @WebServlet("
阅读全文
摘要:登录功能分析 代码实现 LoginServlet类: @WebServlet("/loginServlet") public class LoginServlet extends HttpServlet { protected void doPost(HttpServletRequest reque
阅读全文
摘要:发送邮件 生成授权码: 打开QQ邮箱 在MailUtils工具类中设置: 执行MailUtils工具类中的main方法: 点击激活分析 UserServiceImpl实现类: public class UserServiceImpl implements UserService { private
阅读全文
摘要:验证码和前台数据处理结果 RegistUserServlet类: @WebServlet("/registUserServlet") public class RegistUserServlet extends HttpServlet { protected void doPost(HttpServ
阅读全文
摘要:异步提交表单 在此使用异步提交表单是为了获取服务器响应的数据。因为我们前台使用的是html作为视图层, 不能够直接从servlet相关的域对象获取值 ,只能通过ajax获取响应数据 register.html页面: <script> /* 表单校验: 1、用户名:单词字符,长度8到20位 2、密码:
阅读全文
摘要:注册功能分析 表单校验 表单校验: 1、用户名:单词字符,长度8到20位 2、密码:单词字符,长度8到20位 3、email:邮件格式 4、姓名:非空 5、手机号:手机号格式 6、出生日期:非空 7、验证码:非空 <!DOCTYPE html> <html lang="en"> <head> <me
阅读全文
摘要:项目导入 资料连接: https://pan.baidu.com/s/1Xp97dflG_i1a8DyTKJWAjg 提取码:java 选择项目的pom.xml文件导入 项目启动 第一种方式: 第二种方式: 启动Maven: 技术选型 Web层 Servlet:前端控制器 html:视图 Filte
阅读全文
摘要:maven的java工程取mysql数据库数据 创建User实体类: public class User { private int id; private String NAME; @Override public String toString() { return "User{" + "id=
阅读全文
摘要:maven工程servlet实例之指定web资源包 在webapp包下可以直接创建jsp文件 ,但是在java包下我们不可以直接创建jsp文件。 如果想要在java包下创建jsp文件,就需要设置: 可以看到在java包那里出现了和webapp包一样的小蓝点 如果想要删除: 选中要删除的包,点击“-”
阅读全文
摘要:不使用骨架创建maven的java工程 新创建的maven项目的目录结构 使用骨架创建maven的web工程 新创建的项目的目录结构: 创建之后的项目目录结构:
阅读全文
摘要:idea集成maven插件 关闭设置界面 使用骨架创建maven的java工程 新创建的项目目录结构
阅读全文
摘要:Maven的生命周期 清理生命周期:在开始真正的项目构建之前进行一些清理工作。每套生命周期都由一组阶段(Phase)来组成,我们平时在控制台输入的命令总是会对应于一个特定的阶段, 比如运行mvn clean,这里的clean就是清理生命周期的一个阶段。 清理生命周期一共包含了三个阶段: pre-cl
阅读全文
摘要:Maven标准目录结构 maven项目标准目录结构 src/main/java目录:核心代码部分 src/main/resources:配置文件部分 src/test/java目录:测试代码部分 src/test/resourcess:测试配置文件 src/main/webapp:页面资源,js,c
阅读全文
摘要:Maven的安装 下载地址:https://maven.apache.org/download.cgi Maven下载完成后,将Maven解压到一个没有中文没有空格的路径下 解压后的目录结构: bin:存放了maven的命令,包含了mvn运行的脚本,bat结尾的是windows批处理脚本 boot:
阅读全文
摘要:Maven概述 Maven是一个项目管理工具,它包含了一个项目对象模型(POM:Project Object Model), 一组标准集合,一个项目生命周期(Project LifeCycle),一个依赖管理系统(Dependency managerment System), 和用来运行定义在生命周
阅读全文
摘要:案例需求: 1. 提供index.html页面,页面中有一个省份 下拉列表 2. 当 页面加载完成后 发送ajax请求,加载所有省份 sql语句: CREATE DATABASE day23; -- 创建数据库 USE day23; -- 使用数据库 CREATE TABLE province( -
阅读全文
摘要:Jedis连接池 Jedis连接池:JedisPool 使用: 1、创建JedisPool连接池对象 2、调用方法getResource()方法获取Jedis连接 /** * jedis连接池使用 */ @Test public void test7(){ //创建一个配置对象 JedisPoolC
阅读全文
摘要:哈希类型 hash:map格式 hset hget hgetAll /** * hash 数据结构操作 */ @Test public void test3(){ //1、获取连接 Jedis jedis = new Jedis();//如果使用空参构造,默认值就是“localhost”,6379端
阅读全文
摘要:Jedis快速入门 Jedis:一款java操作redis数据库的工具 使用步骤: 1、下载jedis的jar包 2、使用 /** * jedis的测试类 */ public class JedisTest { /** * 快速入门 */ @Test public void test1(){ //1
阅读全文
摘要:持久化 1、redis是一个内存数据库,当redis服务器重启,获取电脑重启,数据会丢失, 我们可以将redis内存中的数据持久化保存到硬盘的文件中。 2、redis持久化机制: 1、RDB:默认方式,不需要进行配置,默认就是用这种机制 在一定间隔时间中,检测key的变化情况,然后持久化数据 1、编
阅读全文
摘要:命令操作——list 列表类型 list:可以添加一个元素到列表的头部(左边)或者尾部(右边) 添加: 1、lpush key value:将元素加入列表左边 2、rpush key value:将元素加入列表右边 获取: lrange key start end:范围获取 删除: lpop key
阅读全文
摘要:redis的数据结构 redis存储的是:key,value格式的数据,其中key都是字符串,value有5中不同的数据结构 value的数据结构: (1) 字符串类型 string (2) 哈希类型 hash (3) 列表类型 list (4) 集合类型 set (5) 有序集合类型 sorted
阅读全文
摘要:redis的概述 概念:redis是一款高性能的NOSQL系列的非关系型数据库 关系型数据库: 1、数据之间有关联关系 2、数据存储在硬盘文件中 非关系型数据库: 1、数据之间没有关联关系 2、数据存储在内存中 什么是NOSQL NoSQL(NoSQL = Not Only SQL),意即“不仅仅是
阅读全文
摘要:json转java对象 使用步骤: 1、导入jackson的相关jar包 2、创建Jackson核心对象 ObjectMapper 3、调用ObjectMapper的相关方法进行转换 1、readValue(json字符串数据,Class); @Test public void test5() th
阅读全文
摘要:java对象转json json解析器: 常见的解析器:Jsonlib,Gson,fastjson,jackson 使用步骤: 1、导入jackson的相关jar包 2、创建Jackson核心对象 ObjectMapper 3、调用ObjectMapper的相关方法进行转换 转换方法: writeV
阅读全文
摘要:JSON的概念 概念:JavaScript Object Notation JavaScript对象表示法 json现在多用于存储和交换文本信息的语法 进行数据的传输 JSON比XML更小、更快,更易解析 JSON 是轻量级的文本数据交换格式JSON 独立于语言:JSON 使用 Javascript
阅读全文
摘要:JQuery实现方式 1、$.ajax() <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="js/jquery-3.3.1.min.js"></scrip
阅读全文
摘要:AJAX的概念 概念: ASynchronous JavaScript And XML 异步的JavaScript 和 XML 1. 异步和同步:客户端和服务器端相互通信的基础上 客户端必须等待服务器端的响应。在等待的期间客户端不能做其他操作。 客户端不需要等待服务器端的响应。在服务器处理请求的过程
阅读全文
摘要:案例—广告显示和隐藏 需求: 1、当页面加载完,3秒后。自动显示广告 2、广告显示5秒后,自动消失 分析: 1、使用定时器来完成,setTimeout(执行一次定时器) 2、分析发现JQuery的显示和隐藏动画效果其实就是控制display 3、使用 show/hide方法来完成广告的显示 <!DO
阅读全文
摘要:事件绑定 1. jquery标准的绑定方式 jq对象.事件方法(回调函数); 注:如果调用事件方法,不传递回调函数,则会触发浏览器默认行为。 表单对象.submit();//让表单提交 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <tit
阅读全文
摘要:遍历 1、js的遍历方式 for(初始值;循环结束条件;步长) <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="../../js/jquery-3.3.1.min.js" type="
阅读全文
摘要:动画 1. 三种方式显示和隐藏元素 1. 默认显示和隐藏方式 1. show([speed],[easing],[fn]]) 1. 参数: 1. speed:动画的速度。三个预定义的值("slow","normal", "fast")或表示动画时长的毫秒数值(如:1000) 2. easing:用来
阅读全文
摘要:案例——隔行换色 需求:将数据行的奇数行背景色设置为 pink,偶数行背景色设置为 yellow <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="../../js/jquery-3.3
阅读全文
摘要:CRUD操作 1. append():父元素将子元素追加到末尾 对象1.append(对象2): 将对象2添加到对象1元素内部,并且在末尾 2. prepend():父元素将子元素追加到开头 对象1.prepend(对象2):将对象2添加到对象1元素内部,并且在开头 3. appendTo(): 对
阅读全文
摘要:通用属性操作 attr():获取/设置元素的属性 removeAttr():删除属性 prop():获取/设置元素的属性 removeProp():删除属性 attr和prop区别: 1、如果操作的是元素的固有属性,则建议使用prop 2、如果操作的是元素自定义的属性,则建议使用attr <!DOC
阅读全文
摘要:表单过滤选择器 1. 可用元素选择器 语法: :enabled 获得可用元素 2. 不可用元素选择器 语法: :disabled 获得不可用元素 3. 选中选择器 语法: :checked 获得单选/复选框选中的元素 4. 选中选择器 语法: :selected 获得下拉框选中的元素 <!DOCTY
阅读全文
摘要:属性选择器 1. 属性名称选择器 语法: $("A[属性名]") 包含指定属性的选择器 2. 属性选择器 语法: $("A[属性名='值']") 包含指定属性等于指定值的选择器 3. 复合属性选择器 语法: $("A[属性名='值'][]...") 包含多个属性条件的选择器 <!DOCTYPE HT
阅读全文
摘要:基本选择器 1. 标签选择器(元素选择器) 语法: $("html标签名") 获得所有匹配标签名称的元素 2. id选择器 语法: $("#id的属性值") 获得与指定id属性值匹配的元素 3. 类选择器 语法: $(".class的属性值") 获得与指定的class属性值匹配的元素 4. 并集选择
阅读全文
摘要:JQuery对象和JS对象区别转换 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="js/jquery-3.3.1.min.js"></script> <
阅读全文
摘要:JQuery概念 概念:一个JavaScript框架,简化js开发 jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(框架)。 jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。
阅读全文
摘要:Listener概述 Listener:监听器 概念:web的三大组件之一。 事件监听机制 事件:一件事情 事件源:事件发生的地方 监听器:一个对象 注册监听:将事件、事件源、监听器绑定在一起。当事件源上发生某个事件后,执行监听器代码 ServletContextListener:监听Servlet
阅读全文
摘要:过滤敏感词汇分析 需求: 1. 对day17_case案例录入的数据进行敏感词汇过滤 2. 敏感词汇参考《敏感词汇.txt》 3. 如果是敏感词汇,替换为 *** 分析: 1、对request对象进行增强。增强获取参数相关方法 2、放行。传递代理对象 代码实现 /** * 敏感词汇过滤器 */ @W
阅读全文
摘要:增强对象的功能: 设计模式:一些通用的解决固定问题的方式 1、装饰模式 2、代理模式 概念: 1、真实对象:被代理的对象 2、代理对象: 3、代理模式:代理对象代理真实对象,达到增强真实对象功能的目的 实现方式: 1、静态代理:有一个类文件描述代理模式 2、动态代理:在内存中形成代理类 实现步骤:
阅读全文
摘要:登陆验证的分析 1、需求 1. 访问day17_case案例的资源。验证其是否登录 2. 如果登录了,则直接放行。 3. 如果没有登录,则跳转到登录页面,提示"您尚未登录,请先登录"。 代码实现: LoginFilter: /** * 登陆验证的过滤器 */ @WebFilter("/*") pub
阅读全文
摘要:过滤器拦截路径配置 1、具体资源路径:/index.jsp 只有访问index.jsp资源时,过滤器才会被执行 2、拦截目录:/user/* 访问/user下的所有资源时,过滤器都会被执行 3、后缀名拦截:*.jsp 访问所有后缀名为jsp资源时,过滤器都会被执行 4、拦截所有资源:/* 访问所有资
阅读全文
摘要:Filter细节web.xml配置方式 <filter> <filter-name>filedemo1</filter-name> <filter-class>com.tomcat1.web.filter.FilterDemo1</filter-class> </filter> <filter-ma
阅读全文
摘要:Filter概述 过滤器:一个拥有过滤/拦截功能的东西,过滤掉一些不想要的,不和谐的东西。 Web中的过滤器(Filter):当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能。 过滤器的作用: 过滤器可以对所有的请求或者响应做拦截操作 1、以常规的方式调用资源(Servlet/JS
阅读全文
摘要:复杂条件查询功能分析 总记录数统计的代码实现 UserDao接口: /** * 查询总记录数 * @return * @param condition */ int FindTotalCount(Map<String, String[]> condition); /** * 分页查询每页记录 * @
阅读全文
摘要:分页查询功能分析 分析具体步骤 PageBean实体类: /** * 分页对象 */ public class PageBean<T> { private int totalCount; //总记录数 private int totalPage; //总页码 private List<T> list
阅读全文
摘要:删除选中功能分析 获取选中条目id的代码实现 list.jsp: <form id="form" action="${pageContext.request.contextPath}/delSelectedServlet" method="post"> </form> 使用form标签将整个tabl
阅读全文
摘要:删除功能分析 删除功能代码实现 list.jsp: 在forEach遍历中修改: <a class="btn btn-default btn-sm" href="javascript:deleteUser(${user.id});">删除</a> <script> function deleteUs
阅读全文
摘要:list.jsp页面的调整: <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!--
阅读全文
摘要:需求分析和设计 1、需求:用户信息的增删改查操作 2、设计: 1、技术选型:Servlet+JSP+MySQL+JDBCTempleat+Druid+BeanUtils+tomcat 2、数据库设计: create database day17; -- 创建数据库 use day17; -- 使用数
阅读全文
摘要:JSTL练习 需求: 在request域中有一个存有User对象的List集合。 需要使用jstl+el将list集合数据展示到jsp页面的表格table中 <%@ page import="java.util.List" %> <%@ page import="java.util.ArrayLis
阅读全文
摘要:JSTL的常用标签choose choose相当于java代码中的switch语句 完成数字编号对应星期几案例 1、域中存储数字 2、使用choose标签取出数字 相当于switch声明 3、使用when标签做数字判断 相当于case 4、otherwise标签做其他情况的说明 相当于default
阅读全文
摘要:JSTL的概述 1.概念: JavaServer Pages Tag Library JSP 标准标签库,是由Apache组织提供的开源免费的jsp标签 JSTL是apache对EL表达式的扩展(也就是说JSTL依赖EL),JSTL是标签语言! JSTL标签使用起来非常方便,它与JSP动作标签一样,
阅读全文
摘要:获取域中List集合和Map集合存储的值 List集合: ${域名称.键名[索引]} <% User user = new User(); user.setName("张三"); user.setAge(30); user.setBirthday(new Date()); List list = n
阅读全文
摘要:EL获取域中存储的值 1、el表达式只能从域对象中获取值 2、语法: 1、${域名城.键名}:从指定域中获取指定键的值 域名城: 1、pageScope ——>pageContext 2、requestScope ——>request 3、sessionScope ——>session 4、appl
阅读全文
摘要:EL表达式的概述 1、概念:Expression language 表达式语言 它是Servlet规范中的一部分,是JSP2.0规范加入的内容。 2、作用:替换和简化jsp页面中java代码的缩写 3、语法:${表达式} 4、注意: jsp的默认支持el表达式的。如果要忽略el表达式 1、设置jsp
阅读全文
摘要:MVC_jsp演变历史 jsp演变历史 1、早期只有servlet,只能使用response输出标签数据,非常麻烦 2、后来有jsp,简化了Servlet的开发,如果过度使用jsp,在jsp中即写大量的java代码,又些html表, 造成难于维护,难于分工协作 3、再后来,java的web开发,借鉴
阅读全文
摘要:注释 1、html注释 <!-- -->:只能注释html代码片段 2、jsp注释 <%-- --%>:可以注释所有 内置对象 在jsp页面中不需要创建,直接使用的对象 一共有9个: 变量名 真实类型 作用 pageContext PageContext 当前页面共享数据,还可以获取其他八个内置对象
阅读全文
摘要:JSP的概述 1、作用:用于配置JSP页面,导入资源文件 2、格式: <%@ 指令名称 属性名1=属性值1 属性名2=属性值2......%> 3、分类 1、page:配置JSP页面 2、include:页面包含的。导入页面的资源文件 3、taglib:导入资源 Page指令 page:配置JSP页
阅读全文
摘要:代码实现: login.jsp: <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>login</title> <script> window.onload = functio
阅读全文
摘要:session的特点 1、session用于存储一次会话的多次请求的数据,存在服务器端 2、session可以存储任意类型,任意大小的数据 session和Cookie的区别: 1、session存储数据在服务器端,Cookie在客户端 2、session没有数据大小限制,Cookie有 3、ses
阅读全文
摘要:Session原理分析 session的实现是依赖于cookie的 当客户端第一次请求会话对象时,服务器会创建一个 Session 对象,并为该 Session 对象分配一个唯一的 SessionID (用来标识这个 Session 对象); 服务器将 SessionID 以 Cookie(Cook
阅读全文
摘要:JSP改造Cookie案例 <%@ page import="java.net.URLDecoder" %> <%@ page import="java.util.Date" %> <%@ page import="java.text.SimpleDateFormat" %> <%@ page im
阅读全文
摘要:JSP的脚本 jsp的脚本:jsp定义java代码的方式 1、<%代码%>:定义的java代码,在service方法中。service方法中可以定义什么,该脚本中就可以定义什么。 2、<%!代码%>:定义的java代码,在jsp转换后的java类的成员位置。 3、<%=代码%>:定义的java代码,
阅读全文
摘要:JSP的概念 概念:Java Server Pages:java服务器端页面 JSP(全称Java Server Pages)是由 Sun Microsystems 公司倡导和许多公司参与共同创建的一种 使软件开发者可以响应客户端请求,而动态生成 HTML、XML 或其他格式文档的Web网页的技术标
阅读全文
摘要:Cookie案例分析 案例:记住上一次访问时间 需求: 1、访问一个Servlet,如果是第一次访问,则提示:您好,欢迎您首次访问。 2、如果不是第一次访问,则提示:欢迎回来,您上次访问时间为:显示时间字符串 分析: 1、可以采用Cookie来完成 2、在服务器中的Servlet判断是否是由一个名为
阅读全文
摘要:Cookie共享 cookie共享问题? 1、假设在一个tomcat服务器中,部署了多个web项目,那么在这些web项目中cookie能不能共享? 默认情况下cookie不能共享 setPath(String path):设置cookie的获取范围。默认情况下,设置当期的虚拟目录 如果要共享,则可以
阅读全文
摘要:Cookie存活时间 1、默认情况下,当浏览器关闭后,Cookie数据被销毁 2、持久化存储: setMaxAge(int seconds) 1、正数:将Cookie数据写到硬盘的文件中。持久化存储。cookie存活时间。 2、负数:默认值 3、零:删除cookie信息 @WebServlet("/
阅读全文
摘要:Cookie原理分析 基于响应头set-cookie和请求头cookie实现 发送多个Cookie 一次可不可以发送多个Cookie? 可以。 可以创建多个Cookie对象,使用response调用多次addCookie方法发送cookie即可 发送cookie: @WebServlet("/Coo
阅读全文
摘要:会话技术的概述 1、会话:一次会话中包含多次请求和响应 一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止 2、功能:再一次会话的范围内的多次请求间,共享数据 3、方式: 1、客户端会话技术:Cookie 2、服务端会话技术:Session Cookie的快速入门 使用步骤:
阅读全文
摘要:文件下载分析 文件下载需求: 1、页面显示超链接 2、点击超链接后弹出下载提示框 3、完成图片文件下载 分析: 1、超链接指向的资源如果能被浏览器解析,则在浏览器中展示,如果不能解析,则弹出下载提示框。不满足需求 2、任何资源都必须弹出下载提示框 3、使用响应头设置资源的打开方式 content-d
阅读全文
摘要:ServletContext功能域对象 域对象:共享数据 1、setAttribute(String name,Object value) 2、getAttribute(String name) 3、removeAttribute(String name) ServletContext对象范围:所有
阅读全文
摘要:ServletContext获取 获取: 1、通过request对象获取 request.getServletContext(); 2、通过HttpServlet获取 this.getServletContext(); @WebServlet("/servletContextDemo1") publ
阅读全文
摘要:Response验证码案例的点击切换 分析: 点击超链接或者图片需要换一张 1、给超链接和图片绑定单击事件 2、重新设置图片的src属性值 register.html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <t
阅读全文
摘要:Response验证码案例的分析 本质:是一张图片 目的:防止恶意表单注册 步骤: 1、创建一对象,在内存中画图(验证码图片对象) 2、美化图片 3、将图片输出到页面展示 @WebServlet("/checkCodeServlet") public class CheckCodeServlet e
阅读全文
摘要:Response输出字符数据 步骤: 1、获取字符输出流 2、输出数据 @WebServlet("/responseDemo3") public class ResponseDemo3 extends HttpServlet { protected void doPost(HttpServletRe
阅读全文
摘要:路径分类 1、相对路径:通过相对路径不可以确定唯一资源 如:./index.html 不以/开头,以 . 开头路径 规则:找到当前资源和目标资源之间的相对位置关系 ./:当前目录 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8
阅读全文
摘要:Response重定向的代码实现 重定向:资源跳转的方式 @WebServlet("/responseDemo1") public class ResponseDemo1 extends HttpServlet { protected void doPost(HttpServletRequest r
阅读全文
摘要:HTTP响应消息响应头 响应头: 1、格式:头名称:值 2、常见的响应值: 1、Content-Type:服务器告诉客户端本次响应体数据格式以及编码格式 2、Content-disposition:服务器告诉客户端以什么格式打开响应体数据 值: in-line:默认值,在当前页面内打开 attach
阅读全文
摘要:HTTP响应消息的概述 请求消息:客户端发送给服务器端的数据 数据格式: 1、请求行 2、请求头 3、请求空行 4、请求体 响应消息:服务器端发送给客户端的数据 数据格式: 1、响应行 2、响应头 3、响应空行 4、响应体 响应字符串格式 HTTP/1.1 200 Content-Type: tex
阅读全文
摘要:BeanUtils工具类,简化数据封装 导入jar包:commons-beanutils-1.8.0.jar LoginServlet: @WebServlet("/loginServlet") public class LoginServlet extends HttpServlet { @Ove
阅读全文
摘要:用户登录案例需求: 1.编写login.html登录页面 username & password 两个输入框 2.使用Druid数据库连接池技术,操作mysql,day14数据库中user表 3.使用JdbcTemplate技术封装JDBC 4.登录成功跳转到SuccessServlet展示:登录成
阅读全文
摘要:Request共享数据 共享数据: 域对象:一个有作用范围的对象,可以在范围内共享数据 request域:代表一次请求 方法: 1、void setAttribute(String name,Object obj):存储数据 2、Object getAttibute(String name):通过键
阅读全文
摘要:Request获取请求参数中文乱码问题处理 中文乱码问题: get方式:tomcat8已经将get方式乱码问题解决了 <body> <form action="/requestDemo3" method="get"> <input type="text" placeholder="请输入用户名" n
阅读全文
摘要:Request获取请求参数通用方式的介绍 获取请求参数通用方式:不论是get还是post请求方式都可以使用下列方法来获取请求参数 1、String getParameter(String name):根据参数名称获取参数值 2、String[] getParameterValues(String n
阅读全文
摘要:Request获取请求头数据 获取请求头数据 方法: 1、String getHeader(String name):通过请求头的名称获取请求头的值 2、Enumeration<String> getHeaderNames():获取所有的请求头名称 package com.tomcat1.web.r
阅读全文
摘要:Request获取请求行数据的方法介绍 获取请求行数据: GET /demo3?name=zhangsan HTTP/1.1 方法: 1、获取请求方式:GET String getMethod(); 2、获取虚拟目录: / String getContextPath(); 3、获取Servlet路径
阅读全文
摘要:Request的原理 request对象和response对象的原理 1、request和response对象是由服务器创建的 2、request对象是来获取请求消息,response对象是来设置响应消息 Request的继承体系 ServletRequest ——接口 | 继承 HttpServl
阅读全文
摘要:请求消息数据格式 请求行: 请求方式 请求url 请求协议/版本 GET /login.html HTTP/1.1 请求方式: HTTP协议有7种请求方式,常用的有2中 GET: 1、请求参数在请求行中,在url后 2、请求的url长度有限制 3、不太安全 POST: 1、请求参数在请求体中 2、请
阅读全文
摘要:Servlet中urlpartten配置 urlpartten:Servlet的访问路径 1、一个Servlet可以定义多个访问路径 @WebServlet({"/demo3","/d3","dd3"}) public class ServletDemo3 extends HttpServlet {
阅读全文
摘要:IDEA和tomcat相关配置 1、IDEA会为每一个tomcat部署的项目单独建立一份配置文件 查看控制台的log: Using CATALINA_BASE: "C:\Users\xjw\AppData\Local\JetBrains\IntelliJIdea2020.1\tomcat\Tomca
阅读全文
摘要:Servlet生命周期详解 1、被创建:执行init方法,只执行一次 Servlet什么时候被创建? 默认情况下,第一次被访问时,Servlet被创建 在Servlet标签下可以配置执行Servlet的创建时机。 1、第一次被访问时创建 <load-on-startup>的值为负数 2、在服务器启动
阅读全文
摘要:Servlet执行原理 执行原理: 1、当服务器接受到客户端浏览器的请求后,会解析请求URL路径,获取访问的Servlet的资源路径 2、查找web.xml是否有对应的<url-pattern>标签体内容 3、如果有,则在找到对应的<servlet-calss>全类名 4、tomcat会将字节码文件
阅读全文
摘要:Servlet概述 概念:运行在服务器端的小程序 Servlet就是一个接口,定义了java类被浏览器访问到(tomcat识别)的规则 将来我们自定义一个类,实现Servlet接口,复写方法 Servlet的快速入门 快速入门: 1、创建JavaEE项目 2、定义一个类,实现Servlet接口 3、
阅读全文
摘要:tomcat动态java项目的目录结构 静态项目和动态项目: 目录结构: java动态项目的目录结构: 项目的根目录 WEB-INF目录: web.xml:web项目的核心配置文件 classes目录:放置字节码文件的目录 lib目录:放置依赖的jar包 与IDEA集成和创建web项目 将Tomca
阅读全文
摘要:tomcat的关闭 1、正常关闭 1、在bin目录下找到shutdown.bat 2、在窗口按ctrl+c 2、强制关闭 点击右上角的”X“号 tomcat的部署项目的方式 部署项目的方式: 1、直接将项目放到webapps目录下即可 简化部署:将项目打成一个war包,再讲war包放置到webapp
阅读全文
摘要:Tomcat安装、卸载、启动 Tomcat:web服务软件 1、下载:https://tomcat.apache.org/ 在右边目录选择下载的版本,并选择下载压缩包 2、安装:解压压缩包即可 注意:安装目录建议不要有中文和空格 3、卸载:删除目录就行了 4、启动:在目录中的bin目录下选择star
阅读全文
摘要:web相关概念回顾 1、软件架构 1、C/S:客户端/服务器端 2、B/S:浏览器/服务器端 2、资源分类 1、静态资源:所有用户访问后,得到的结果都是一样的,称为静态资源, 静态资源可以直接被浏览器解析 如:html、css、JavaScript 2、动态资源:每个用户访问相同资源后 ,得到的结果
阅读全文
摘要:xml解析Jsoup根据选择器查询 selector:选择器 使用的方法:Elements select(String cssQuery); 语法:参考Selector类中定义的语法 public class JsoupDemo04 { public static void main(String[
阅读全文
摘要:xml解析Document对象 Document:文档对象。代表内存中的dom树 获取Element对象 getElementById(String id):根据id属性值获取唯一的element对象 getElementsByTag(String tagname):根据标签名称获取元素对象集合 g
阅读全文
摘要:xml解析Jsoup快速入门 快速入门: 步骤: 1、导入jar包 2、获取Document对象 3、获取对应的标签Element对象 4、获取数据 /** * Jsoup快速入门 */ public class JsoupDemo01 { public static void main(Strin
阅读全文
摘要:xml的解析方式 解析:操作xml文档,将文档中的数据读取到内存中 操作xml文档: 1、解析(读取):将文档中的数据读取到内存中 2、写入:将内存中的数据保存到xml文档中。持久化的存储 解析xml的方式: 1、DOM:将标记语言文档一次性加载进内存,在内存中形成了一颗dom树 优点:操作方便,可
阅读全文
摘要:xml中dtd约束 DTD: 引入dtd文档到xml文档中 内部dtd:将约束规则定义在xml文档中 外部dtd:将约束的规则定义在外部的dtd文件中 本地: <!DOCTYPE 根标签名称 SYSTEM "dtd文件的位置"> 网络: <!DOCTYPE 根标签名称 PUBLIC "dtd文件名字
阅读全文
摘要:xml的组成部分 1、文档声明 1、格式:<?xml 属性列表?> 2、属性列表: version:版本号,必须的属性 encoding:编码格式,告知解析引擎当前文档使用的字符集,默认:ISO-8859-1 standalone:是否独立 取值: yes:不依赖其他文件 no:依赖其他文件 2、指
阅读全文
摘要:xml的概述 概念:Extensible markup language 可扩展标记语言 可扩展:标签都是自定义的。<user> <username> 功能: 存储数据: 1、配置文件 2、在网络中传输 xml和html的区别: 1、xml标签都是自定义的,html标签是预定义。 2、xml的语法严
阅读全文
摘要:旅游网案例的分析和实现 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport"
阅读全文
摘要:Bootstrap组件导航条和分页条 导航条: 导航条是在您的应用或网站中作为导航页头的响应式基础组件。 它们在移动设备上可以折叠(并且可开可关),且在视口(viewport)宽度增加时逐渐变为水平展开模式。 <!DOCTYPE html> <html lang="en"> <head> <meta
阅读全文
摘要:Bootstrap全局CSS样式按钮和图片 全局CSS样式: 按钮:class="btn btn-default" <body> <a class="btn btn-default" href="#">Link</a> <button class="btn btn-default" type="su
阅读全文
摘要:Bootstrap栅格系统的入门 响应式布局 同一套页面可以兼容不同分辨率的设备 实现:依赖于栅格系统:将一行平均分成12个格子,可以指定元素占几个格子 步骤: 1、定义容器。相当于之前的table 容器分类: 1、container:两边留白 2、container-fluid: 每一种设备都是1
阅读全文
摘要:Bootstrap概述 概念:一个前端开发的框架,Bootstrap来自Twitter,是目前很受欢迎的前端框架, Bootstrap是基于HTML、CSS、JavaScript 开发的简洁、直观、强悍的前端开发框架,使得 Web 开发更加快捷。 框架:一个半成品软件,开发人员可以在框架基础上再进行
阅读全文
摘要:表格全选案例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>表格全选</title> <style> table{ border: 1px solid; width: 500px; margin-left:
阅读全文
摘要:事件的概述 概念:某些组件被执行了某些操作后,触发某些代码的执行 事件:某些操作。如:单击,双击 事件源:组件。如:按钮,文本输入框 监听器:代码。 注册监听:将事件、事件源、监听器结合在一起。当事件源上发生了某个事件后,则触发某个监听器代码 常见的事件: 1、点击事件 1、onclick:单击事件
阅读全文
摘要:HTMLDOM中innerHTML 标签体的设置和获取:innerHTML innerHTML属性 获取元素内容最简单的方法是使用 innerHTML 属性。 innerHTML 属性可用于获取或替换 HTML 元素的内容。 innerHTML 属性可用于获取或改变任何 HTML 元素,包括 <ht
阅读全文
摘要:动态表格添加和删除 分析: 1、添加: 1、给添加按钮绑定单击事件 2、获取文本框的内容 3、创建td,设置td的文本为文本框的内容 4、将td添加到tr中 5、获取table,将tr添加到table中 2、删除: 1、确定点击的是哪一个超链接 2、怎么删除 <!DOCTYPE html> <htm
阅读全文
摘要:DOM_Element对象 Element:元素对象 1、获取/创建:通过document来获取和创建 2、方法: 1、removeAttribute():删除属性 2、setAttribute():设置属性 <!DOCTYPE html> <html lang="en"> <head> <meta
阅读全文
摘要:DOM_Document对象获取Element方法 Document:文档对象 1、创建(获取): 在HTML DOM模型中可以使用window对象来获取 1、window.document 2、document 2、方法 1、获取Element对象: 1、getElementById():根据id
阅读全文
摘要:自动跳转首页案例 分析: 1、显示页面效果 2、倒计时读秒效果实现 定义一个方法,获取span标签,修改span标签体内容,时间-- 定义一个执行器,1秒执行1次该方法 3、在方法中判断时间如果<=0,则跳转页面 <!DOCTYPE html> <html lang="en"> <head> <me
阅读全文
摘要:BOM_window属性 属性: 1、获取其他BOM对象: history:对 History 对象的只读引用。 location:用于窗口或框架的 Location 对象 Navigator:对 Navigator 对象的只读引用 Screen:对 Screen 对象的只读引用 2、获取DOM对象
阅读全文
摘要:BOM_window定时器方法 3、与定时器有关的方法 setTimeout() 在指定的毫秒数后调用函数或计算表达式。 参数: 1、js代码或者方法对象 2、毫秒值 返回值:唯一标识,用来取消定时器 clearTimeout() 取消由setTimeout()方法设置的timeout。 setIn
阅读全文
摘要:BOM_window弹出方法 Window:窗口对象 1、创建 2、方法 1、与弹出框有关的方法 alert() 显示带有一段消息和一个确认按钮的警告框。 confirm() 显示带有一段信息以及确认按钮和取消按钮的对话框 如果用户点击确定按钮,则方法返回true 如果用户点击取消按钮,则方法返回f
阅读全文
摘要:案例电灯开关 分析: 1、获取图片对象 2、绑定单击事件 3、每次点击切换图片 规则: 如果灯是开的on,切换图片为off 如果灯是关的off,切换图片为on 使用标记flag来完成 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF
阅读全文
摘要:DOM简单学习 功能:控制HTML文档的内容 代码:获取页面标签(元素)对象 Element document.getElementById(“id值”); 通过元素id获取元素对象 操作Element对象: 1、修改属性值 1、明确获取的对象是哪一个 2、查看API文档,找其中有哪些属性可以设置
阅读全文
摘要:JavaScript对象RegExp对象 RegExp:正则表达式对象 1、正则表达式:定义字符串的组成规则 1、单个字符:[ ] 如:[a],[ab],[a-zA-Z0-9_] \d:单个数字字符 [0-9] \w:单个单词字符 [a-zA-Z0-9_] 2、量词符号 ?:表示0次或1次 *:表示
阅读全文
摘要:JavaScript中Date对象 Date:日期对象 1、创建 var date = new Date(); 2、方法: toLocaleString:返回当前date对象对应的本地字符串格式 getTime:获取毫秒值。返回当前日期对象描述的时间到1970年1月1日零点的毫秒值差 <script
阅读全文
摘要:JavaScript对象Function Function:函数(方法)对象 1、创建 1、 var fun = new Function(形式参数列表,方法体); 2、 function 方法名称(形式参数列表){ 方法体 } 3、 var 方法名 = function(形式参数列表){ 方法体
阅读全文
摘要:JavaScript语法_特殊语法 特殊语法 1.语句以分号;结尾,如果一行只有一条语句,则;可以省略(不建议) 2.变量的定义使用var关键字,也可以不使用 用var:定义的变量是局部变量 不用:定义的变量是全局变量(不建议) <script> //1、语句以分号;结尾,如果一行只有一条语句,则;
阅读全文
摘要:JavaScript语法逻辑运算符 逻辑运算符: &&:与(短路与) ||:或(短路或) !:非 其他类型转boolean: 1、number:0或NaN为假,其他为真 2、string:除了空字符串,其他都是true 3、null和undefined:都是false 4、对象:所有对象都为true
阅读全文
摘要:JavaScript中一元运算符 一元运算符:只有一个运算数的运算符 ++,-- (+)正号 ++,-- 自增(自减) ++(--) 在前,先自增(自减),在进行计算 ++(--) 在后,先进行计算,在自增(自减) +(-) 正负号 注意:在JS中,如果运算数不是运算符所要求的类型,那么js引擎会自
阅读全文
摘要:JavaScript语法变量 变量:一小块存储数据的内存空间 Java语言是强类型语言,而JavaScript是弱类型语言 强类型:在开辟变量类型存储空间时,定义了空间将来要存储的数据的数据类型,只能存储固定类型的数据 弱类型:在开辟变量类型存储空间时,不定义空间要存储的数据类型,可以存放任意类型的
阅读全文
摘要:JavaScript语法与html结合的方式以及注释和数据类型 ECMAScript:客户端脚本语言的标准1.基本语法: (1)与html结合方式 1.内部JS: 定义<script>,标签体内容就是js代码 2.外部JS: 定义<script>,通过src属性引入外部的js文件 注意: 1.<sc
阅读全文
摘要:JavaScript简介 概念:一门客户端脚本语言 运行在客户端浏览器中的,每一个浏览器都有JavaScript的解析引擎 脚本语言:不需要编译,直接就可以被浏览器解析执行了 功能: 可以来增强用户和html页面的交互过程,可以来控制html元素,让页面有一些动态的效果,增强用户的体验 JavaSc
阅读全文
摘要:CSS注册页面案例 使用CSS完成效果图片 代码实现: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> *{ margin: 0px; padding: 0px;
阅读全文
摘要:CSS属性 1.字体、文本(1)font-size:字体大小(2)color:文本颜色(3)text-align:对齐方式(4)line-height:行高2.背景(1)background3.边框(1)border:设置边框4.尺寸(1)width:宽度(2)height:高度 <!DOCTYPE
阅读全文
摘要:CSS基础选择器 基础选择器 1.id选择器:选择具体的id属性值的元素:建议在一个html中id值唯一 #id属性值{} 2.元素选择器:选择具有相同标签名称的元素 语法:标签名称{} 注意:id选择器优先级高于元素选择器 3.类选择器:选择具有相同的class属性值的选择
阅读全文
摘要:CSS概述 CSS:页面美化和布局控制 1、概念:Cascading style sheets 层叠样式表 层叠:多个样式可以作用来同一个html的元素上,同时生效 2、好处 1、功能强大 2、将内容展示和样式控制分离 降低耦合度,解耦 让分工协作更容易 提高开发效率 CSS与HTML结合方式 CS
阅读全文
摘要:HTML标签表单标签_表单项select和textarea select:下拉列表 子元素:option,指定列表项 testarea:文本域 cols:指定列数,每一行有多少个字符 rows:默认多少行 <form action="#" method="get"> <label for="user
阅读全文
摘要:HTML标签表单标签_概述 表单: 概念:用于采集用户输入的数据。用于和服务器进行交互。 form:用于定义表单的,可以定义一个范围,范围代表采集用户数据的范围 属性: action:指定调教数据的url方式 mehtod:指定提交方式 分类:一共7种,2种比较常用 get: 1、请求参数会在地址栏
阅读全文
摘要:HTML标签综合案例的分析 案例:旅游网站首页 1、确定使用table来完成布局 2、如果某一行只有一个单元格,则使用<tr><td></td></tr> 3、如果某一行有多个单元格,则使用 <tr> <td> <table></table> </td> </tr> HTML标签综合案例的实践 <!
阅读全文
摘要:HTML标签_表格标签 tr:定义行 bgcolor:背景色 align:对齐方式 td:定义单元格 colspan:合并列 rowspan:合并行 caption:定义表格标题 thead:定义表格的头部分 tbody:定义表格的体部分 tfoot:定义表格的脚部分 <table borde
阅读全文
摘要:HTML标签_语义化标签 语义化标签:html5中为了提高程序的可读性,提供了一些标签 需要结合css一起来使用 (1)<header> <header> <h1> 公司简介 </h1> </header> (2)<footer> <footer> <font color="gray" size="
阅读全文
摘要:HTML标签_链接标签 a:定义一个超链接 属性: href:指定访问资源的URL(统一资源定位符) target:指定打开资源的方式 _self:默认值,在当前页面打开 _blank:在空白页面打开 <!--超链接 a--> <a href="http://www.baidu.com">超链接</
阅读全文
摘要:HTML标签图片标签 图片标签: img:展示图片 属性: src:指定图片的位置 相对路径: (1)以.开头的路径 (2) ./代表当前的目录 ./image/1.jpg <!--展示一张图片 img--> <img src="图片1.jpg" align="right" alt="图片未
阅读全文