Java Web
文章平均质量分 50
又菜又爱玩٩( ö̆ ) و
人菜就要多学习
展开
-
Java中String类型的==判断(代码)
public class StringTest { public static void main(String[] args) { /** * 采用字面值的方式创建一个字符串时, * JVM首先会去字符串池中查找是否存在这个对象, * 如果不存在,则在字符串常量池中创建这个对象,然后将池中这个对象的引用地址返回给对象的引用s1, * 这样s1会指向字符串常量池中这个字符串对象; * 如..原创 2021-03-06 13:02:55 · 3134 阅读 · 1 评论 -
6种 @Transactional 注解失效场景
引言昨天公众号粉丝咨询了一个问题,说自己之前面试被问@Transactional注解哪些场景下会失效,一时语塞致使面试失败。所以今天简单的和大家分享一下@Transactional相关的知识。@Transactional注解相信大家并不陌生,平时开发中很常用的一个注解,它能保证方法内多个数据库操作要么同时成功、要么同时失败。使用@Transactional注解时需要注意许多的细节,...转载 2020-03-27 15:18:14 · 244 阅读 · 0 评论 -
Spring boot使用JPA注解@CreatedDate、@CreatedBy、@LastModifiedDate、@LastModifiedBy 自动生成
实体类:在类上加上注解@EntityListeners(AuditingEntityListener.class)相关属性上使用@CreatedDate、@CreatedBy、@LastModifiedDate、@LastModifiedBy注解@Data@MappedSuperclass@EntityListeners(AuditingEntityListener.class)...原创 2020-03-10 17:13:41 · 3557 阅读 · 1 评论 -
FontConfiguration.getVersion报空指针异常
程序中使用到了图形验证码的功能,本地测试没问题,但是在服务器上就会报异常。服务器中缺少FontConfig,是因为服务器用的是OpenJDK,所以需要手动安装。而本地用的则是正式JDK1.8,所以没有问题。安装命令:yum install fontconfig关于JDK和OpenJDK的区别参考:https://www.zhihu.com/question/32716294...原创 2020-02-28 16:38:21 · 6594 阅读 · 1 评论 -
SpringBoot如何优雅的校验参数
前言做web开发有一点很烦人就是要校验参数,基本上每个接口都要对参数进行校验,比如一些格式校验 非空校验都是必不可少的。如果参数比较少的话还是容易 处理的一但参数比较多了的话代码中就会出现大量的IF ELSE就比如下面这样:这个例子只是校验了一下空参数。如果需要验证邮箱格式和手机号格式校验的话代码会更多,所以介绍一下validator通过注解的方式进行校验参数。什么是Validat...转载 2019-12-12 16:01:18 · 592 阅读 · 2 评论 -
在Java中如何优雅地判空
作为搬砖党的一族们,我们对判空一定再熟悉不过了,不要跟我说你很少进行判空,除非你喜欢 NullPointerException。不过 NullPointerException对于很多猿们来说,也是 Exception家族中最亲近的一员了。为了避免 NullPointerException来找我们,我们经常会进行如下操作:if(data!=null){dos...转载 2019-11-18 11:26:03 · 170 阅读 · 0 评论 -
Java:如何更优雅的处理空值?
导语在笔者几年的开发经验中,经常看到项目中存在到处空值判断的情况,这些判断,会让人觉得摸不着头绪,它的出现很有可能和当前的业务逻辑并没有关系。但它会让你很头疼。有时候,更可怕的是系统因为这些空值的情况,会抛出空指针异常,导致业务系统发生问题。此篇文章,我总结了几种关于空值的处理手法,希望对读者有帮助。业务中的空值场景存在一个UserSearchService用来提供用户查询...转载 2019-11-18 11:22:20 · 138 阅读 · 0 评论 -
Lombok 学习指南
一、Lombok 简介Lombok 是一款 Java 开发插件,使得 Java 开发者可以通过其定义的一些注解来消除业务工程中冗长和繁琐的代码,尤其对于简单的 Java 模型对象(POJO)。在开发环境中使用 Lombok 插件后,Java 开发人员可以节省出重复构建,诸如 hashCode 和 equals 这样的方法以及各种业务对象模型的 accessor 和 toString 等方法的大...转载 2019-11-18 11:13:00 · 162 阅读 · 0 评论 -
Tomcat源码分析 -- Tomcat整体架构
文章转载自https://blog.csdn.net/w1992wishes/article/details/79242797,如有侵权请联系删除 本章结构如下:前言Tomcat顶层结构ServerServiceConnectorContainerTomncat启动流程一、前言一般而言,对于一个复杂的系统,直接扎进去看源码会是很难受的,会浪费大量的时间和脑细胞,却得不到...转载 2019-05-16 19:55:28 · 132 阅读 · 1 评论 -
如何使用jstack分析线程状态
文章转载自 简书占小狼http://www.jianshu.com/users/90ab66c248e6/latest_articles背景记得前段时间,同事说他们测试环境的服务器cpu使用率一直处于100%,本地又没有什么接口调用,为什么会这样?cpu使用率居高不下,自然是有某些线程一直占用着cpu资源,那又如何查看占用cpu较高的线程?当然一个正常的程序员不会写出上述代码...转载 2019-05-21 16:43:00 · 97 阅读 · 0 评论 -
Integer.parseInt和Integer.valueOf
之前把String转换成Integer时,有时会用valueOf,有时会用parseInt,不清楚两者的区别,毕竟都可以使用。后来查阅网上相关资料和源码,发现两者之间的一些区别。 * <blockquote><pre> * parseInt("0", 10) returns 0 * parseInt("473", 10) returns 4...原创 2019-03-15 16:33:23 · 1127 阅读 · 0 评论 -
tomcat 无法启动
最近遇到tomcat无法启动的过程,在网上查找了一些资料,把过程记下来。1.启动tomcat文件下的startup.bat,闪退2.在catalina.bat的最后面加上pause,可以查看报错信息3.再次启动startup.bat,报错信息:Exception in thread "main" java.lang.UnsupportedClassVersionError: org...原创 2019-03-04 15:50:07 · 586 阅读 · 0 评论 -
The import org.springframework.boot.SpringApplication cannot be resolved
报错信息:The import org.springframework.boot.SpringApplication cannot be resolved原因:springboot包版本不同导致冲突之前项目使用的版本是 2.0.5.RELEASE ,后来导入的版本是1.5.8.RELEASE 。前版本:后版本:解决:同一版本即可我把后来用的版本也换成2...原创 2019-03-01 15:22:32 · 7523 阅读 · 0 评论 -
XML文件写入与解析
依赖jar包<dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version></dependency>使用DOM4J写入XML的大致...原创 2019-03-01 11:40:24 · 274 阅读 · 0 评论 -
RFC1867
Network Working Group E. NebelRequest For Comments: 1867 L. MasinterCategory: Experimental ...转载 2019-01-24 11:44:07 · 992 阅读 · 0 评论 -
下载功能
下载保存图片图片默认情况下, 浏览器进行内联(inline)显示, 如果需要实现下载功能, 则需要设置一个响应头 Content-Disposition具体请参看: rfc2616的 19.5.1 章节下载图片的原理是:Servlet代码:@RequestMapping(value="/download.do", produces="image/png")...原创 2019-01-24 14:10:49 · 1002 阅读 · 0 评论 -
Eclipse中tcp/ip抓包工具
原创 2019-01-20 16:31:41 · 486 阅读 · 1 评论 -
Servlet总结(1)
本以为不会再用到servlet和jsp了,也忘得差不多了,没想到最近的项目又遇到了T_T。没办法,只好把以前学过的这方面基础内容总结一下,方便日后查看。1. 什么是Servlet?sun公司制订的一种用来扩展web服务器功能的组件规范,用来处理动态资源的请求。servlet就是一个组件,需要部署到servlet容器(Tomcat)里面才能运行。2.Servlet如何运...原创 2019-01-20 17:20:03 · 217 阅读 · 0 评论 -
Servlet总结(2)——转发与重定向
1.重定向1.1什么是重定向?服务器通知浏览器重新访问一个新的地址。服务器可以发送一个302状态码及一个Location消息头(该消息头的值是一个地址,一般称之为重定向地址)给浏览器;浏览器收到之后,会立即向重定向地址发请求。例如添加完用户后重定向到用户列表1.2如何重定向?response.sendRedirect(String url); url为重定向地址。1.3特点...原创 2019-01-20 17:40:05 · 244 阅读 · 0 评论 -
Servlet总结(3)——Servlet的生命周期
1 什么是Servlet的生命周期?servlet容器如何创建servlet对象、如何对其进行初始化处理、如何调用其方法处理请求,以及如何销毁该对象的整个过程。2 生命周期分成哪几个阶段?2.1 实例化2.1.1)容器调用servlet的构造器,创建servlet对象。2.1.2)什么时候实例化? 情形1:容器收到请求之后。 情形2:容器启动之后,立即创建。 ...原创 2019-01-20 18:01:04 · 317 阅读 · 0 评论 -
servlet总结(4)——状态管理
1.什么是状态管理将浏览器与web服务器之间多次交互当作一个整体来处理,并且将多次交互所涉及的数据(即状态)保存下来。2.如何进行状态管理a.将状态保存在浏览器端。Cookie技术b.将状态保存在服务器端。Session技术3.Cookie3.1 什么是Cookie服务器临时存放在浏览器端的少量数据。这些数据用来跟踪用户的状态。3.2 工作原理当浏览器访问服务器...原创 2019-01-20 18:36:26 · 257 阅读 · 0 评论 -
servlet总结(5)——过滤器与监听器
1.过滤器1.1 什么是过滤器?Servlet规范当中定义的一种特殊的组件,用来拦截servlet容器的调用过程。容器收到请求之后,会先调用过滤器,再调用后续的其它组件。1.2 如何写一个过滤器?step1.写一个java类,实现Filter接口。step2.在接口方法当中,实现拦截处理逻辑。step3.配置过滤器(web.xml)。1.3 过滤器优先级当有多个过滤...原创 2019-01-20 18:56:05 · 188 阅读 · 0 评论 -
JSP基础
1.jsp是什么(java server page)sun公司制订的一种服务器端动态页面技术规范。a.虽然使用servlet也可以生成动态页面,但是过于繁琐(需要使用out.println语句输出),并且维护麻烦(要修改页面,就必须修改java代码)。所以sun才制订了jsp规范。b. jsp是一个以.jsp为后缀的文件,主要内容是html和少量的java代码。容器(比如tomcat)...原创 2019-01-20 19:41:52 · 580 阅读 · 0 评论 -
zookeeper集群搭建
简介zookeeper是一个类似hdfs的树形文件结构,zookeeper可以用来保证数据在(zk)集群之间的数据的事务性一致、zookeeper有watch事件,是一次性触发的,当watch监视的数据发生变化时,通知设置了该watch的client,即watcherzookeeper有三个角色:Learner,Follower,Observer集群搭建1.共3个节点(zk服务器集...原创 2019-01-26 16:58:59 · 141 阅读 · 0 评论 -
java使用PropertiesConfiguration类读取properties文件的值
结构:配置文件大概长这样子:#vpnvpn.proxyHost = 127.0.0.1vpn.proxyPort = 8787vpn.scheme = http#twittertwitter.ConsumerKey = ****************************twitter.ConsumerSecret = ***********************...原创 2019-02-27 15:37:46 · 1753 阅读 · 0 评论 -
拦截器解决跨域问题
解决跨域问题的方法挺多的。该方法只是本人用过,做个记录。import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.stereotype.Component;import org.springframework...原创 2019-02-27 16:12:03 · 5030 阅读 · 2 评论 -
文件上传和下载
1. 文件上载(upload)HTTP协议支持文件上载功能,浏览器和Spring MVC按照 RFC1867 标准实现文件上载, 具体步骤,客户端 使用form 标签并且使用 method="post" 和 enctype="multipart/form-data" 使用 input type=file 选择文件 服务器端 导入 commons-fileupload ...原创 2019-01-24 11:39:14 · 380 阅读 · 0 评论