Java的数据库编程之入门案例

通过上一篇博客Java的数据库编程之背景概述,可以得出:1、JDBC API与驱动器管理器是有SUN公司制定并退出的;2、每个数据库的驱动器程序是由每个数据库开发商以及数据库工具开发商在遵循SUN公司提出的标准的基础上实现并提出的;3、由于JDBC API与驱动器管理器沟通,驱动器管理器通过各种数据库驱动与数据库通信,所以对于开发人员来说只要使用好JDBC API就可以;=>我们需
分类: 其他 发布时间: 01-24 23:31 阅读次数: 0

漫谈Servlet(一)

在正式谈Servlet之前,首先看看JavaEE API规范对Servlet的定义:Servlet是一个运行在Web服务器中的Java小程序。Servlet将会接收和响应来自Web客户端的请求,使用HTTP(超文本传输协议)进行通讯。(一)初始ServletServlet是所有Web应用程序的核心类,它是唯一的既可以直接处理和响应用户请求,也可以将处理工作委托给应用中的其他部分的类。除非某
分类: 其他 发布时间: 01-24 23:31 阅读次数: 0

HTTP会话那些事

本篇文章的目的是增进初学者或者有一定工作经验的开发人员进一步的认识了解“会话”,去探究下为什么需要会话以及会话的作用,废话不多说,开拔~开篇思考这么一个我们日常的行为,大家每天都会通过网络了解各种知识,比如我们去购物网站进行购物,去各种博客论坛去浏览、回复各种感兴趣的东西,这些行为的本质就是对目标服务器上的资源发送了来自同一客户端的多个请求,比如我们可以不用登陆,就可以把各种感兴趣的商品放置到
分类: 其他 发布时间: 01-24 23:30 阅读次数: 0

记录一次svn报错:[Previous operation has not finished; run 'cleanup' if it was interrupted] 的排错过程

前言:由于目前客户习惯使用SVN管理代码,所以仍在使用SVN做代码管理,管理方式虽然落伍,但客户粑粑就是上帝~~ 今天在改完十几个类文件批量提交时,在代码提交SVN服务器过程中,电脑突然性卡死一大会没有反应,果断采取关闭然后重启开发工具的方式,重启开发工具后,发现代码仍然提示为未提交状态,执行提交时报错,提示需要执行clean up,果断右键执行clean up,又提...
分类: 其他 发布时间: 01-24 23:30 阅读次数: 0

从无到有整合SpringMVC-MyBatis项目(1):搭建JavaWeb项目

前言:        近日有个销售类网站的项目,用了很久的Springboot,突发奇想回到过去,基于SpringMVC-MyBatis框架搭建项目,惭愧的是有些配置已记不清楚,所以决定写篇博客来记录下整个搭建过程,已回顾已有知识体式,方便自己和后来者,本次项目搭建采用的开发工具是IDEA2018.2.2版本,采用MAVEN,特此提醒;博客将分为以下三篇博客来逐渐讲解完成SSM项目搭建:...
分类: 其他 发布时间: 01-24 23:30 阅读次数: 0

从无到有整合SpringMVC-MyBatis项目(2):搭建SpringMVC项目

       前言:本次搭建SpringMVC项目,建立在已完成从无到有整合SpringMVC-MyBatis项目(1):搭建JavaWeb项目 的基础上,本篇的重点在于如何将SpringMVC框架引入到普通的JavaWeb项目中去,项目基于SpringMVC4.3.18版本进行搭建,所有配置亲测可用;        疑难点分析:搭建SpringMVC项目的难点在于如何建立起各种XXX.xml...
分类: 其他 发布时间: 01-24 23:30 阅读次数: 0

从无到有整合SpringMVC-MyBatis项目(3):整合SpringMVC+Mybatis

 本篇博客来讲解如何整合SSM(SpringMVC+Spring+Mybatis),代码已上传至GIT在正式整合之前,有几个概念需要提前了解下:1、Spring框架,也有人称呼为容器框架,编程领域的容器指的是有一种或多种手段将第三方框架、组件等纳入到容器中,进行生命周期等的管理,从而使得我们可以在容器中直接通过某个类来使用或操作某个组成或功能,不需要在单独使用对应框架API;2、Myb...
分类: 其他 发布时间: 01-24 23:29 阅读次数: 0

记录一次IDEA开发JavaWeb项目时JS中文乱码排错方法

