11.SpringMVC的PathVariable。
@PathVariable("id") Integer id;
@RequestParam Integer id;

使用了“路径变量”,同时要求它不为空,就使用了
@RequestParam @PathVariable("id") Integer id;
访问 /1001 ,结果提示id总是找不到。

使用了@PathVariable,不应该再同时使用@RequestParam。

12.阿里云的OSS删除图片。

删除之前,Chrome浏览器能正常下载图片。删除之后,Chrome还可以继续下载。

去阿里云控制台确认,已经删除了。

用QQ浏览器打开图片,被拒绝。

这说明图片已经删除成功了。

Chrome可以继续下载,很可能是“浏览器缓存”。

13.JSTL的if表达式。
sendId在Java中是String类型,数据库中是varchar。
这种写法,在Jetty下运行从来没有报错,在Tomcat下,突然就报错了,之前没问题。
<td><c:if test="${message.sendId==-1}">系统</c:if>

严谨的写法,字符串比较用''括起来。
<td><c:if test="${message.sendId=='-1'}">系统</c:if><c:if test="${message.sendId!='-1'}">${message.sendMember.mobile}</c:if></td>

14.maven如何将项目引用的所有jar包复制到lib文件夹内。
Maven的非web项目在执行时需要引用很多jar包,这时候通常的做法是将这些jar包统一放到lib目录中,maven的dependency插件可以帮我们做这件事情。

我们需要在pom文件的build节点的plugins节点内添加一个plugin,plugin内容如下:

<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId><configuration><archive><manifest><mainClass>MainClass</mainClass><addClasspath>true</addClasspath><classpathPrefix>lib/</classpathPrefix></manifest><manifestEntries><Class-Path>.</Class-Path></manifestEntries></archive></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId><executions><execution><id>copy-dependencies</id><phase>prepare-package</phase><goals><goal>copy-dependencies</goal></goals><configuration><outputDirectory>E:\MavenRepository\0.0.1-SNAPSHOT\lib</outputDirectory><overWriteReleases>false</overWriteReleases><overWriteSnapshots>false</overWriteSnapshots><overWriteIfNewer>true</overWriteIfNewer></configuration></execution></executions></plugin></build>

参考资料:http://outofmemory.cn/maven/FAQ/how-to-copy-dependency-to-lib-folder

15.Redis的几个问题。
Redis缓存对象,需要序列化。
public class OssItem implements Serializable。
如果没有实现Serializable,会报错。

public class OssItem extends BaseOssItem implements Serializable。
放到缓存前,list集合OssItem元素的属性都有值,属性都是从父类BaseOssItem继承来的。
但是,当从Redis取出的时候,list集合有值,但每个元素的属性都是空的。

后来,把父类BaseOssItem的属性,都手动定义放到OssItem下就可以了。
public class OssItem  implements Serializable{
   private String name;
   ...

16.Redis缓存集合类型。
2个项目,都使用了SpringDataRedis,但是配置方式不一样。
org.springframework.data.redis.core.StringRedisTemplate

其中1个,可以直接存放list集合。而另外一个却会报错,只能把集合序列化,再存储。

public void add(String key,List<ResourceMatchContent> list){String json = JSONObject.toJSONString(list);logger.info("save ResourceMatch ,json=" + json+",key="+key);defaultCache.add(key, json, CATCHE_TIME);}

序列化方式有很多种,这个地方用的是“json序列化”。

17.Nginx配置负债均衡。
之前,只亲自配置过动静分离,域名映射。
最近,看了下项目中和网上的负载均衡配置,挺简单的。

upstream jieli.com {server 127.0.0.1:8080;#server 192.168.8.203:8080;}server{listen 80;server_name erp.zh-jieli.com;location / {index index; #默认主页为 /index#proxy_pass http://jieli;}}

18.Solr数据不同步。
  Solr4中,用了SolrCloud分布式服务,出现了数据不一致的情况,原因未知。
  改成了Solr5,没有这个问题。

19.java.lang.NullPointerException错误
spring运行的时候出现了:

java.lang.NullPointerException
    at org.springframework.core.SerializableTypeWrapper$TypeProxyInvocationHandler.invoke(SerializableTypeWrapper.java:239)
    at org.springframework.core.$Proxy5.hashCode(Unknown Source)
问题原因:spring的jar包冲突

自己的项目,dubbo中有个spring2.5,又配置了spring4.x,调整下顺序就好了。

参考资料:http://zhidao.baidu.com/link?url=KyfXakvRF7skwyJ8MLU_8x3qNThYbx2r478bi1ynQ1xrni6cWyki7PeQ_LkR3eJldPvRd_EbFsDrN3dGCbbP-RkjE5m5tLd00r5vaNTp_BO

20.SpringJUnit4ClassRunner.runLeaf方法找不到。
java.lang.NoSuchMethodError: org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runLeaf(Lorg/junit/runners/model/Statement;Lorg/junit/runner/Description;Lorg/junit/runner/notification/RunNotifier;)V
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:217)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:83)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:68)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:163)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

问题原因:
Spring版本
spring用3.x 不报错。<spring.version>3.2.3.RELEASE</spring.version>

