- 博客(133)
- 收藏
- 关注
原创 Java全栈(四)web网页技术:16.书城项目实战五:图书的分页显示
一.图书管理页面的分页显示现在我们的图书管理页面是将数据库中所有图书的信息都展示在了页面中,这是非常不合理。我们应该将图书信息进行分页展示。分页展示的优点:降低服务器的压力提高用户体验1.实现分析原来该页面只需要从Servlet侧获取到数据库中所有的图书列表,然后使用for循环将数据展示在页面即可。现在要实现分页,则需要展示更多信息了。如下:要实现上面的功能,就需要从Servlet侧获取到:①当前页面图书信息的List;②当前页面数;③总页面数;④总记录数。一般我们有两种方式来实
2022-03-19 16:21:36
2410
原创 Java全栈(四)web网页技术:15.书城项目实战四:管理端图书的增删改查(后台)
1.需求澄清管理端图书管理页面【book_manager.jsp】页面原型如下:需要实现图书的添加、删除、修改、分页显示等操作2.前期准备2.1 创建数据表bookscreate TABLE books(id INT PRIMARY KEY auto_increment,title varchar(50),author VARCHAR(50),price DOUBLE(10,2),sales INT,stock INT,img_path VARCHAR(50));数据表结构如
2022-01-10 21:07:43
1531
1
原创 Java全栈(四)web网页技术:14.书城项目实战三:EL和JSTL练习
1.需求:前面的项目练习中,我们完成了用户登录、注册两个功能。现在我们在前面的基础上进行优化,将JSP代码替换为EL和JSTL代码。添加JSTL相关的jar包到项目修改login.jsp文件,将jsp代码改为EL或JSTL<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"
2021-12-26 20:21:29
735
1
原创 Java全栈(四)web网页技术:13.JSTL
JSTL (JSP Standard Tag Library)第1章 JSTL简介JSP虽然为我们提供了EL表达式用来替代JSP表达式,但是由于EL表达式仅仅具有输出功能,用于替代JSP中的表达式脚本,而不能替代页面中的JSP代码脚本。为了解决这个问题,JSP为我们提供了可以自定义标签库(Tag Library)的功能,用来替代代码脚本。这样使得整个jsp页面变得更佳简洁。所谓自定义标签库就是指可以在JSP页面中以类似于HTML标签的形式调用Java中的方法。使用方法和我们JSP动作标
2021-12-26 19:07:08
209
原创 Java全栈(四)web网页技术:12.EL表达式
EL表达式(Expression Language)第1章 为什么需要EL在JSP页面上获取域对象中保存的数据和获取请求参数数据是非常常用的操作。获取请求域中的数据<%=request.getAttribute("message") == null ? "" : request.getAttribute("message") %>获取请求参数<%=request.getParameter("userName")==null? "": request.getParameter
2021-12-26 15:58:20
259
原创 Java全栈(四)web网页技术:11.书城项目实战二:JSP练习及Servlet优化
前提:还是基于我们前面的书城项目1.需求1:1.将所有HTML页面改为JSP页面在每一个HTML页面的第一行添加JSP的page指令:<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>,然后将HTML页面的文件扩展名改为jsp,即将.html改为.jsp。注意:一定要先在HTML页面中添加jsp指令再修改扩展名,否则页面中会出现乱码现象。这里以index.ht.
2021-12-25 22:23:10
842
原创 Java全栈(四)web网页技术:10.JSP
JSP第一章 为什么学习Jsp1.1 现有技术不足Servlet可以通过转发或重定向跳转到某个HTML文档。但HTML文档中的内容不受Servlet的控制。比如登录失败时,跳转回登录表单页面无法显示诸如“用户名或密码不正确”的错误消息,所以我们目前采用的办法是跳转到一个错误信息页面。如果通过Servlet逐行输出响应信息则会非常繁琐。Servlet输入html页面的程序代码:package com.atguigu.servlet;import java.io.IOException;impo
2021-12-25 00:24:01
799
原创 Java全栈(四)web网页技术:9.书城项目实战一:jQuery和Servlet练习
一.项目介绍1.项目页面原型下载书城项目页面原型可以直接从gitee上下载:https://gitee.com/ouyi19940129/BookStore.git2.项目页面原型目录讲解二.阶段1:jQuery实战1.需求:2.实现:(1)使用IDEA创建web项目先创建一个普通java项目在该项目中引入webclasses用于存放编译后的文件,lib存放第三方jar包将项目页面原型代码复制到web目录下(2)使用jQuery实现登录页面的
2021-12-22 23:58:50
725
原创 Java全栈(四)web网页技术:8.Servlet
Servlet组件第1章 我们为什么需要Servlet?1.1 Web应用基本运行模式生活中的例子Web应用运行模式1.2 Web服务器中Servlet作用举例举例一:插入数据举例二:查询数据通过网页驱动服务器端的Java程序。在网页上显示Java程序返回的数据。第2章 什么是Servlet?如果把Web应用比作一个餐厅,Servlet就是餐厅中的服务员——负责接待顾客、上菜、结账。从广义上来讲,Servlet规范是Sun公司制定的一套技术标准,包含与Web
2021-12-18 23:02:52
317
原创 Java全栈(四)web网页技术:7.HTTP协议
HTTP协议第1章 HTTP协议简介HTTP 超文本传输协议 (HTTP-Hypertext transfer protocol),是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过十几年的使用与发展,得到不断地完善和扩展。它是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。客户端与服务端通信时传输的内容我们称之为报文。HTTP协议就是规定报文的格式。HTTP就是一个通信规则,这个
2021-12-15 20:33:26
190
原创 Java全栈(四)web网页技术:6.web介绍及环境的搭建
Web环境搭建:Tomcat第1章 Web服务器Web服务器通常由硬件和软件共同构成。硬件:电脑,提供服务供其它客户电脑访问软件:电脑上安装的服务器软件,安装后能提供服务给网络中的其他计算机,将本地文件映射成一个虚拟的url地址供网络中的其他人访问。Web服务器主要用来接收客户端发送的请求和响应客户端请求。常见的JavaWeb服务器:Tomcat(Apache):当前应用最广的JavaWeb服务器JBoss(Redhat红帽):支持JavaEE,应用比较广EJ
2021-12-14 22:32:19
342
原创 Java全栈(四)web网页技术:5.XML
XML第1章 XML简介“当 XML(扩展标记语言)于 1998 年 2 月被引入软件工业界时,它给整个行业带来了一场风暴。有史以来第一次,这个世界拥有了一种用来结构化文档和数据的通用且适应性强的格式,它不仅仅可以用于 Web,而且可以被用于任何地方。” --《Designing With Web Standards Second Edition》, Jeffrey Zeldman
2021-12-14 17:32:13
143
原创 Java全栈(四)web网页技术:4.jQuery
第1章: jQuery简介为了简化 JavaScript 的开发,一些 JavsScript 库诞生了。 JavaScript库封装了很多预定义的对象和实用函数,简化HTML与JavaScript之间的操作,能帮助使用者建立有高难度交互的页面, 并且兼容各大浏览器。当前流行的 JavaScript 库有jQuery是继prototype之后又一个优秀的JavaScript框架。如今,**jQuery已经成为最流行的JavaScript库。**在世界前10000个访问最多的网站中,有超过
2021-12-12 21:07:49
977
原创 Java全栈(四)web网页技术:3.JavaScript
第1章 JavaScript起源1.1 起源N年前拨号上网,网速很慢,数据提交到服务器端验证,体验很差于是,就有人在想:能不能让这些数据在浏览器端验证呢?20世纪90年代1995年,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。Netscape在最初将其脚本语言命名为LiveScript。后来Netscape与Sun合作,网景公司管理层希望它外观看起来像Java,因此取名为JavaScript。1996年,微软公司在其最新的 I
2021-12-08 22:17:17
988
原创 Java全栈(四)web网页技术:2.CSS
HTML页面实在太丑了,怎么破?!第1章 CSS简介CSS全称为“层叠样式表 (Cascading Style Sheets)”,它主要是用于定义HTML元素(或内容)在浏览器内的显示样式,如文字大小、颜色、字体、边框、位置等。第2章 CSS基本语法2.1 基本格式CSS样式由选择符(选择器)和声明组成,而声明又由属性和值组成,如下图所示:格式为:选择器 { 样式名:样式值; 样式名:样式值; …………}2.2 语法说明属性 (property
2021-12-06 21:39:42
280
原创 Java全栈(四)web网页技术:1.HTML
第1章 网页的构成1.1 概念:B/S 与 C/S1.1.1 现在的软件开发的整体架构主要分为B/S架构与C/S架构:b/s:浏览器/服务器c/s:客户端/服务器客户端:需要安装在系统里,才可使用浏览器:浏览网页,读取HTML并显示服务器:处理浏览器的请求1.1.2 B/S 与 C/S优劣b/s只要能上网就能使用,因为基本每台电脑都会有浏览器,维护方便。不需要占用本地储存但会占用网络带宽c/s必须安装在系统中,安装成功才可使用。在新的系统中没有安装不能使用,便携性差,
2021-12-06 21:12:50
324
原创 Java全栈(三)数据库技术:4.数据库之JDBC下
第四章 封装JDBCTools配置文件:src/jdbc.properties#key=valuedriverClassName=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/testusername=rootpassword=123456initialSize=5maxActive=10maxWait=1000JDBCTools工具类:package com.atguigu.util;import java.sql.
2021-11-28 22:40:38
588
原创 Java全栈(三)数据库技术:3.数据库之JDBC上
第一章 JDBC概述之前我们学习了JavaSE,编写了Java程序,数据保存在变量、数组、集合等中,无法持久化,后来学习了IO流可以将数据写入文件,但不方便管理数据以及维护数据的关系;后来我们学习了数据库管理软件MySQL,可以方便的管理数据。那么如何将它俩结合起来呢?即Java程序<==>MySQL,实现数据的存储和处理。那么就可以使用JDBC技术。1.1 JDBC概述JDBC:Java Database Connectivity,它是代表一组独立于任何数据库管理系统(DBMS)
2021-11-28 22:40:28
289
原创 Java全栈(三)数据库技术:2.数据库之Mysql下
第七章 关联查询(联合查询,多表联查)7.1 关联查询的七种结果(1)A∩B(2)A(3)A - A∩B(4)B(5)B - A∩B(6)A ∪ B(7)A∪B- A∩B 或者 (A - A∩B) ∪ (B - A∩B)7.2 如何实现?(1)内连接(2)外连接:左外连接、右外连接、全外连接(mysql使用union代替全外连接)1、内连接:实现A∩Bselect 字段列表from A表 inner join B表on 关联条件where 等其他子句;或
2021-11-24 20:36:01
878
原创 Java全栈(三)数据库技术:1.数据库之MysqlL上
第一章 数据库概述1.1 数据库概述DBMS:数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,例如建立、使用和维护数据库。DB:数据库(Database)SQL:结构化查询语言,(Structure Query Language),专门用来操作/访问数据库的通用语言。如果把数据库比作盘子,那数据就是盘子里的菜,SQL则是你的筷子。数据库类型:数据库经过几十年的发展,出现了多种类型。目前最常见的数据库模型主要是:关系型数据
2021-11-24 20:25:27
568
原创 Java全栈(二)JavaSE:28.JDK1.8新特性
Java8新特性Java8的新特征有很多,之前我们在学习接口时,学习了接口的静态方法和默认方法,在学习常用类时,学习了新版的日期时间API。今天我们来学习Java8最具革命性的两个新特性:Lambda表达式和StreamAPI。然后带领大家用Optioanl类解决最令人头疼的空指针异常。1 Lambda表达式1.1 函数式编程思想[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8o5kr2dx-1637489119058)(imgs/03-Overview.png)]
2021-11-21 18:07:35
190
原创 Java全栈(二)JavaSE:27.反射
反射(Reflect)1 类加载类在内存中的生命周期:加载–>使用–>卸载1.1 类的加载过程当程序主动使用某个类时,如果该类还未被加载到内存中,系统会通过加载、连接、初始化三个步骤来对该类进行初始化,如果没有意外,JVM将会连续完成这三个步骤,所以有时也把这三个步骤统称为类加载。类的加载又分为三个阶段:(1)加载:load就是指将类型的clas字节码数据读入内存(2)连接:link①验证:校验合法性等②准备:准备对应的内存(方法区),创建Class对象,为类变量赋默认值,为
2021-11-21 18:04:20
104
原创 Java全栈(二)JavaSE:26.网络编程
网络编程1 软件结构C/S结构 :全称为Client/Server结构,是指客户端和服务器结构。常见程序有QQ、红蜘蛛、飞秋等软件。B/S结构 :全称为Browser/Server结构,是指浏览器和服务器结构。常见浏览器有IE、谷歌、火狐等。两种架构各有优势,但是无论哪种架构,都离不开网络的支持。网络编程,就是在一定的协议下,实现两台计算机的通信的程序。2 网络通信协议2.1 TCP/IP协议参考模型**网络通信协议:**通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计
2021-11-21 14:34:31
163
原创 Java全栈(二)JavaSE:25.File类和IO流
第十四章 File类与IO流14.1 java.io.File类14.1.1 概述File类是java.io包下代表与平台无关的文件和目录,也就是说如果希望在程序中操作文件和目录都可以通过File类来完成,File类能新建、删除、重命名文件和目录。在API中File的解释是文件和目录路径名的抽象表示形式,即File类是文件或目录的路径,而不是文件本身,因此File类不能直接访问文件内容本身,如果需要访问文件内容本身,则需要使用输入/输出流。File类代表磁盘或网络中某个文件或目录的路径名称,如:
2021-11-17 22:28:57
171
原创 Java全栈(二)JavaSE:24.数据结构下
1 栈和队列堆栈是一种先进后出(FILO:first in last out)或后进先出(LIFI:last in first out)的结构。队列是一种(但并非一定)先进先出(FIFO)的结构。1.1 Stack类java.util.Stack是Vector集合的子类。所以Stack是一个List集合类。1.1.1 Stack类继承树1.1.2 Stack类的新增方法比Vector多了几个方法(1)peek():查看栈顶元素,不弹出。最后添加的元素位于栈顶(2)pop():弹出栈。返
2021-11-16 22:23:10
552
原创 Java全栈(二)JavaSE:23.数据结构上
1 数据结构数据结构就是研究数据的逻辑结构和物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。数据的逻辑结构指反映数据元素之间的逻辑关系,而与他们在计算机中的存储位置无关:集合(数学中集合的概念):数据结构中的元素之间除了“同属一个集合” 的相互关系外,别无其他关系;线性结构:数据结构中的元素存在一对一的相互关系;树形结构:数据结构中的元素存在一对多的相互关系;图形结构:数据结构中的元素存在多对多的相互关系。数据的物理结
2021-11-13 20:43:58
775
原创 Java全栈(二)JavaSE:22.泛型
1 泛型的概念1.1 泛型的引入例如:生产瓶子的厂家,一开始并不知道我们将来会用瓶子装什么,我们什么都可以装,但是有的时候,我们在使用时,想要限定某个瓶子只能用来装什么,这样我们不会装错,而用的时候也可以放心的使用,无需再三思量。我们生活中是在使用这个瓶子时在瓶子上“贴标签”,这样就轻松解决了问题。还有,在Java中我们在声明方法时,当在完成方法功能时如果有未知的数据需要参与,这些未知的数据需要在调用方法时才能确定,那么我们把这样的数据通过形参表示。那么在方法体中,用这个形参名来代表那个未知的数据,
2021-11-12 21:39:59
123
原创 Java全栈(二)JavaSE:21.集合之Map
1.Map1.1 概述现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等,这种一一对应的关系,就叫做映射。Java提供了专门的集合类用来存放这种对象关系的对象,即java.util.Map<K,V>接口。我们通过查看Map接口描述,发现Map<K,V>接口下的集合与Collection<E>接口下的集合,它们存储数据的形式不同。Collection中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个
2021-11-10 22:59:09
274
原创 Java全栈(二)JavaSE:20.集合之Collection、Iterator迭代器、List、Set
集合集合是java中提供的一种容器,可以用来存储多个数据。集合和数组既然都是容器,它们有啥区别呢?数组的长度是固定的。集合的长度是可变的。数组中可以存储基本数据类型值,也可以存储对象,而集合中只能存储对象集合主要分为两大系列:Collection和Map,Collection 表示一组对象,Map表示一组映射关系或键值对。1.CollectionCollection 层次结构中的根接口。Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collect
2021-11-07 16:09:38
242
原创 Java全栈(二)JavaSE:19.常用类之大数运算、日期和日历、包装类
1. 大数运算基本数据类型long ,double 都是有取值范围.遇到超过范围数据怎么办.引入了大数运算对象. 超过取出范围了,不能称为数字了,称为对象java.math包 : BigInteger大整数, BigDecimal大浮点(高精度,不损失精度)BigInteger类使用,计算超大整数的构造方法直接new BigInteger(String str) 数字格式的字符串,长度任意BigInteger add(BigInteger b)计算两个BigInteger的数据求和BigI
2021-11-03 20:55:07
205
原创 Java全栈(二)JavaSE:18.常用类之System类、Math类、数组相关操作
1. System类System系统类 : 定义在java.lang包中定义了大量常用的字段(成员变量)和方法,该类不能实例化对象,不能new,类中的成员全部是静态修饰,类名直接调用.全部静态成员,无需对象创建,类名调用. 构造方法private修饰1.1 System类的方法static long currentTimeMillis() 返回自1970年1月1日,午夜零时,到你程序运行的这个时刻,所经过的毫秒值 , 1000毫秒=1秒/*** static long current
2021-11-03 20:46:03
165
原创 Java全栈(二)JavaSE:17.常用类之Object类、字符串类及相关算法
学习目标Object类的特点Object类中的方法toString()方法equals()方法String类的使用频率String类的特点String类的构造方法String类的其它的方法1. API的概念应用程序编程接口 : 每一个技术,官方都会定义出许多的功能,开发人员可以直接拿来使用(拿来主义). API可以理解为Sun公司已经开发好的类和方法. API文档就是我们开发的帮手2. Object类Object类 : 所有类的父类,一切类都直接或者是间接继承Obje.
2021-11-03 20:35:26
228
原创 python自动化(七)自动化测试平台开发:8.前端开发实战上之环境搭建
1.安装vue-clivue-cli是vue的脚手架框架,我们如果要使用vue需要准备大量的环境和配置文件,非常的繁琐。而vue-cli就是用来简化这些繁琐的步骤的。使用vue-cli会自动帮我们搭建好一套vue的环境。我们只需要在它的框架下,完成我们的开发内容即可。第一步:安装node:https://nodejs.org/zh-cn/当执行以下命令成功时,表示安装完成。第二步:安装淘宝镜像(类似于阿里云的maven中央仓库镜像)# 安装npm install -g cnpm --regis
2021-10-24 14:53:07
604
1
原创 VUE学习笔记:29.脚手架vue-cli之axios
一.什么是axiosaxios是一个用于网络通信的模块。在项目实际开发过程中,前端会频繁的请求后端接口获取到相关数据,然后展示在界面上。二.安装axios第一步:进入项目目录npm install axios --save第二步:使用axiosimport Vue from 'vue'import App from './App.vue'import store from './store/index.js'Vue.config.productionTip = falsenew
2021-10-23 23:51:11
456
原创 VUE学习笔记:28.脚手架vue-cli之vuex
一.什么是vuex二.单页面状态管理和多页面状态管理三.vuex的安装vuex是一个独立的插件,需要单独安装。第一步:进入项目目录下执行npm install vuex --save第二步:创建vuex对象创建一个目录store,用于存放vuex相关的代码*在store目录下创建index.js文件,并实例化一个vuex对象/** * Created by Administrator on 2021/10/22. */import Vue from 'vue'impo
2021-10-23 16:06:35
323
原创 VUE学习笔记:27.脚手架vue-cli之promise
一.什么是Promise二.Promise的使用1.基本使用(1)不使用Promise我们使用定时器setTimeout来模拟异步操作,看看Promise的作用。<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title></head><body><script>
2021-10-21 22:15:15
302
原创 Java全栈(二)JavaSE:16.多线程
第九章 多线程我们在之前,学习的程序在没有跳转语句的前提下,都是由上至下依次执行,那现在想要设计一个程序,边打游戏边听歌,怎么设计?要解决上述问题,咱们得使用多进程或者多线程来解决.9.1 相关概念9.1.1 并发与并行(了解)并行(parallel):指两个或多个事件在同一时刻发生(同时发生)。指在同一时刻,有多条指令在多个处理器上同时执行。并发(concurrency):指两个或多个事件在同一个时间段内发生。指在同一个时刻只能有一条指令执行,但多个进程的指令被快速轮换执行,使得在宏观上具有
2021-10-18 21:04:07
178
原创 Java全栈(二)JavaSE:15.异常
第八章 异常8.1 异常概述引入异常在使用计算机语言进行项目开发的过程中,即使程序员把代码写得 尽善尽美,在系统的运行过程中仍然会遇到一些问题,因为很多问题不是靠代码能够避免的,比如:客户输入数据的格式,读取文件是否存在,网络是否始终保持通畅等等。异常 :指的是程序在执行过程中,出现的非正常的情况,如果不处理最终会导致JVM的非正常停止。异常指的并不是语法错误,语法错了,编译不通过,不会产生字节码文件,根本不能运行.异常也不是指逻辑代码错误而没有得到想要的结果,例如:求a与b的和,你
2021-09-17 21:05:00
168
原创 Java全栈(二)JavaSE:14.面向对象下
一.枚举1.1 概述某些类型的对象是有限的几个,这样的例子举不胜举:星期:Monday(星期一)…Sunday(星期天)性别:Man(男)、Woman(女)月份:January(1月)…December(12月)季节:Spring(春天)…Winter(冬天)支付方式:Cash(现金)、WeChatPay(微信)、Alipay(支付宝)、BankCard(银行卡)、CreditCard(信用卡)员工工作状态:Busy(忙)、Free(闲)、Vocation(休假)订单状态:Nonpaym
2021-09-13 21:09:48
362
原创 Java全栈(二)JavaSE:13.面向对象中
1.封装1.1 封装概述1、为什么需要封装?我要用洗衣机,只需要按一下开关和洗涤模式就可以了。有必要了解洗衣机内部的结构吗?有必要碰电动机吗?我们使用的电脑,内部有CPU、硬盘、键盘、鼠标等等,每一个部件通过某种连接方式一起工作,但是各个部件之间又是独立的现实生活中,每一个个体与个体之间是有边界的,每一个团体与团体之间是有边界的,而同一个个体、团体内部的信息是互通的,只是对外有所隐瞒。面向对象编程语言是对客观世界的模拟,客观世界里每一个事物的内部信息都是隐藏在对象内部的,外界无法直接操作和修
2021-09-08 22:00:33
348
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人