大家经常遇到乱码问题,我一般习惯性的把编码问题归结为两种:编码层面的乱码:指的是那些需要修改项目内的代码或配置来解决的乱码问题,比如有的时候从数据库获取的数据是乱码、发送ajax请求时,获取到的数据乱码等,这种都需要进行新增或修改适当代码或配置来解决; 非编码层面的乱码:指的是那些修改项目外在的一些东西,比如服务器编码没有设置、开发环境中没有设置编码、开发工具编码问题等原因造就的乱码;只要...
分类: 其他 发布时间: 01-24 23:29 阅读次数: 0

Springboot缓存实战笔记之概念篇

看过好多博客,在介绍Springboot缓存时,直接讲解使用,第一步把冰箱门打开...之类的,并没有对缓存概念做一些常规介绍,任何技术首先要做的就是去了解概念,本篇基于我自身阅读过的一些书籍,自身觉得比较重要的概念,以笔记的形式记录下,方便自己以及后来者,后续陆续会有缓存常见架构+使用的博客,请关注后续;关于缓存:只要是稍微做过点项目的同学肯定都会听到缓存这么个词汇,缓存并不神秘,缓存主要用来...
分类: 其他 发布时间: 01-24 23:29 阅读次数: 0

IntelliJ IDEA插件安装最全详解

本文将从以下三个角度来讲解IDEA插件相关知识:为什么要安装IDEA插件? IDEA插件的本质是什么? 如何安装?一、为什么要安装IDEA插件:比如日常开发中需要统计代码行数,需要在IDE种通过GIT、GITEE、SVN等版本管理工具等进行代码管理,需要对现有代码进行某种公司编码规约的校验等,这些功能本身在IDE中不支持或者说缺乏的。那么就需要通过从外界获取的方式,将需要的功能引入到IDE中,当然插件必须确保自身能够适配当前版本的IDE确保能被安装应用,当IDEA完成插件安装后会以比如多出一个
分类: 其他 发布时间: 01-24 23:29 阅读次数: 0

Oracle中日期和时间字段的日常使用

本文目的是记录日常开发中用到的知识点,不涉及具体业务,只关注技术,方便自己和后来者。目前正在做一个工厂项目,说到工厂项目肯定会有关于产线和人员的排班时长计算,一般一条排班信息包括开始时间、结束时间以及人员或产线的标识。那么常见需求比如统计某个月份产线或者人员的工作时长、计算设备开动率、OEE等。以上需求都涉及到计算每次排班时长(结束时间-开始时间)的操作,这个时长计算在数据库端或者服务器端都可以进行,本文重点介绍下通过oracle相关函数来计算时长,老规矩,先贴表结构和数据样例,大家自行查看:下
分类: 其他 发布时间: 01-24 23:28 阅读次数: 0

Visual Studio二次安装时无法更改安装位置解决方案

背景:去年年底因为一个C#项目,安装过Visual Studio,当时采用的是默认安装,即安装到C盘。最近有个VB的桌面小项目,想安装Windows开发平台负载时发现C盘剩余空间不足15G,随起了卸载重新安装的想法,卸载后重新安装时,发现默认安装位置呈现灰色,不可更改,网络上解决方案好多说的比较单一,那么我在此总结下,方便自己和后来者。 本质:出现这个问题的本质原因为上一次安装卸载不彻底(一般指的是软件从硬盘里移除了,但写到注册表里面的配置信息并没有删除干净),导致后续安...
分类: 其他 发布时间: 01-24 23:28 阅读次数: 0

Springboot实现邮件发送(2020最新版)

在正式讲解如何用Springboot发送邮件之前,先普及三个概念:1、邮件协议,简单理解下:小明给小红发了一封邮件,指的是小明登录邮箱客户端(比如通过浏览器登录QQ、163、126等),将需要发送的内容已邮件的方式发送到邮件服务器,等小红同样登录邮箱客户端后客户端去邮件服务器获取小红这个账户应该获取的邮件列表并下载到客户端,这样小红在客户端就可以查看小明发送过来的邮件,大体过程如下图,画的粗糙不要介意:2、通俗来说我们以通过浏览器登录网址的形式或者从邮箱服务提供商官网下载的邮箱客户端登录自己的账
分类: 其他 发布时间: 01-24 23:28 阅读次数: 0

基于TOMCAT简单搭建文件服务器

