221.新建Maven项目的2种方式。
a.新建Dynamic Web Project,然后转换成Maven项目。
b.新建Maven Project,Next,Next,选择cocoon-22-archetype-webapp。
第2种方式,是boss告诉我的,以前我一直喜欢用第1种方式。
第2种方式,暂时没有去实践。上次尝试了下,报错,郁闷~
222.web.xml中配置taglib。
在Eclipse中会在taglib那一行有一个错误标志,但是运行的 时候没有问题……
原因:
所使用版本的问题,如果使用2.3版本就可以直接在<web-app>里面写
<taglib>
<taglib-uri>sitemesh-page</taglib-uri>
<taglib-location>/WEB-INF/lib/sitemesh-page.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>sitemesh-decorator</taglib-uri>
<taglib-location>/WEB-INF/lib/sitemesh-decorator.tld</taglib-location>
</taglib>
如果是用的是2.4版本,就不能直接这么写了,应该:
<jsp-config>
<taglib>
<taglib-uri>sitemesh-page</taglib-uri>
<taglib-location>/WEB-INF/lib/sitemesh-page.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>sitemesh-decorator</taglib-uri>
<taglib-location>/WEB-INF/lib/sitemesh-decorator.tld</taglib-location>
</taglib>
</jsp-config>
223.Maven中央仓库竟然没有sitemesh2.4的源码。
http://central.maven.org/maven2/opensymphony/sitemesh/2.4.2/
OSChina的Maven仓库:http://maven.oschina.net/content/groups/public/
只能反编译查看了。
224.用户提现时,打开2个提现页面,其中一个申请后,另外一个就不是最新的准确的数值了,但是前端JS是可以验证通过的。
因此,后端服务器验证是必须的。
225.SpringMVC私有方法,竟然也可以映射成功。
@RequestMapping("/cancel")
private String cancel(Integer id) {}
private竟然也可以,涨姿势了。
226.今天,看新闻,了解到p2p网贷开发商某公司存在安全漏洞,导致100多家p2p公司倒闭。
安全实在是太重要了,只要是和钱有关的。内容型的网站,还好点,顶多泄漏一点隐私。
227.Jodd的Maven配置。
<dependency>
<groupId>org.jodd</groupId>
<artifactId>jodd-core</artifactId>
<version>${jodd.version}</version>
</dependency>
<dependency>
<groupId>org.jodd</groupId>
<artifactId>jodd-bean</artifactId>
<version>${jodd.version}</version>
</dependency>
也可以直接使用jar包,1个2.5M的jar包,包含了所有的jodd模块,比较方便。
228.st-grid3.0之后,为什么要用@RequestBody接收参数呢?
//SpringMVC 正常接收,不需要使用@RequestBody
$.ajax({
url : this.dataSource,
data : this.params,// && JSON.stringify(this.params),
//contentType : "application/json",
type : this.method || 'POST',
dataType : 'json',
context : this,
success : this.fill,
error : this.onerror
});
如果把2个地方的注释去掉,必须使用@RequestBody
229.数据库表bigint(10)。
M指示最大显示宽度。最大有效显示宽度是255。
注意:显示宽度与存储大小或类型包含的值的范围无关。
官方文档才是最权威的~
230.p2p和电商若干问题。
a.简单和做成是两码事,简单表明可以做好,做成需要花费时间。
b.status都用枚举比较保险。
tenderDao.updateTenderTstatus(tenderTransfer.getTid(), TenderTstatus.INITIAL.getCode());更合适
c.用户ID和资金金额用用Long不用Integer,bigint而不是int。
int很容易越界。
d.金额,存分的下一个单位“粒”,貌似没必要。
计算过程中,可能会用到分的下一位,实际存储,基本不会用到分的下一位。
2014年就这么结束,这一年,再也不会遇到问题了...