HashSet与HashMap底层部分细讲
HashSet部分细讲示例代码初始化123public void test() { Set<String> set = new HashSet<>();}
HashSet<>(); 的底层实际上是一个hashMap。在这儿可以看出,HashSet中有一个属性就是HashMap
123456789// 这个就是存储Set中数据的map,放在map的key位置private transient HashMap<E,Object> map;/* Constructs a new, empty set; the backing <tt>HashMap</tt> instance has default initial capacity (16) and load factor (0.75). */public HashSet() { map = new HashMap<>();}
添加元素hashSet.add(E e)方法从下面的代码中可以看出,添加元素调用 ...
使用SpringBoot读取Excel组装JavaBean到数据库中
工具介绍1、使用Alibaba 的Easy Excel工具来进行
2、项目地址 GitHub EasyExcel
3、官方文档 EasyExcel
创建好一个SpringBoot项目1、可以用SpringBoot Initializer 来创建
2、也可以创建一个Maven项目添加依赖
添加EasyExcel依赖1、这点对小白不太友好,不知道要添加什么依赖
1234567<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.10</version></dependency><!-- 这个地方是从项目的pom文件中找到的,阿里云的maven仓库中可以拉取到 -->
准备一张Excel表
写代码Bean、Service、Mapper一条龙做个User示例
Javabean12345678910@Datapublic class User ...
SpringBoot 自定义HttpMessageConverter出现NullPointerException错误
SpringBoot 自定义HttpMessageConverter出现NullPointerException错误SpringBoot中HttpMessageConverter
这个接口中只有5个方法是必须要实现的,但今天粗心,按下了Ctrl + A全部实现了,但真正实现的只有那几个抽象方法。
因此出现错误。
1234@Overridepublic List<MediaType> getSupportedMediaTypes(Class<?> clazz) { return null;}
这个是IDE选择重写后的方法, 只返回NULL。因此会发生如下NullPointerException错误。
12345Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerExceptio ...
Tomcat打包后可以访问app但无法获得数据
问题描述跟尚硅谷雷丰阳老师学习的SSM整合,回忆一下原来的技术。为新的技术作铺垫。
但在最后,Tomcat打包后可以访问app但无法获得数据
开发过程
使用idea构建maven项目
我在调试的时候为了方便使用”/“这个作为访问路径
这样做之后就不用写项目名就可以直接启动了。
到了打包到tomcat时就使用了项目名启动,启动
启动成功,遇到BUG
使用idea打包后,放在Tomcat的webapp目录下,启动
结果就是空空如也
问题解决
按照惯例,打开f12,然后直接404
我在浏览器中发送这个请求可以收到数据
这就比较有意思了
为什么会出现这个呢,左思右想不得其解, 于是我就对着浏览器开始发呆
看着看着想到我还没有吃饭,要不去吃个饭吧!
刚想离开,但随手按了一下f5,这神奇的事情竟然发生了。我看到了问题所在
是的,下面少了一个项目名
原来,是js代码中没有写路径。
改吧,查找替换,一波带走;
成功了,可以吃饭了
成功了
Tomcat没有响应的一种可能的情况
今天写一个Web项目,Tomcat 总是出现无响应状态,也没有错误或者异常抛出
有道是,重启可以解决99%的问题,
于是一开始我总是用重启于解决这个问题,然重复重启太浪费时间
于是我召唤出了LOG大法,看了看Tomcat的log
发现了下面一句话,然后我就灰溜溜的退出了直播间
The web application [tavern] appears to have started a thread named [Druid-ConnectionPool-Destroy-1080082471] but has failed to stop it. This is very likely to create a memory leak.
1The web application [tavern] appears to have started a thread named [Druid-ConnectionPool-Destroy-1080082471] but has failed to stop it. This is very likely to create a memory ...
反射实现UpdateSelective
在写JavaWeb的时候 没有使用 Mybaits的框架逆向生成
用Java的反射实现了一下UpdateSelective,可能存在一些问题,但是功能是实现了,如果有大佬愿意帮助我,欢迎在评论区指正,感激不尽
代码如下
123456789101112131415161718192021222324/** * 更新用户的信息,其中user是有id的,这个方法是根据选择性的修改 */ public User updateUser(User user) { User userById = userDAO.getUserById(user.getId()); Class<User> userClass = User.class; Field[] fields = userClass.getDeclaredFields(); for (Field field : fields) { field.setAccessible(true); try { ...
在JavaWeb中转发页面js失效的某个解决方案
今天想要用Ajax把一个对象传回后台于是出现了下面这段代码
123456789101112131415161718192021$(function () { let requestBody = JSON.stringify(${sessionScope.loginUser}); $("#sendAnchor").click(function () { $.ajax({ "url": "user?method=resendEmail", "type": "post", "dataType": "json", // "contentType": "application/json; charset=UTF-8", "da ...
Ajax返回404,但是后台代码执行了错误
今天发生了一个非常奇怪的错误,Ajax 一直响应404,找了好久才找到是
原来是在@RequestMapping 的上面忘记了写@ResponseBody 注解
jQuery的方法失效问题
今天写代码的时候,发现一个神奇的事情,我的jquery代码中的append方法无论如何也没有办法使用后来才发现我的Javascript函数调用之前没有写在
123$(function () { // 没有将代码写在这个地方里面});
然后就无论如何也不能使用了
IDEA创建Maven的web工程 和 SpringMVC与Web整合的web.xml默认配置
1、当我们使用IDEA创建Maven的Web应用时,生成的web.xml是下面这个版本,这个版本亲测不支持EL表达式
1234567<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app> <display-name>Archetype Created Web Application</display-name></web-app>
2、EL表达式是从Web2.5开始支持的,可以使用以前创建好的web.xml文件直接来替换web.xml
3、下面这个文件内容中包含一些和SpringMVC的配置相关的内容。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 ...