spring用4.x报错。<spring.version>4.1.4.RELEASE</spring.version>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>

最终结果:项目中有很多地方pom.xml都配置junit,各种版本。
最后,只留一个4.10的配置,就好了。

真是坑,花了几个小时才搞定。

转载于:https://www.cnblogs.com/qitian1/p/6462443.html

2016年工作中遇到的问题11-20相关推荐

  1. 2016年工作中遇到的问题31-40

    31.Spring和Dubbo中都有@Service注解,需要注意. import com.alibaba.dubbo.config.annotation.Service; import org.sp ...

  2. 编程的第一步都要使能时钟吗_在您的第一份编程工作中要做的11件事

    编程的第一步都要使能时钟吗 Firsts are exciting but can also be overwhelming. When I started my first programming ...

  3. 2016年工作中遇到的问题1-10:select-for-update锁表

    1.select... for update锁表. 注意事项: 事务下使用,@Transactional 如果用主键,只锁住1行记录 如果不用主键,会锁住多条记录,mysql下测试,查询1条,锁住1行 ...

  4. 遥感在计算机领域的应用,遥感技术在测绘工作中的应用分析

    孟亭记 摘 要:在信息化发展的当下,遥感技术是众多新技术中的一种,在测绘工作中发挥着重要作用.在科学技术的快速发展中,计算机技术与互联网技术不断得到普及,大大增加了应用范围,促使遥感技术在测绘工作中的 ...

  5. 工作中使用到的单词(软件开发)_2022-02-26_备份

    ■原文 工作中使用到的单词(软件开发)_sun0322-CSDN博客 目录 ■常用链接 ■2020/03/15  (最初整理  242个单词) 2020 6/28 整理 2020 6/29 整理 20 ...

  6. 计算机网络诈骗犯罪的发案规律,当前网络诈骗犯罪侦查工作中存在的问题和对策演示教学(6页)-原创力文档...

    当前网络诈骗犯罪侦查工作中存在的问题和对策 精品文档 精品文档 收集于网络,如有侵权请联系管理员删除 收集于网络,如有侵权请联系管理员删除 精品文档 收集于网络,如有侵权请联系管理员删除 当前网络诈骗 ...

  7. 工作中使用到的单词(软件开发)_2023_0316备份

    原文: 工作中使用到的单词(软件开发)_http://42.62.43.136:8081/_sun0322的博客-CSDN博客 目录 ■Java学习汇总 ■常用链接 ■2020/03/15  (最初整 ...

  8. 数据科学工作中存在的7大问题与解决方案

    注:在本文中,虽然我使用数据科学家一词,但是诸如机器学习工程师,数据分析师,数据工程师,BI分析师之类的热门职务也承担着类似的责任,可以在此处互换使用. 本文编译自Dan_Friedman的技术博客. ...

  9. 浅谈计算机在农业工作中的应用,浅析计算机在农业中的应用论文

    计算机技术在农业科研中的广泛应用,为农业科研工作带来了研究成效,推动农业科研工作的顺利发展.下面是学习啦小编给大家推荐的浅析计算机在农业中的应用论文,希望大家喜欢! 浅析计算机在农业中的应用论文篇一 ...

最新文章

  1. 【每日DP】day12、P1063 能量项链(区间DP又一模板,震惊,只需要4行代码?)难度⭐⭐⭐
  2. 七牛上传文件小工具v0.1
  3. 神经网络最优化方法比较(代码理解)
  4. 浣溪沙·过杜甫草堂有感
  5. Multi-thread--linux下线程相关函数接口
  6. 调优哪家强——tensorflow命令行参数
  7. 牛客小白月赛9 A签到(乘法逆元)
  8. vue-cli3.x正确打包项目,解决静态资源与路由加载无效的问题,history模式下配合使用nginx运行打包后的项目
  9. 黑马程序员 Python学习笔记之多文件项目的演练
  10. VB mschart控件的使用
  11. JPG怎么批量转换成PDF
  12. Average (区间最大均值,二分)
  13. A novel hybrid intrusion detection method integrating anomalydetection with misuse detection
  14. 音频(七)——数字麦克风和模拟麦克风(DMIC/AMIC)
  15. iOS - Icon图标、启动图片、审核图片尺寸
  16. 双重否定的翻译 百度翻译 VS. 谷歌翻译
  17. 转义序列、转义说明、运算符及其优先顺序
  18. redis 健康检查
  19. 问题 F: 超超的自闭意思
  20. 无领导小组讨论如何带飞全组

热门文章

  1. hp服务器pe系统安装win7系统安装系统安装,惠普Folio 1040 G1 u盘pe如何重装win7系统...
  2. 怎么将html中纵向拉开,css 实现常用的6种垂直剧中方式
  3. php 重写sessionid,PHP 重置 phpsessionid
  4. python提取表里数据_python提取分析表格数据
  5. c++中的向量_C ++中的向量
  6. nginx 配置示例_Nginx位置指令示例
  7. java ee是编程语言_什么是Java编程语言?
  8. 迅捷cad_迅捷套装
  9. Java数组– java.util.Arrays
  10. struts的action访问servlet的IOC方式与非IOC方式