
Java研学
文章平均质量分 79
整理学习笔记
泰勒疯狂展开
这个作者很懒,什么都没留下…
展开
-
Java研学-BootStrapTable插件
添加编辑点击事件,需要将数据回显到对话框中。添加按钮增加点击事件。原创 2024-09-27 12:37:42 · 766 阅读 · 0 评论 -
Java研学-POI导入导出
POI简介(Apache POI),是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。本文以Excel为例。原创 2024-09-26 14:20:39 · 504 阅读 · 0 评论 -
Java研学-数据字典(三)
【代码】Java研学-数据字典(三)原创 2024-09-26 14:19:10 · 541 阅读 · 0 评论 -
Java研学-数据字典(二)
此处 @RequestMapping(“/sysDictType”) 带 / 是相对路径,不带是绝对路径。原创 2024-09-24 14:32:12 · 463 阅读 · 0 评论 -
Java研学-数据字典(一)
在项目中会有很多的下拉框,这些下拉框的特点,就是以键值对的形式存在,其中 value(如 id:1,2… ),key(展示给用户的内容),数据库中可通过 value 寻找对应的 key,对于固定的内容可使用数据字典形式进行填写,防止出错。 实现方案: 1.直接硬编码写在html代码中(升级复杂,维护困难) 2.为每个下拉框都设计一个表,然后提供CRUD功能(表单中下拉框很多,内容相似,没必要每个都配,只特殊情况下使用) 3.使用数据字典的方式(维护项目中所有的下拉列表) sys_dic原创 2024-09-23 09:10:31 · 1685 阅读 · 0 评论 -
Java研学-Shiro安全框架(六)
每当应用程序进行鉴权的时候,都会调用Realm中的doGetAuthorizationInfo来获取用户的角色信息/权限信息,这个方法是需要访问数据库的. 而用户的角色信息/权限信息基本上是不变的, 所以目前我们的程序是每次鉴权都需要访问数据库,而且返回的数据都是一样的.因此可以集成EhCache,将角色信息/权限信息都缓存起来,只有用户第一次鉴权的时候才会查询数据库,后续的鉴权都直接从缓存中获取.原创 2024-08-28 14:41:27 · 1089 阅读 · 0 评论 -
Java研学-Shiro安全框架(五)
/ 自定义异常(向让用户看到的)// 异常也分为页面异常和 ajax 请求的异常。// ajax 请求try {} else{// 页面请求// 系统异常(不想让用户看到的)// 异常也分为页面异常和 ajax 请求的异常。// ajax 请求try {response.getWriter().write(new ObjectMapper().writeValueAsString(new JsonResult(false,"系统繁忙,请联系管理员")));原创 2024-08-26 13:24:15 · 1671 阅读 · 0 评论 -
Java研学-Shiro安全框架(四)
Shiro提供认证授权功能,所以SpringBoot中不需再编写自定义注解,权限拦截,登录拦截,登录登出。Shiro 环境中有三个封装对象Subject ,SecurityManager和Realms,SpringBoot 集成 Shiro 时需要配置相对应的Bean(Subject 不用)原创 2024-07-11 09:19:17 · 1016 阅读 · 0 评论 -
Java研学-Shiro安全框架(三)
如何实现项目中密码加密(这里我们采用的是 MD5 加密)的功能:1.添加用户的时候,对用户的密码进行加密;2. 登录时,按照相同的算法对表单提交的密码进行加密然后再和数据库中的加密过的数据进行匹配MD5 加密特点:属于不可逆的加密算法(只能从明文→密文,Shiro 中已经集成了MD5,直接使用即可),如果MD5 加密的数据一样,那么无论在什么时候加密的结果都是一样的,所以,相对来说还是不够安全,因此需要加盐。盐一般要求是固定长度的字符串,且每个用户的盐不同。原创 2024-07-08 10:26:58 · 770 阅读 · 0 评论 -
Java研学-Shiro安全框架(二)
① 模拟数据库mapper//用户集合//角色集合//权限集合static{//初始化用户数据//提供静态方法,模拟数据库返回数据② UserRealm 中为鉴权提供数据// Realm是数据源 认证授权都只提供数据即可// 授权功能@Override// 获取当前登录用户 登录后(user已在环境中)才进行授权 principals中含有一切信息//获取在 doGetAuthenticationInfo 中存放在上下文中的对象。原创 2024-06-27 08:34:48 · 336 阅读 · 0 评论 -
Java研学-Shiro安全框架(一)
我们需要使用的账户信息通常来自程序或者数据库中, 而不是前面使用到的 ini 文件的配置,因此要做到想去哪里查,就去那里查。此处使用 DataMapper 作为一组假数据模拟数据库static{//初始化数据//提供静态方法,模拟数据库返回数据实体类@Setter@Getter@ToString//用户名//密码UserRealm// 继承Realm下的接口 实现两个方法 一般来说do开头的方法就是模板设计模式。原创 2024-06-25 14:46:37 · 1804 阅读 · 0 评论 -
Java研学-RBAC权限控制(八)
判断员工是否有权限访问,首先得知道现在操作的人是谁,所以必须先实现登录功能。原创 2024-06-24 11:06:38 · 1016 阅读 · 0 评论 -
Java研学-RBAC权限控制(七)
是一个基于 Bootstrap 的表单验证插件,它可以帮助开发者更方便地进行表单验证,提高用户体验。① 引入插件。原创 2024-05-24 15:21:31 · 870 阅读 · 0 评论 -
Java研学-RBAC权限控制(六)
超级管理员默认拥有所有的角色,所有的权限,当点击超级管理员时,下方的分配角色权限区域应被隐藏。原创 2024-05-20 15:23:07 · 413 阅读 · 0 评论 -
Java研学-RBAC权限控制(五)
角色和权限是不同的,比如人事部内部可以有更详细的角色划分,人事专员,人事主管,人事总监等。中间表不需使用逆向工程生成实体,需要的时候定义即可。原创 2024-05-20 15:22:31 · 1051 阅读 · 0 评论 -
Java研学-RBAC权限控制(四)
权限管理原创 2024-04-14 18:40:58 · 889 阅读 · 0 评论 -
Java研学-RBAC权限控制(三)
删除分为硬删除(sql语句为delete,直接将数据从数据库中删除)与软删除(sql语句为update,表中含status字段,通过字段的值控制数据的展示,如默认值为1表示有效,改为0表示无效,查询时where条件增加status为1即可),用户确认删除前,应给与一定的提示,防止用户错误删除,这里可以使用。为完成数据回显而不查询数据库(查询数据库会造成性能消耗),我们需要在数据库添加新的字段,将每个对象的所有属性封装到一个字段中,通过get方法获取该字段就能拿到对应对象的所有属性。③ service接口。原创 2024-04-12 20:53:46 · 1145 阅读 · 0 评论 -
Java研学-RBAC权限控制(二)
PageHelper是 MyBatis 的后端分页插件,将写好的 SQL 语句进行分页加工。无需自己去封装以及关心 SQL 分页等问题。默认情况下会使用 PageHelper 方式进行分页,如果想要实现自己的分页逻辑,可以实现 Dialect(com.github.pagehelper.Dialect) 接口,然后配置该属性为实现类的全限定名称,以下参数都是针对默认 dialect 情况下的参数。使用自定义 dialect 实现时,下面的参数没有任何作用。原创 2024-04-11 16:07:59 · 630 阅读 · 0 评论 -
Java研学-RBAC权限控制(一)
Bootstrap是一个流行的前端框架,由Twitter的开发者创建并维护。它是一套用于开发响应式布局、移动设备优先的WEB项目的工具集。Bootstrap提供了大量的HTML和CSS模板,以及一些可选的JavaScript扩展。这些模板和扩展可以帮助开发者快速构建出常见的网页元素和交互功能,比如导航栏、表格、表单、轮播图等。同时,Bootstrap还内置了一些响应式设计的特性,可以确保网页在不同设备上的显示效果都很好。原创 2024-04-10 18:57:02 · 1501 阅读 · 0 评论 -
Java研学-SpringBoot(五)
在传统的 XML 方式中,需要在标签中去注册自定义的拦截器。在 Spring Boot 中,提供了 WebMvcConfigurer 配置接口,是使用 JavaConfig 配置 Spring MVC 的标准,如果对 Spring MVC 做配置,则需要自定义配置类实现该接口,若是需要注册拦截器,则实现接口中的 addInterceptors 方法即可。原创 2024-03-31 16:23:47 · 1294 阅读 · 0 评论 -
Java研学-SpringBoot(四)
spring2.X版本在2023年11月24日停止维护,而Spring3.X版本不支持JDK8,JDK11,最低支持JDK17,目前阿里云还是支持创建Spring2.X版本的项目。原创 2024-03-30 20:07:49 · 1389 阅读 · 0 评论 -
Java-常见面试题收集(六)
REST API 使用 HTTP 方法执行操作。一些不修改服务器资源的 HTTP 操作称为安全操作,包括 GET 和 HEAD。另一方面,PUT,POST 和 DELETE 是不安全的,因为它们修改了服务器上的资源。原创 2024-03-29 09:49:04 · 838 阅读 · 0 评论 -
Java研学-SpringBoot(三)
springboot的自动装配就是从spring.factories文件中获取到对应的需要进行自动装配的类,并生成相应的Bean对象,然后将它们交给spring容器来帮我们进行管理。核心注解:@SpringBootApplication调用main函数之前会扫描该类上是否有注解,有注解就执行对应的某些功能SpringApplication.run(DemoApplication.class, args);原创 2024-03-28 19:03:00 · 1223 阅读 · 1 评论 -
Java研学-SpringBoot(二)
① 参数配置在自定义的 properties,XML方式配置Driver--自定义的 properties-->② JavaConfig 方式配置(等同上面的xml配置)+@Value(通过key获取对应的值)从配置文件中获取数据// 生成配置类 自动加载 读取配置文件 获取其中的参数 创建Bean对象@PropertySource("classpath:db.properties")/*替代原来读取外部配置文件的xml语句项目启动自动加载*/原创 2024-03-24 12:49:00 · 1447 阅读 · 0 评论 -
Java研学-SpringBoot(一)
JavaConfig是Spring项目的一个子项目,在Spring 3.0开始从一个独立的项目并入到Spring中,并在Spring 4后成为核心功能。它提供了配置Spring IoC容器的纯Java方法,有助于避免使用传统的XML配置方式。使用JavaConfig的优点主要体现在以下几个方面:面向对象的配置:由于配置被定义为JavaConfig中的类,用户可以充分利用Java中的面向对象功能,如封装、继承和多态等。原创 2024-03-21 10:19:46 · 1492 阅读 · 4 评论 -
Java研学-Thymeleaf
Thymeleaf是适用于 Web 和独立环境的现代服务器端 Java 模板引擎。在Spring 官方支持模板引擎中,并不包含 JSP,而是 Thymeleaf 和 FreeMarker 等,Thymeleaf 与 Spring Boot 的自动化配置集成适配度很高,几乎没有任何成本,只关注 Thymeleaf 的语法即可。Thymeleaf的原理就是:模板 + 数据模型 = 输出,模板只负责数据在页面中的表现,不涉及任何的逻辑代码,而所有的逻辑都是由数据模型来处理的。原创 2024-03-20 09:08:39 · 744 阅读 · 0 评论 -
Java研学-JSON与AJAX
AJAX 不是一项具体的技术,而是几门技术的综合应用。Javascript、XHTML和CSS、DOM、XML和XMLHttpRequest。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。是一种用于创建快速动态网页的技术。原创 2024-03-20 08:24:01 · 895 阅读 · 0 评论 -
Java研学-jQuery(二)
【代码】Java研学-jQuery(二)原创 2024-03-18 09:30:20 · 442 阅读 · 0 评论 -
Java研学-jQuery(一)
jQuery1.x.js:jQuery 源文件;学习 jQuery 或者 debug 的时候使用。jQuery1.x.min.js:jQuery 压缩之后的文件;正常项目中使用。jQuery 最常用,最简单选择器,通过元素的 id、class 或标签等查找元素。在网页中,每个 id 名称只能使用一次[0, 1],class 允许重复使用 [0, n]。若想通过 DOM 元素之间的层次关系(DOM结构)来获取特定元素,例如后代元素,子元素, 相邻元素,兄弟元素等,需使用层次选择器。原创 2024-03-18 09:29:54 · 975 阅读 · 0 评论 -
Java研学-SSM综合案例(三)
input.jsp list.jsp2 employee input.jsp list.jsp3 首页 – index.jsp三 Controller 层1 DepartmentController2 EmployeeController四 Service 层1 接口 DepartmentService EmployeeService2 实现类 DepartmentServiceImpl EmployeeServiceImpl五 分页与模糊1 分页实体类 Quer原创 2024-03-14 11:07:09 · 748 阅读 · 0 评论 -
Java研学-SSM综合案例(二)
Maven中的插件,可根据数据表生成实体类 Mapper 接口和 Mapper XML,可单独创建一个Maven项目,将所需的资源生成后,拷贝到对应的项目中(推荐),或者直接在项目中使用。原创 2024-03-13 10:18:12 · 558 阅读 · 0 评论 -
Java研学-SSM综合案例(一)
使用 Spring MVC + Spring + MyBatis,数据库选用 MySQL,视图选用 JSP。完成部门基本的 CRUD 和分页查询,完成员工基本的 CRUD、分页查询和过滤查询(根据姓名和邮箱模糊查询,根据部门查询)。作用:在框架上基础上开发,发挥各个框架在各层的好处,提高开发效率。本质:使用 AOP 来配置事务;使用 Spring MVC 解决 MVC 的问题,处理请求和响应。原创 2024-03-13 09:00:54 · 572 阅读 · 0 评论 -
Java研学-SpringMVC(二)
/ 请求路径 /del?对于保存用户的需求,请求时携带用户名和密码参数,后端期望创建一个用户对象来封装这些参数值。① 自定义类 – 用来封装参数值return id;② 编写处理方法// 传递参数名与封装对象的属性名需一致③ jsp页面<html><head></head><body>姓名:<input type="text" name="name"><input type="submit" value="提交">原创 2024-03-12 09:53:12 · 864 阅读 · 0 评论 -
Java研学-SpringMVC(一)
前端控制器(Front Controller)是一种设计模式,常用于Web应用程序开发中。它主要负责集中处理所有的请求,并根据这些请求的类型和性质,将其分派给相应的处理程序或控制器。通过这种方式,前端控制器实现了应用程序的中心化管理和控制。做一个共同的处理,如权限检查,授权,日志记录等。因为前端控制的集中处理请求的能力,因此提高了可重用性和可拓展性。原创 2024-03-12 09:52:24 · 912 阅读 · 0 评论 -
Java研学-Spring事务整合Mybatis
通过Spring事务整合Mybatis,使用注解或xml的形式,完成转账操作。原创 2024-03-11 08:25:50 · 401 阅读 · 1 评论 -
Java研学-Spring AOP
AOP(Aspect Oriented Programming)面向切面编程技术,将一个个的横切关注点放到模块中,称之为切面。每一个的切面都能影响业务的某一种功能,切面的目的是功能增强,日志切面就是一个横切关注点,应用中方法需做日志记录的只需要插入日志的切面即可。(动态代理就可以实现 AOP)AOP 可将与业务无关,但为业务模块所共同调用的逻辑或责任(如事务处理、日志管理、权限控制等)封装起来,减少系统冗余代码,降低模块间耦合度,增强可拓展性和可维护性。原创 2024-03-11 08:24:52 · 594 阅读 · 0 评论 -
Java研学-代理模式
静态代理是一种代理模式,其中代理对象在编译时就确定下来,而不是在运行时动态创建。静态代理由业务实现类、业务代理类两部分组成。业务实现类负责实现主要的业务方法,业务代理类负责对调用的业务方法作拦截、过滤、预处理。静态代理的优点是可以实现对目标方法的扩展,控制真实对象的访问权限,避免创建大对象,以及增强真实对象功能。业务类只需要关注业务逻辑本身,保证了业务类的重用性。把真实对象隐藏起来了,保护真实对象。原创 2024-01-24 09:56:55 · 1262 阅读 · 0 评论 -
Java研学-spring框架(二)
Bean的作用域指的是Bean在Spring整个框架中的生命周期和作用范围。Spring 创建对象的过程中,将对象依赖属性通过配置设值给该对象。将标注的类放入spring容器,交给spring管理,四个注解的功能相同,用于标注不同类型的类(不需再配置xml的bean了)注解说明用于标注数据访问组件,即 DAO 实现类上。@Service用于标注业务层实现类上。用于标注控制层类上。@Component当不是以上的话,可以使用这个注解进行标注。注解说明@Scope。原创 2024-01-22 19:43:07 · 1394 阅读 · 0 评论 -
Java研学-spring框架(一)
Spring框架是一个开源的Java EE应用程序框架,旨在简化Java企业级应用的开发难度和开发周期,主要通过控制反转(IoC)和面向切面编程(AOP)等技术实现。容器(Container):(主要是指IoC容器)是Spring框架的核心技术,主要作用是管理对象的创建及属性的赋值,以及单例对象的销毁回收(管理对象的生命周期)。通过控制反转(IoC)技术,Spring容器负责管理对象之间的依赖关系,降低了程序的耦合度。也就是装对象的的对象,如 Tomcat 就是 Servlet 的容器。原创 2024-01-21 20:24:03 · 1490 阅读 · 0 评论 -
Java研学-MyBatis加强(二)
额外sql的本质就是分步sql,通过前一个的结果集进行下一条语句的查询。原创 2024-01-20 20:11:58 · 1178 阅读 · 0 评论