自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

老头学编程的博客

43岁高中文化开始自学JAVA编程 , 底子越薄越要靠自己 ...

  • 博客(38)
  • 收藏
  • 关注

原创 在点击退出帐号,以及直接关闭浏览器时 ;如何将session里的数据序列化的思考(需防止用户串号)

实现的大致思路是 :一. 浏览器关闭 :用js的unload来触发动作 ;如 : 通过json给servlet发送浏览器关闭消息;servlet接收到关闭通知 , 调用req.getSession().invalidate()销毁session;关于序列化操作 , 在监听器里实现;二. 点击"退出帐号"直接销毁session;关于序列化操作 , 在监听器里实现;三. session过期失效时 :7. 通过HttpSessionListener监听sessionDestroyed(

2020-12-31 23:28:37 355

原创 JAVASE基础知识十问

一、Java支持的数据类型有哪些?什么是自动拆装箱?Java语言支持的8种基本数据类型是:byte、short、int、long、float、double、boolean、char自动装箱是Java编译器在基本数据类型和对应的对象包装类型之间做的一个转化。比如:把int转化成Integer,double转化成Double,等等。反之就是自动拆箱。二、数组(Array)和列表(ArrayList)的区别?什么时候应该使用Array而不是ArrayList?区别:Array可以包含基本类型和对

2020-12-31 15:57:19 110

转载 数据库全表查询之-分页查询优化

我们在项目中经常会使用到分页查询,之前最常用from-size模式,即“select * from tableName where is_del = 0 limit #{from},#{size} ”,刚开始数据量比较小的情况下还没看出有什么缺点,但是当数据量为百万、千万级别以上数据时,会发现分页查询越来越慢,会严重影响前端页面的反映速度。网上有好几种分页查询优化的方法,比如:使用子查询优化;使用ID限定优化;使用临时表优化;它们从不同的角度来提升查询速度,但是从学习和理解成本讲,我还是最常用

2020-12-31 14:46:26 961

原创 两个html间 ,在get下也能正常传参数(中文也不乱码)

摸索这个问题的背景 :a.html页面,要直接向b.html页面传参,如果是数字/字母那就一帆风顺了;问题是,要传的是"中文字符"参数 ; 这样一来在b页面截取字符串时,就会出现乱码;如果是在JAVA中,进行编码解码就解决了,可在html中怎么办呢 ?只有借助JS了, 试想问题应该就是出在URL编码问题上 , 那么就从此下手;查阅了一些资料 , 解决方案是 : 通过escape格式的编码解码解决 , 核心代码如下 :A.html页面function searchButton(){ var

2020-12-30 23:28:00 306

转载 url上的中文字符是ISO-8859-1编码。后台获取中文乱码 , 采用编码解码方式解决问题

url上的中文字符是ISO-8859-1。后台获取中文乱码解决问题。需要转码public static String changeCharset(String str, String defaultValue) { if (str != null) { try { if ((StringUtils.isNotBlank(str)) && st

2020-12-30 21:16:25 1396 1

原创 通过JS , 从URL中获取参数

function GetId(name) { var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'); var r = window.location.search.substr(1).match(reg); if (r != null) { return unescape(r[2]); } return null;}// 这样调用:// alert(GetId("参数名1"));// alert.

2020-12-30 19:59:52 148

原创 什么是技术栈

1、技术栈 定义:一般来说是指将N种技术互相组合在一起(N>1),作为一个有机的整体来实现某种目的或功能。也可以指掌握这些技术以及配合使用的经验。 举个例子:开发一个普通系统,您使用了html + css + javascript + vue+ Spring Boot+Spring cloud + Spring+ SpringMVC+Mybatis+Redis+nginx+ WebSocket+Lucene + linux + mysql等等,这些技术加起来就可以称为技术栈。

2020-12-30 19:43:53 7709

转载 用div,ul,li,span代替table设计表格

传统的表格一般都是用table标签设计的,现在网页设计很少用table了,主要用div,ul,li,span等标签,这是一种网页设计的思想了,和table不一样。用这种方式设计的html代码结构清晰,很容易输出后台的数据或调用程序的标签语言(碎片功能)。<div class="head"><ul><li>服务器名</li><li>服务器IP</li><li>开区时间</li><li>开区线

2020-12-30 12:57:39 3525 1

原创 集合通过比较器Comparator实现排序的练习代码片段记录

一. 单一字段的排序; Collections.sort(beans, new Comparator<Test01>() { @Override public int compare(Test01 t1, Test01 t2) {// 第一种写法 :// return t1.num1 - t2.num1; // 升序 // return t2.num1 - t1.num1; // 降序 // 第二种写法 : if(t1.num1 > t2

2020-12-29 20:27:03 120

原创 BootStrap模态框 , 使用场景心得和模版代码

模态框从运用场景来看 , 有一个比较显著的特点是:不会造成页面跳转 , 从而打乱或中断用户的使用体验;例如 :某购买页面 , 点击加购按钮 , 大致流程是 :判断用户是否登录 ;如果未登录 , 会让客户先登录 ;而后对购物车对象进行相应操作 ;日常的思路是 :当用户未登录时 , 会跳转到登录页面 ;完成登录后 , 跳转到首页 ;这样会存在加购页面丢失的问题 [虽然可以通过传参 , 实现访问商品页面URL的转发] ; 但是,也需两个页面中跳转 , 略有繁琐 ; 尤其在确定下单环节,

2020-12-29 11:14:25 339

转载 在html页面中引入另一个html页面

我们在使用html编写一个网站的时候,通常情况下头部和尾部是相同的,如果一个网站的每个页面都把这些代码写一遍,不仅浪费时间,还显得重复代码很多,所以此时把重复的页面单独摘出来,在用到的时候从外部直接引进去,就能节省很多时间,减少很多代码。在这里,有好几种引入html文件的方式,不过每种都是有利有弊,需要根据需要自行选择如果有些浏览器本地实现不了,那么放到服务器上面!(重要!!!)注意:引入后主页面的Css样式不适用于被引入页面,比如在主页面设置<style type="text/css"&gt

2020-12-28 20:34:02 9262

原创 个人针对网站代码安全层面的理解归类[待追加修改]

第一 . SQL注入个人感知 : 采用JDBC的prepareStatement第二. HTML注入\JS注入\CSS注入个人感知 :spring转义: HtmlUtils.htmlEscape()spring入参断言 : Assert第三. 敏感字符个人感知 : filter层过滤第四. 数据传输个人感知 : 加密算法第五. JSON发送前端信息过载个人感知 :jsonconfig 或 pojo通过JsonValueProcessor接口...

2020-12-27 12:19:02 128

原创 解决ajax请求默认不支持重定向问题(含测试心得)

1,Ajax默认是不支持重定向的,只局部刷新数据,不跳转页面。2,后台代码处理:@RequestMapping("/updateCurrentUser") public String updateCurrentUser(HttpServletRequest request, HttpServletResponse response, String type){ JsonObject json = new JsonObject(); String url = "";

2020-12-26 20:16:37 687 2

转载 spring特殊字符转义和方法入参检测工具类

由于 Web 应用程序需要联合使用到多种语言,每种语言都包含一些特殊的字符,对于动态语言或标签式的语言而言,如果需要动态构造语言的内容时,一个我们经常会碰到的问题就是特殊字符转义的问题。下面是 Web 开发者最常面对需要转义的特殊字符类型:HTML 特殊字符;JavaScript 特殊字符;SQL 特殊字符;如果不对这些特殊字符进行转义处理,则不但可能破坏文档结构,还可以引发潜在的安全问题。Spring 为 HTML 和 JavaScript 特殊字符提供了转义操作工具类,它们分别是 HtmlU

2020-12-26 15:34:34 1478

原创 spring与JDK版本对应关系,以及maven导入spring依赖包

搭建spring框架得时候要考虑jdk的版本,提供一下参考JDK 8 中可以使用 Spring Framework 5.xJDK 7 中可以使用 Spring Framework 4.xJDK 6 中可以使用 Spring Framework 4.xJDK 5 中可以使用 Spring Framework 3.x

2020-12-26 14:05:34 3448

转载 Java抽象类的作用和使用

/*当多个类中出现相同功能,但是功能主体不同,这是可以进行向上抽取。这时,只抽取功能定义,而不抽取功能主体。抽象:看不懂。抽象类的特点:抽象方法一定在抽象类中。抽象方法和抽象类都必须被abstract关键字修饰。抽象类不可以用new创建和实例化对象。因为抽象类本身就是不完整的。抽象类中的抽象方法要被使用,必须由子类复写所有的抽象方法后,建立子类对象调用。如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类。抽象类和一般类没有太大的不同。该如何描述事物,就如何描述事物,只不过,该事

2020-12-24 11:17:38 376 1

原创 getDeclaredMethod()和getMethod()的区别 ; 关于为什么反射时获取不到Method(细节处问题了)

getDeclaredMethod()和getMethod()的区别getDeclaredMethod*()获取的是类自身声明的所有方法,包含public、protected和private方法。getMethod*()获取的是类的所有共有方法,这就包括自身的所有public方法,和从基类继承的、从接口实现的所有public方法。=====================一 . 在一次反射Method方法时候,报错 :java.lang.NoSuchMethodException: s

2020-12-23 21:06:35 1588

原创 自定义枚举 类,用于放一些常量;用于数据库指定指定存放相应的数据规范

数据库有个字段,是状态;之前的做法是:在DAO里申明了一堆的常量(英文的,用于存放入数据库);在bean里写了个方法,将数据库读取的英文,转义为中文,采用switch方法;问题 : 又臭又长 , 又不能很好的遍历常量;今天采用枚举enum改造了下:自定义一个enum类,类型为中文 + 数字下标;中文用于前端显示,数字下标用于存入数据库;优点 : 易维护,数据库也更清爽了;自定义枚举类代码大致如下:package TestEnum;public enum StatusType {

2020-12-23 10:05:45 301

转载 JDBC事务回滚实践笔记 : 批量更新库存数据,当某一条数据为负数时,JDBC事务回滚

事务的定义:事务(Transaction):是并发控制的单元,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。通过事务,sql server 能将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性。事务通常是以begin transaction开始,以commit或rollback结束:Commint表示提交,即提交事务的所有操作。具体地说就是将事务中所有对数据的更新写回到磁盘上的物理数据库中去,事务正常结束。Rollback表示回滚,即在事务运行的过程中发生

2020-12-22 13:19:58 478

原创 tomcat启动莫名其妙抛出:java.lang.ClassNotFoundException: filter.EncodingFilter

之前都正常的,今天通过eclipse启动tomcat报错!提示 : java.lang.ClassNotFoundException: filter.EncodingFilter根据字面理解,应该是监听器的class类找不到;查看 : …\target\classes\filter下,class文件都存在的;查看: web.xml配置信息,没发现什么问题;----------------->filter.EncodingFilter源文件近期一直没改动过啊,会是什么情况呢?Server

2020-12-22 00:23:24 1585 1

原创 关于前端数据加载失败的排错思路,碰到个小小的坑

今天在写段功能代码,是关于产品主图增删改成功能;功能代码完成后,查看前台,当删除完所有主图后,发现产品列表突然全部都不显示了! ??查看Eclipse控制台,没有发现异常;查看数据库,产品记录完整;打印前台JSON,能接收到数据;推测JS出问题了,怎么会有这种事发生呢?HTML和JS今天都动过啊!============重新看json数据结构,和分析之前写的JS代码,发现问题出在获取属性时出错!如:5. json里有个属性是img对象,他有个id值;6. 当我将主图都删除完后,这个i

2020-12-20 08:19:21 884 1

原创 关于JSONArray在前端js后端servlet的综合运用

脉络 : html + DOM + jquery + ajax + json + servlet + mysql解决问题 : 从数据中读取多条数据,前台修改后,仅将修改的项提交给数据库;涉及的面有点多,这次侧重从jsonarray方面的实现来记录:一. 前台html部分 <!-- 这是一个动态插入表单元素的表格 --> <div class="main" align="center"> <table class="table table-bordered">

2020-12-18 11:40:20 274 2

原创 JQuery查找子元素find()和遍历集合each的方法积累(扩展对jquery对象和DOM对象的理解)

1.HTML代码<div name="students" school="HK"> <input type="boy" name="ZhangSan" value="206"> <input type="girl" name="Lisi" value="108"> </div> 2.jquery<script type="text/javascript"> /* find() 查找子元素方法

2020-12-18 04:46:01 2036 1

原创 通过POJO给JSON减肥的一种思路;令JSON集合string不会那么杂乱

源起于alibaba的开发手册类的命名规范参考自——知乎上的回答由于,Java是面向对象的,由于DAO层常规实现的原因,哪怕为了获取一些字段,生成的也是一个对象,当表有主键约束时,对象会变得很强壮;为此,在写json时,会有一点问题;当采用json与前端交互时,将对象进行直接序列化后,里面包含的属性(对象),会变得非常臃肿;于是上网查找了一些资料,目前得知,也是自我感知的两种方法是:POJO类 - VO;JsonConfig方法,点击参见另片文章;用pojo类的好处 :用pojo类做为数

2020-12-17 05:44:02 173

转载 JSONObject的过滤设置-使用详细说明

在使用json-lib包中JSONObject.fromObject(bean,cfg)时,可能出现以下几种情况:1、(防止自包含)转换的对象包含自身对象,或者对象A下面挂了对象B,对象B下面又挂了对象A,如果不设置取消环形结构,则那么会抛异常:“There is a cycle in the hierarchy!”解决方法:在调用JSONObject.fromObject(bean,cfg)时,自定义JsonConfig:JsonConfig cfg = new JsonConfig();cfg

2020-12-17 04:02:24 1945

转载 外键约束无法删除的处理方法

一、报错:Cannot delete or update a parent row: a foreign key constraint fails (`salarycode`.`sys_role_user`, CONSTRAINT `sys_role_user_ibfk_2` FOREIGN KEY (`uid`) REFERENCES `sys_user` (`id`))二、解决方法:1、关闭外键约束SET FOREIGN_KEY_CHECKS=0; 2、执行删除语句(以下是删除用户类型为3

2020-12-16 23:10:39 2500

原创 jquery中empty()与remove()使用区别

要用到移除指定元素的时候,发现empty()与remove([expr])都可以用来实现。可仔细观察效果的话就可以发现 :empty()是只移除了指定元素中的所有子节点 ;remove()则是把自己从dom中删除,而不会保留其所占的位置。====================例:<p>Hello</p>World<p>welcome</p>执行$(“p”).empty()其结果是<p></p>World&l

2020-12-16 00:49:47 204

转载 URL中的#?&符号的作用

#10年9月,twitter改版。一个显著变化,就是URL加入了"#!“符号。比如,改版前的用户主页网址为http://twitter.com/username改版后,就变成了http://twitter.com/#!/username。这是主流网站第一次将”#"大规模用于重要URL中。1.#代表网页中的一个位置其右面的字符,就是该位置的标识符。比如,http://www.example.com/index.html#print就代表网页index.html的print位置。浏览器读取这个URL后,会

2020-12-14 00:06:33 698

转载 数据库ACID四大特性及脏读,不可重复读,幻读,事物丢失

数据库ACID四大特性及脏读,不可重复读,幻读,事物丢失A 原子性(Atomicity) [ˌædəˈmɪsədi] 就是把事物分割成像原子一样,表示我们事物需要细微的去控制。比如我给你转钱,里面有我扣钱,你到账。总不能我扣了钱,你没到账这种情况吧。所以就是指转账这个事物, 里面的所有环节哪怕一个出错,都需要事物回滚,就是一切回到之前那样。B 一致性(Consistency) [kənˈsɪstənsi] 一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,

2020-12-13 23:26:02 304

转载 Js文件函数中调用另一个Js文件函数的方法

在项目中Js文件需要完成某一功能,但这一功能的大部分代码在另外一个Js文件已经完成,只需要调用这个文件实现功能。那么如何调用:一个Js文件函数中调用另一个Js文件函数的方法?(直接代码说明)示例demo:首先创建三个文件 : html 文件 a.js文件 b.js文件 (相同目录地址存放)html 文件<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"&gt

2020-12-12 22:49:00 9423

转载 关于HTML页面不缓存的几种方法

方法一:在标签里增加如下meta标签。<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=8"><meta http-equiv="Expires" content="0"><meta http-equiv="Pragma" content="no-cache"><met

2020-12-12 16:37:03 7371

原创 通过URL传参+JSON组合来实现 , 后台重定向后的传参实践总结.

前端 : html + js + json后端: java + servlet (无jsp)要解决的问题 :后端servlet重定向 , 到一个html页面 ;重定向后该html需要一个id作为参数,通过json来获取数据库相应数据 ;矛盾 : 重定向是一次新的请求,无法将重定向前的参数继承下来 ;解决思路 :给重定向的html的url带参数,从而实现传参 ; 例如:index.html?id=99前端通过js截取参数 , 来发起json请求 , 从而获取相应数据 ; 通过实践

2020-12-11 01:55:40 762

转载 在重定向时的传参问题的,简单解决方案:JS获取URL中参数值的4种方法

在重定向时的传参问题的,简单解决方案:此方法,估计参数是中文时,可能会出错;由于我的需求是仅仅传递一个ID值,已经满足需求;觉得把参数放到"Token令牌"+"session"中处理,也是讲的通的,回头再尝试下;转帖==方法一:正则法function getQueryString(name) {var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');var r = window.location.sear

2020-12-10 22:10:12 2109

原创 文件上传后,tomcat重新部署图片消失问题的两种解决方法!

最近在做一个Javaweb的项目,涉及到图片上传,并且需要将图片通过URL回显给html页面,在调试的时候发现,上传到tomcat的webapps下项目中的图片在重新部署之后就消失了。原因是:重新部署项目的时候,tomcat下的webapps文件夹下的项目会被重新部署,覆盖掉了之前的项目文件,所以文件就消失了。查找了一些网络资料,绝大部分是修改tomcat下conf/server.xml文件,添加如下内容:方法一 : 通过tomcat下配置conf/server.xml文件;<Context

2020-12-09 22:09:43 2043 3

原创 请求转发 OR 重定向,在一个servlet中只能被使用一次

对servlet做了些测试,得出的结论是1. 请求转发 OR 重定向,在一个servlet中只能被使用一次2. 转发和重定向的执行顺序:2-1. Servlet1(转发)—>Servlet2(转发)—>Servlet3(转发);运行后: 1–>2–>3–>2—>1;特点: 转发后会回到之前转发的servlet,继续执行后续代码;2-2. Servlet1(重定向)—>Servlet2(重定向)—>Servlet3(重定向);运行后: 1–>

2020-12-05 23:40:39 523

原创 采用servlet 3.0 , 我是这样来完成图片上传及相关图片操作的;

<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency> <dependency> <groupId>commons-fileupload</groupId> &..

2020-12-03 21:10:27 408

转载 前端JS获取并限制上传文件大小、上传文件格式

<input type="file" id="file"/> <input type="button" id="btn" value="js查看文件大小"/> <input type="button" id="btn1" value="jq查看文件大小"/> <script> //js获取上传文件大小(单位:字节) document.getElementById("

2020-12-03 13:57:55 1795

转载 关于java上传文件到tomcat后,重新部署项目,文件消失的解决方法

这种情况是由于你上传的文件路径选择在tomcat部署项目的路径下了,虽然上传成功了,但是当你重新部署项目的时候,tomcat下的webapps文件夹下的项目会被重新部署,覆盖掉了之前的项目文件,所以文件就消失了。解决方法是将文件上传到其它的文件夹下,前提是先在本地新建一个文件夹,然后修改tomcat的server.xml文件,打开server.xml文件,找到里面的标签,添加下面的内容即可:<Context docBase="D:\201710\image" path="/image" reloa

2020-12-01 22:44:34 1088

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除