Java
文章平均质量分 87
虎萝OuO
这个作者很懒,什么都没留下…
展开
-
Java丨SpringMVC:五、SpringMVC的视图
SpringMVC中的视图是View接口,视图的作用渲染数据,将模型Model中的数据展示给用户SpringMVC视图的种类很多,默认有转发视图和重定向视图当工程引入jstl的依赖,转发视图会自动转换为JstlView若使用的视图技术为Thymeleaf,在SpringMVC的配置文件中配置了Thymeleaf的视图解析器,由此视图解析器解析之后所得到的是ThymeleafView1、ThymeleafView当控制器方法中所设置的视图名称没有任何前缀时此时的视图名称会被S..原创 2021-09-01 12:09:03 · 493 阅读 · 0 评论 -
Java丨SpringMVC:四、域对象共享数据
1、使用ServletAPI向request域对象共享数据@RequestMapping("/testServletAPI")public String testServletAPI(HttpServletRequest request){ request.setAttribute("testScope", "hello,servletAPI"); return "success";}2、使用ModelAndView向request域对象共享数据@RequestMapping("原创 2021-09-01 12:06:13 · 233 阅读 · 0 评论 -
Java丨SpringMVC:三、SpringMVC获取请求参数
1、通过ServletAPI获取将HttpServletRequest作为控制器方法的形参此时HttpServletRequest类型的参数表示封装了当前请求的请求报文的对象@RequestMapping("/testParam")public String testParam(HttpServletRequest request){ String username = request.getParameter("username"); String password = req原创 2021-08-27 12:05:52 · 183 阅读 · 0 评论 -
Java丨SpringMVC:二、@RequestMapping注解
1、@RequestMapping注解的功能从注解名称上我们可以看到,@RequestMapping注解的作用就是将请求和处理请求的控制器方法关联起来,建立映射关系。SpringMVC 接收到指定的请求,就会来找到在映射关系中对应的控制器方法来处理这个请求。2、@RequestMapping注解的位置@RequestMapping标识一个类:设置映射请求的请求路径的初始信息@RequestMapping标识一个方法:设置映射请求请求路径的具体信息@Controller@RequestM原创 2021-08-26 12:35:56 · 231 阅读 · 0 评论 -
Java丨SpringMVC:一、SpringMVC简介
1、什么是MVCMVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分M:Model,模型层,指工程中的JavaBean,作用是处理数据JavaBean分为两类:一类称为实体类Bean:专门存储业务数据的,如 Student、User 等一类称为业务处理 Bean:指 Service 或 Dao 对象,专门用于处理业务逻辑和数据访问。V:View,视图层,指工程中的html或jsp等页面,作用是与用户进行交互,展示数据C:Controller,控制层,指工程中原创 2021-08-18 12:40:40 · 308 阅读 · 0 评论 -
Java丨Spring:五、事务操作
1、什么事务事务是数据库操作最基本单元,逻辑上一组操作,要么都成功,如果有一个失败所有操作都失败典型场景:银行转账Lucy 转账100元 给MaryLucy少100,Mary多1002、事务四个特性(ACID)原子性(Atomicity):事务是一个原子操作,由一系列动作组成。事务的原子性确保动作要么全部完成,要么完全不起作用。一致性(Consistency):一旦事务完成(不管成功还是失败),系统必须确保它所建模的业务处于一致的状态,而不会是部分完成部分失败。在现实中的数据不应该原创 2021-08-17 13:55:49 · 444 阅读 · 0 评论 -
Java丨Spring:四、JdbcTemplate
1、什么是JdbcTemplateSpring框架对JDBC进行封装,使用JdbcTemplate方便实现对数据库操作2、准备工作2.1、在spring配置文件配置数据库连接池<!-- 数据库连接池 --> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close"> <property name="url" valu原创 2021-08-14 12:39:52 · 134 阅读 · 0 评论 -
Java丨Spring:三、Aop(面向切面)
1、概念面向切面编程(方面),利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。通俗描述:不通过修改源代码方式,在主干功能里面添加新功能使用登录例子说明AOP2、底层原理2.1、有接口情况,使用JDK动态代理创建接口实现类代理对象,增强类的方法2.2、没有接口情况,使用CGLIB动态代理创建子类的代理对象,增强类的方法3、JDK 动态代理使用JDK动态代理,使用Proxy类里面的方法创建代理对象调用原创 2021-08-12 12:30:40 · 152 阅读 · 0 评论 -
Java丨Spring:二、框架概述与IOC容器(下)
1、bean生命周期通过构造器创建bean实例(无参数构造)为bean的属性设置值和对其他bean引用(调用set方法)调用bean的初始化的方法(需要进行配置初始化的方法)bean可以使用了(对象获取到了)当容器关闭时候,调用bean的销毁的方法(需要进行配置销毁的方法)演示bean生命周期public class Orders { //无参数构造 public Orders() { System.out.println("第一步 执行无参数构造创建 b原创 2021-08-11 12:28:25 · 109 阅读 · 0 评论 -
Java丨Spring:一、框架概述与IOC容器(上)
1、Spring框架概述Spring是轻量级的开源的JavaEE框架Spring可以解决企业应用开发的复杂性Spring有两个核心部分:IOC和AopIOC:控制反转,把创建对象过程交给Spring进行管理Aop:面向切面,不修改源代码进行功能增强Spring特点方便解耦,简化开发Aop编程支持方便程序测试方便和其他框架进行整合方便进行事务操作降低API开发难度2、IOC容器(控制反转)2.1、什么是IOC控制反转,把对象创建和对象之间的调用过程,交给Spri原创 2021-08-10 14:30:27 · 144 阅读 · 0 评论 -
Java丨Web:十三、JSON、AJAX和i18n国际化
1、什么是JSON?JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。JSON 采用完全独立于语言的文本格式,而且很多语言都提供了对json 的支持(包括C, C++, C#, Java, JavaScript, Perl, Python 等)。这样就使得JSON 成为理想的数据交换格式。json 是一种轻量级的数据交换格式。轻量级指的是跟xml 做比较。数据交换指的是客户端和服务器之间业务数据的传递格式原创 2021-08-09 12:31:22 · 284 阅读 · 0 评论 -
Java丨Web:十二、Filter过滤器
1、Filter 什么是过滤器Filter 过滤器它是JavaWeb 的三大组件之一。三大组件分别是:Servlet 程序、Listener 监听器、Filter 过滤器Filter 过滤器它是JavaEE 的规范。也就是接口Filter 过滤器它的作用是:拦截请求,过滤响应。拦截请求常见的应用场景有:权限检查日记操作事务管理……等等2、Filter 的初体验要求:在你的web 工程下,有一个admin 目录。这个admin 目录下的所有资源(html 页面、jpg 图片、j原创 2021-08-08 12:48:41 · 163 阅读 · 0 评论 -
Java丨Web:十一、Cookie和Session
1、Cookie1.1、什么是Cookie?Cookie 翻译过来是饼干的意思。Cookie 是服务器通知客户端保存键值对的一种技术。客户端有了Cookie 后,每次请求都发送给服务器。每个Cookie 的大小不能超过4kb1.2、如何创建Cookieprotected void createCookie(HttpServletRequest req, HttpServletResponse resp) throws ServletException,IOException {原创 2021-08-07 12:20:36 · 120 阅读 · 0 评论 -
Java丨Web:十、EL表达式&JSTL标签库
1、EL 表达式1.1、EL 表达式的作用EL 表达式的全称是:Expression Language。是表达式语言。EL 表达式的什么作用:EL 表达式主要是代替jsp 页面中的表达式脚本在jsp 页面中进行数据的输出。因为EL 表达式在输出数据的时候,要比jsp 的表达式脚本要简洁很多。<body> <% request.setAttribute("key","值"); %> 表达式脚本输出key 的值是: <%=re原创 2021-08-06 13:10:02 · 125 阅读 · 0 评论 -
Java丨Web:九、JSP
1、什么是jsp,它有什么用jsp 的全换是java server pages。Java 的服务器页面。jsp 的主要作用是代替Servlet 程序回传html 页面的数据。因为Servlet 程序回传html 页面数据是一件非常繁锁的事情。开发成本和维护成本都极高。Servlet 回传html 页面数据的代码public class PringHtml extends HttpServlet { @Override protected void doGet(HttpSer原创 2021-08-05 14:12:50 · 146 阅读 · 0 评论 -
Java丨Web:八、Servlet(下)
1、HttpServletRequest 类1.1、HttpServletRequest 类有什么作用每次只要有请求进入Tomcat 服务器,Tomcat 服务器就会把请求过来的HTTP 协议信息解析好封装到Request 对象中。然后传递到service 方法(doGet 和doPost)中给我们使用。我们可以通过HttpServletRequest 对象,获取到所有请求的信息。1.2、HttpServletRequest 类的常用方法getRequestURI():获取请求的资源路径g原创 2021-08-04 14:01:51 · 100 阅读 · 0 评论 -
Java丨Web:七、Servlet(上)
1、Servlet 技术1.1、什么是ServletServlet 是JavaEE 规范之一。规范就是接口Servlet 就JavaWeb 三大组件之一。三大组件分别是:Servlet 程序Filter 过滤器Listener 监听器Servlet 是运行在服务器上的一个java 小程序,它可以接收客户端发送过来的请求,并响应数据给客户端。1.2、手动实现Servlet 程序编写一个类去实现Servlet 接口实现service 方法,处理请求,并响应数据到web.xml原创 2021-08-03 14:05:51 · 133 阅读 · 0 评论 -
Java丨Web:六、XML
1、XML 简介1.1、什么是xmlxml 是可扩展的标记性语言。1.2、xml 的作用xml 的主要作用有:用来保存数据,而且这些数据具有自我描述性它还可以做为项目或者模块的配置文件还可以做为网络传输数据的格式(现在JSON 为主)。2、XML 语法文档声明。元素(标签)xml 属性xml 注释文本区域(CDATA 区)2.1、文档声明我们先创建一个简单XML 文件,用来描述图书信息。<?xml version="1.0" encoding="UTF原创 2021-08-02 12:53:13 · 150 阅读 · 0 评论 -
Java丨Web:五、Tomcat
1、JavaWeb 的概念什么是JavaWebJavaWeb 是指,所有通过Java 语言编写可以通过浏览器访问的程序的总称,叫JavaWeb。JavaWeb 是基于请求和响应来开发的。什么是请求请求是指客户端给服务器发送数据,叫请求Request。什么是响应响应是指服务器给客户端回传数据,叫响应Response。请求和响应的关系请求和响应是成对出现的,有请求就有响应。2、Web 资源的分类web 资源按实现的技术和呈现的效果的不同,又分为静态资源和动态原创 2021-08-01 12:46:55 · 131 阅读 · 0 评论 -
Java丨Web:四、jQuery基础(下)
1、jQuery 的属性操作html() 它可以设置和获取起始标签和结束标签中的内容。跟dom 属性innerHTML 一样。text() 它可以设置和获取起始标签和结束标签中的文本。跟dom 属性innerText 一样。val() 它可以设置和获取表单项的value 属性值。跟dom 属性value 一样。val 方法同时设置多个表单项的选中状态:<!DOCTYPE html><html lang="zh_CN"><head> <met原创 2021-07-31 12:41:15 · 109 阅读 · 0 评论 -
Java丨Web:三、jQuery基础(上)
1、jQuery 介绍什么是jQuery ?jQuery,顾名思义,也就是JavaScript 和查询(Query),它就是辅助JavaScript 开发的js 类库。jQuery 核心思想!!!它的核心思想是write less,do more(写得更少,做得更多),所以它实现了很多浏览器的兼容问题。jQuery 流行程度jQuery 现在已经成为最流行的JavaScript 库,在世界前10000 个访问最多的网站中,有超过55%在使用jQuery。jQuery 好处!原创 2021-07-31 12:20:45 · 116 阅读 · 0 评论 -
Java丨Web:二、JavaScript语言入门
1、JavaScript 介绍Javascript 语言诞生主要是完成页面的数据验证。因此它运行在客户端,需要运行浏览器来解析执行JavaScript 代码。JS 是Netscape 网景公司的产品,最早取名为LiveScript;为了吸引更多java 程序员。更名为JavaScript。JS 是弱类型,Java 是强类型。特点:交互性(它可以做的就是信息的动态交互)安全性(不允许直接访问本地硬盘)跨平台性(只要是可以解释JS 的浏览器都可以执行,和平台无关)2、JavaScrip原创 2021-07-30 13:44:28 · 275 阅读 · 0 评论 -
Java丨Web:一、HTML和CSS
1、B/S软件的结构2、前端的开发流程3、网页的组成部分页面由三部分内容组成分别是内容(结构)、表现、行为。内容(结构),是我们在页面中可以看到的数据。我们称之为内容。一般内容 我们使用html技术来展示。表现,指的是这些内容在页面上的展示形式。比如说。布局,颜色,大小等等。一般使用CSS技术实现行为,指的是页面中元素与输入设备交互的响应。一般使用javascript技术实现。4、HTML 简介Hyper Text Markup Language (超文本标记语言)简写:H原创 2021-07-29 14:28:35 · 339 阅读 · 0 评论 -
Java丨JDBC:九、Apache-DBUtils实现CRUD操作
1、Apache-DBUtils简介commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。API介绍:org.apache.commons.dbutils.QueryRunnerorg.apache.commons.dbutils.ResultSetHandler工具类:org.apache.commons.dbutils.DbUtil转载 2021-07-28 12:21:42 · 125 阅读 · 0 评论 -
Java丨JDBC:八、数据库连接池
1、JDBC数据库连接池的必要性在使用开发基于数据库的web程序时,传统的模式基本是按以下步骤:在主程序(如servlet、beans)中建立数据库连接进行sql操作断开数据库连接这种模式开发,存在的问题:普通的JDBC数据库连接使用DriverManager来获取,每次向数据库建立连接的时候都要将 Connection 加载到内存中,再验证用户名和密码(得花费0.05s~1s的时间)。需要数据库连接的时候,就向数据库要求一个,执行完成后再断开连接。这样的方式将会消耗大量的资源和时转载 2021-07-28 12:03:28 · 226 阅读 · 0 评论 -
Java丨JDBC:七、DAO及相关实现类
DAO:Data Access Object访问数据信息的类和接口,包括了对数据的CRUD(Create、Retrival、Update、Delete),而不包含任何业务相关的信息。有时也称作:BaseDAO作用:为了实现功能的模块化,更有利于代码的维护和升级。下面是尚硅谷JavaWeb阶段书城项目中DAO使用的体现:层次结构:1、【BaseDAO.java】package com.atguigu.bookstore.dao;import java.lang.reflect.Param.转载 2021-07-28 11:56:11 · 136 阅读 · 0 评论 -
Java丨JDBC:六、数据库事务
1、数据库事务介绍事务:一组逻辑操作单元,使数据从一种状态变换到另一种状态。事务处理(事务操作):保证所有事务都作为一个工作单元来执行,即使出现了故障,都不能改变这种执行方式。当在一个事务中执行多个操作时,要么所有的事务都被提交(commit),那么这些修改就永久地保存下来;要么数据库管理系统将放弃所作的所有修改,整个事务回滚(rollback) 到最初状态。为确保数据库中数据的一致性,数据的操纵应当是离散的成组的逻辑单元:当它全部完成时,数据的一致性可以保持,而当这个单元中的一部分操作失转载 2021-07-27 12:19:50 · 215 阅读 · 0 评论 -
Java丨JDBC:五、批量插入
1、批量执行SQL语句当需要成批插入或者更新记录时,可以采用Java的批量更新机制,这一机制允许多条语句一次性提交给数据库批量处理。通常情况下比单独提交处理更有效率JDBC的批量处理语句包括下面三个方法:addBatch(String):添加需要批量处理的SQL语句或是参数;executeBatch():执行批量处理语句;clearBatch():清空缓存的数据通常我们会遇到两种批量执行SQL语句的情况:多条SQL语句的批量处理;一个SQL语句的批量传参;2、高效的批量插入举例:转载 2021-07-27 12:17:34 · 600 阅读 · 0 评论 -
Java丨JDBC:四、操作BLOB类型字
1、MySQL BLOB类型MySQL中,BLOB是一个二进制大型对象,是一个可以存储大量数据的容器,它能容纳不同大小的数据。插入BLOB类型的数据必须使用PreparedStatement,因为BLOB类型的数据无法使用字符串拼接写的。MySQL的四种BLOB类型(除了在存储的最大信息量上不同外,他们是等同的)实际使用中根据需要存入的数据大小定义不同的BLOB类型。需要注意的是:如果存储的文件过大,数据库的性能会下降。如果在指定了相关的Blob类型以后,还报错:xxx转载 2021-07-27 12:15:26 · 1337 阅读 · 0 评论 -
Java丨JDBC:三、使用PreparedStatement实现CRUD操作
1、操作和访问数据库数据库连接被用于向数据库服务器发送命令和 SQL 语句,并接受数据库服务器返回的结果。其实一个数据库连接就是一个Socket连接。在java.sql包中有 3 个接口分别定义了对数据库的调用的不同方式:Statement:用于执行静态 SQL 语句并返回它所生成结果的对象。PrepatedStatement:SQL 语句被预编译并存储在此对象中,可以使用此对象多次高效地执行该语句。CallableStatement:用于执行 SQL 存储过程2、使用Stat转载 2021-07-26 12:40:26 · 138 阅读 · 0 评论 -
Java丨JDBC:二、获取数据库连接
1、要素一:Driver接口实现类1.1、Driver接口介绍java.sql.Driver 接口是所有JDBC驱动程序需要实现的接口。这个接口是提供给数据库厂商使用的,不同数据库厂商提供不同的实现。在程序中不需要直接去访问实现了Driver接口的类,而是由驱动程序管理器类(java.sql.DriverManager)去调用这些Driver实现。Oracle的驱动:oracle.jdbc.driver.OracleDrivermySql的驱动: com.mysql.jdbc.Drive转载 2021-07-26 12:37:59 · 172 阅读 · 0 评论 -
Java丨JDBC:一、JDBC概述
1、数据的持久化持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多通过各种关系数据库来完成。持久化的主要应用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML数据文件中。2、Java中的数据存储技术在Java中,数据库存取技术可分为如下几类:JDBC直接访问数据库JDO (Java Data Object)技术转载 2021-07-26 12:34:07 · 168 阅读 · 0 评论 -
Java丨基础:十七、反射与动态代理
1、Java反射机制概述Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子,透过这个镜子看到类的结构,所以,我们形象的称之为:反射。动态语言是一类在运行时可以改变其结构的语言:例如新的函数原创 2021-07-23 12:35:18 · 169 阅读 · 0 评论 -
Java丨基础:十六、网络编程
1、网络编程概述Java是Internet 上的语言,它从语言级上提供了对网络应用程序的支持,程序员能够很容易开发常见的网络应用程序。Java提供的网络类库,可以实现无痛的网络连接,联网的底层细节被隐藏在Java 的本机安装系统里,由JVM 进行控制。并且Java 实现了一个跨平台的网络库,程序员面对的是一个统一的网络编程环境。计算机网络:把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息、共享硬件、软件、数原创 2021-07-23 12:11:12 · 156 阅读 · 0 评论 -
Java丨基础:十五、IO流
1、File类的使用1.1、File类的实例化java.io.File类:文件和文件目录路径的抽象表示形式,与平台无关File 能新建、删除、重命名文件和目录,但File 不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录。File对象可以作为参数传递给流的构造器File类的使用File类的一个对象,代表一个文件或一个文原创 2021-07-22 14:00:19 · 193 阅读 · 0 评论 -
Java丨基础:十四、泛型
1、为什么要有泛型1.1、举例泛型:标签中药店,每个抽屉外面贴着标签超市购物架上很多瓶子,每个瓶子装的是什么,有标签。1.2、泛型的设计背景集合容器类在设计阶段/声明阶段不能确定这个容器到底实际存的是什么类型的对象,所以在JDK1.5之前只能把元素类型设计为Object,JDK1.5之后使用泛型来解决。因为这个时候除了元素的类型不确定,其他的部分是确定的,例如关于这个元素如何保存,如何管理等是确定的,因此此时把元素的类型设计成一个参数,这个类型参数叫做泛型。Collection,List,A原创 2021-07-22 12:06:27 · 122 阅读 · 0 评论 -
Java丨基础:十三、集合
1、Java 集合框架概述1.1、集合框架与数组的对比及概述集合、数组都是对多个数据进行存储操作的结构,简称Java容器。说明:此时的存储,主要是指能存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库中)数组在存储多个数据方面的特点:一旦初始化以后,其长度就不可修改。数组一旦定义好,它的数据类型也就确定了。我们就只能操作指定类型的数据了。数组中提供的方法非常有限,对于添加、删除、插入数据等操作,非常不便,同时效率不高。获取数组中实际元素的个数的需求,数组没有现原创 2021-07-21 14:58:07 · 675 阅读 · 0 评论 -
Java丨基础:十二、枚举与注解
1、枚举类的使用1.1、枚举类的理解类的对象只有有限个,确定的。举例如下:星期:Monday(星期一)、…、Sunday(星期天)性别:Man(男)、Woman(女)季节:Spring(春节)…Winter(冬天)支付方式:Cash(现金)、WeChatPay(微信)、Alipay(支付宝)、BankCard(银行卡)、CreditCard(信用卡)就职状态:Busy、Free、Vocation、Dimission订单状态:Nonpayment(未付款)、Paid(已付款)、Delive转载 2021-07-21 10:32:00 · 146 阅读 · 0 评论 -
Java丨基础:十一、常用类
1、字符串相关的类1.1、String类的概述String声明为final的,不可被继承实现了Serializable接口:表示字符串是支持序列化的。实现了Comparable接口:表示String可以比较大小String内部定义了final char[] value用于存储字符串数据String:代表不可变的字符序列。简称:不可变性。通过字面量的方式(区别于new)给一个字符串赋值,此时的字符串值声明在字符串常量池中。字符串常量池中是不会存储相同内容的字符串的。1.2、理解St原创 2021-07-20 18:56:19 · 128 阅读 · 0 评论 -
Java丨基础:十、多线程
1、基本概念:程序、进程、线程**程序(program):为完成特定任务、用某种语言编写的一组指令的集合。**即指一段静态的代码,静态对象。进程(process):程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程。——生命周期如:运行中的QQ,运行中的MP3播放器程序是静态的,进程是动态的进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域线程(thread),进程可进一步细化为线程,是一个程序内部的一条执行路径。若一个进程同原创 2021-07-20 14:27:22 · 117 阅读 · 0 评论