背景:最近接了个工厂项目,里面有个需求:内网环境中,PAD端和PC端可以预览或下载公共文件,公共文件类别包括但不限于各种图片、媒体格式、PDF、WORD和EXCEL。结合目前工厂实际运维环境,可以总结出关键信息:内网环境安全问题无需过多关注、不考虑上传、允许不同端跨域访问静态资源。搭建文件服务器方式有多种,下面利用tomcat提供的功能实现文件服务器搭建,本文截图是在windows,其它操作系统基本一致:1、找到并编辑tomcat安装目录/config/server.xml,在Host元素内新增Co
分类: 其他 发布时间: 01-24 23:28 阅读次数: 0

Springboot项目结构浅析

每当我们通过IDE、spring官网gui或者maven命令行创建SpringBoot项目后,大致会有如下结构的项目,这个时候第一个念头就是对于默认创建的内容,我需要保留哪些,哪些删除掉。针对这个问题,本文对于陌生内容作出解释说明,对于项目必要内容,诸如src、pom.xml之流就不做解释,重点解释其它内容;1、.gitignore文件由于目前大多数应用开发使用git作为代码版本管理工具,所以官方默认提供该文件,作为不纳入git版本管理项的初始配置文件,里面定义了最常见的文件或目录的版本控制忽略
分类: 其他 发布时间: 01-24 23:27 阅读次数: 0

基于redis(v3.2+)实现“附近的人”功能

背景介绍:目前随着电商、社交、游戏和代购等的流行,“附近的人”这一功能提供了一种便捷的方式允许同一地区或者一定距离范围内的用户进行相互交流的途径,一般都是在用户点击某个菜单或按钮时记录用户的坐标信息,拿微信的“附近的人”功能举例子,如下图所示,当你在点击附近的人时微信服务端会提示获取你所在位置的经纬度,记录到服务端,右上角的小脚印就表示你的经纬度信息被记录。然后服务端会根据你的位置信息拉取附近同样在服务器端有位置记录的用户信息,按照距离进行排序。一般来说“附近的人”功能只要能否大体反应距你多少米或千
分类: 其他 发布时间: 01-24 23:27 阅读次数: 0

记一次“Shiro+任务调度”开发过程中出现UnavailableSecurityManagerException解决思路

背景介绍:某工厂设备管理项目中一个定时任务用于生成设备维护工单,在点击下方立即执行按钮时,会抛出下图所示的异常信息java.util.concurrent.ExecutionException: com.sugon.utils.RRException: 执行定时任务失败 at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.
分类: 其他 发布时间: 01-24 23:27 阅读次数: 0

获取iview中表单组件Table的选中数据

背景:在做某系统的审批中心时,新增了审批消息一键已读和删除功能,用iview的表单组件-Table实现消息列表展示,效果如下图所示:在实现一键已读或一键删除时需要获取当前消息列表中所有选中项,通过与服务端API交互来改变消息状态或删除消息。iview官方文档仅提供单选、全选或者选中项发生变化时的监听,并没有提供获取选中项的方法。通过查看官方demo和源码,发现可以通过this.$refs.table组件ref值.getSelection()的方式获取table选中项,下面在官方demo的基础上修改下
分类: 其他 发布时间: 01-24 23:27 阅读次数: 0

Maven生命周期和插件的那些事(2021版)

前言:在日常开发中我们经常使用IDE提供的MAVEN功能,如下图所示,通过右键->run maven build的方式或者通过命令行运行maven命令的方式来对项目进行构建。在我们通过简单操作就可以对项目进行clean(清理)、default(包括校验、编译、打包、测试等)、site(部署),在背后有好多知识点,本篇博客就对这些知识点进行整理归纳。一、什么是Maven的生命周期:在没有Maven之前,每个项目的开发人员一般都会干这么几件事情:清理、编译、测试和部署。不同的公司以及不同的项目
分类: 其他 发布时间: 01-24 23:26 阅读次数: 0

getClass().getProtectionDomain().getCodeSource().getLocation().toURI().getSchemeSpecificPart()返回内容解析

当通过java -jar或者命令行mvn spring-boot:run的方式启动springboot项目时,会引导执行如下代码:public static void main(String[] args) throws Exception { new JarLauncher().launch(args);}调用JarLauncher不带参数的构造方法创建JarLauncher对象,根据Java的继承特性会调用父类中的createArchive方法,官方代码实现如下:protected
分类: 其他 发布时间: 01-24 23:26 阅读次数: 0