41.Freemarker中的“大于等于”,想当然用了个"ge",结果不行。
应该是“gte”,gt代表大于,e代表等于。
42.报错找不到jquery-1.10.2.min.map解决办法。
我先说一下什么是source map文件。
source map文件是js文件压缩后,文件的变量名替换对应、变量所在位置等元信息数据文件,一般这种文件和min.js主文件放在同一个目录下。
比如压缩后原变量是map,压缩后通过变量替换规则可能会被替换成a,这时source map文件会记录下这个mapping的信息,这样的好处就是说,
在调试的时候,如果有一些JS报错,那么浏览器会通过解析这个map文件来重新merge压缩后的js,使开发者可以用未压缩前的代码来调试,这样会给我们带来很大的方便!
而这种还原性调试功能,目前只有chorme才具有,所以就会出现标题说的问题,我引入jquery-1.10.2.min.js的时候,在firefox下或者其他浏览器下是好的,
在chorme下会报错找不到jquery-1.10.2.min.map文件,404,就是因为以上说的情况,jquery会检测浏览器是否支持source map功能,
如果支持的话,那就去下载source map文件,而这个时候如果你引用的是官网的min.js那没问题,它会去自己的目录下找source map文件,
而如果jquery.min.js文件在你的服务器上而服务器上又没有source map的话,那就会报错了,
所以三种解决办法:
一,引用官网文件
二,把source map文件下载下来放到服务器上(推荐)
三,把chorme文件的工具-->开发者工具-->设置-->Enable source maps勾去掉,去掉这个勾,jquery就不会去下载source map文件了!
43.Boss推荐的TotalCommand这个工具,感觉实用性价值很大。
目前发现,硬盘Tab切换,查找文件,比较方便。
44.URL匹配问题。
SiteMesh、SpringMVC、Struts、web.xml等很多地方都可以配置url匹配,说实话
“/”,“/*”,“*.html”等容易混淆。
SiteMesh的“/”貌似是单独的拦截一个“/”。
<filter>
<filter-name>sitemesh</filter-name>
<filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>/</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>*.htm</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>*.html</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
45.这2个请求是等价的,只要下面的一个就好了。已初步验证!
@RequestMapping("")
public String welcome3(Model model) {
return doWelcome(model);
}
@RequestMapping("/")
public String welcome2(Model model) {
return doWelcome(model);
}
46.mysql修改数据做条件判断。
Boss需要在执行数据库更新update语句的时候做判断,问了下我,我之前学习sql的时候,印象中没有这个用法啊。
最后,还是找到了办法,从网上找的。
网上找资料确认,这个是“sql标准语法,主流数据库都支持”。
案例:
修改一字段数据,发现该数据如果修改后小于0,则修改为0.否则在当前字段基础上相减
游戏中玩家金币不能为负数,如果直接查询出来,在程序做判断,然后修改回去,感觉很繁琐。
UPDATE userinfo SET money = CASE WHEN money<=400 THEN 0 ELSE money-400 END WHERE username='huaye2001'
400是可以变的参数。
47.Tomcat-SpringMVC-Web项目,自定义404页面。
@Controller
public class AllController {
@RequestMapping("*")
public String test404(){
return "404Page";
}
}
直接在web.xml中配置Tomcat404静态页面,配置没能走sitemesh,上面这种方式可以正常渲染header和footer。
这个问题还需要继续研究。
48.是否应该使用Maven、SiteMesh等工具。
太多的工具,虽然带来了好处,但是也带来了很多麻烦的地方那个,SiteMesh不够灵活。
挺让人纠结的。
49.查找QQ的消息记录。
之前和一个网友,有聊天,但是找不到具体是哪个好友了,但是知道话题的关键内容。
QQ消息搜索的位置:工具-消息管理器-右上角-搜索。
50.Maven仓库,经常会出现问题,有些jar包中央仓库没有,比如kaptchar.jar。
于是,就直接在本地Maven仓库放置了相应的jar包,但是有的时候,打包会失败,今天就遇到了,
不知道为什么Maven非要去中央仓库下载这个jar包,但是呢,今天类似“https://repo.maven.apache.org/”这种地址,
都不能正常访问,提示“Browsing for this directory has been disabled.
View this directory's contents on http://search.maven.org instead.
Find out more about The Central Repository.”。
网上还有种说法,执行命令安装1个外部jar包,
mvn install:install-file -DgroupId=com.google.code -DartifactId=kaptcha -Dversion=2.3.2 -Dfile=/home/whptp/.m2/repository/com/google/code/kaptcha/kaptcha/2.3/kaptcha-2.3.2.jar -Dpackaging=jar -DgeneratePom=true
试了下,没有成功。
最后尝试了另外1种办法是,用OSChina提供的Maven服务,不用国外的。
按照帮助文档,修改Settings.xml文件,就可以了,我们已经修改搞定了。
第一次的时候,会下载很多jar包,很多很多啊。
Boss最初找不到这个文件,mvn是他安装的,但是已经很久了。
我尝试了2种办法来查找这个mvn的安装目录:
find / -name maven,查找结果太多,有的目录没有权限。
whick mvn,直接定位到mvn的安装目录,比如我们的是
“
[whptp@web100 2.3]$ which mvn
/usr/local/maven/bin/mvn
”。