![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
java项目bug
项目bug随记
谨心$
思想实现编程,编程改变世界
展开
-
oracle mybatis批量插入报sql语句过长
现象:在做读者信息导入的时候,导入的读者信息量有点大,结果sql报错,错误原因是执行的sql语句太长了。原因:经断点跟踪代码,发现底层mybati xml中插入读者信息方法是个批量插入,采用union all 把所有的insert语句拼接成一个语句,然而因为导入的读者信息数据量过大,导致拼接的sql语句长度超过了6000个字符,导致报错。以下是网上查询资料结果:mybatis-oracle批量插入问题:如上图所示:如果插入的数据量很大,union all后,sql语句都会非常的长,数据量原创 2020-12-28 17:25:39 · 3044 阅读 · 0 评论 -
同域名下不同系统登录后导致cookie JSESSIONID被替换退出登录解决办法
现象:A系统和B系统同属于一个域名下,A系统登录后,要访问B系统资源,在访问B系统资源时调用B系统登录认证,B系统登录成功,可以访问资源。但是返回到A系统发现退出登录了,感觉莫名其妙。经过一通网上查找,发现A系统和B系统的sessionid名字是一样的,采用tomcat默认名称JSESSIONID(ps:Jsessionid只是tomcat的对sessionid的叫法,其实就是sessionid;在其它的容器也许就不叫jsessionid了),所以B系统登录后串改了JSESSIONID的值,导致A系统退出登原创 2020-12-28 17:23:40 · 1262 阅读 · 0 评论 -
eclipse上svn导出maven项目无法识别成web项目
参考网址:https://blog.csdn.net/qq_38788128/article/details/82899232转载 2020-12-28 17:21:46 · 134 阅读 · 0 评论 -
sping-循环依赖注入
现象:系统中存在Aservice调用Bservice,Bservice调用Cservice,Cservice调用Bservice。系统中service之间存在相互调用,就导致service循环依赖注入。循环依赖注入是什么:循环依赖其实就是循环引用,也就是两个或则两个以上的bean互相持有对方,最终形成闭环。比如A依赖于B,B依赖于C,C又依赖于A。如下图:注意,这里不是函数的循环调用,是对象的相互依赖关系。循环调用其实就是一个死循环,除非有终结条件。解决办法:采用@Lazy懒加载,在使用的时原创 2020-12-28 17:20:10 · 673 阅读 · 0 评论 -
web.xml中一个filter配置多个url-pattern
现象:需要在filter标签后添加多个filter-mapping标签,一个url-pattern就对应一个filter-mapping标签,不能直接把多个url-pattern配置到同一个filter-mapping标签里,也不能直接把多个url直接配置到一个url-pattern标签里。正确地配置方式如下所示:<filter> <filter-name>test</filter-name> <filter-class>com.原创 2020-12-28 17:17:54 · 1152 阅读 · 1 评论 -
MD5-tomcat部署在不同的操作系统导致加密结果不一致
现象:测试是linux操作系统,系统编码为utf8,正式环境为windows,操作系统编码未知。测试和正式使用同一个war包,md5采用jdk自带“java.security.MessageDigest.getInstance("MD5")”,导致相同的加密明文得到的加密串不一样。解决方法:在代码中前行把需要加密明文前行进行编码转换如下:MD5Util.getMD5(code.getBytes("UTF-8"))参考网址:https://blog.csdn.net/zjh_746140129原创 2020-12-28 17:16:45 · 511 阅读 · 0 评论 -
tomcat-java final常量修改编译后替换class文件发现没生效
现象:修改一个java文件中的 final常量,然后编译成class,替换tomcat下的,结果发现变量没有生效。原因:其他java文件有引用final常量的,如果编译成class之后,其他文件中此常量已经被写入,所以只是换修改常量的class文件可能会出现其他引用常量的class还是使用之前的,这时候需要把应用的文件重新编译替换。解决办法:把使用到final常量的java 文件重新编译后替换。...原创 2020-12-28 17:14:06 · 553 阅读 · 0 评论 -
web-避免表单重复提交
1 在点击提交表单的按钮,在表单验证通过之后吧按钮设置为不可点击,代码如下:优点:简单,易懂,直接用js解决。缺点:这种方式是一种治标不治本的,只是在页面上提交表单起作用,但是通过http的方式请求,表单一样的重复提交。2 使用Token令牌的方式解决: 思路说明:在有表单提交的jsp页面中生成一个token(其实都是一个随机数),并且把这个token存入session中,原创 2016-03-23 10:05:14 · 403 阅读 · 0 评论 -
web项目启动报java.lang.ClassNotFoundException
问题背景:工程为maven工程,ContextLoaderListener类位于spring-web-3.1.0.RELEASE.jar包中。检查了maven的pom.xml,依赖引入正常。在工程Maven Dependencies视图中也能看到spring-web-3.1.0.RELEASE.jar包被正常引入进来了。错误原因:进入到tomcat的部署路径.metadat原创 2016-03-21 13:22:54 · 2875 阅读 · 0 评论