java使用mongoDB和freemarker注意事项
mongoDB和关系数据库的差异最大的优势就是表结构不正确,说:、弱事务。mongoDB以牺牲换来的交易进行更快的访问速度,有人说mongoDB对于内存太贪婪,事实上,它不会。随着windows版本,例如,它会默认打开100可用连接万家数。抢内存要经过实践才干知道。以6核cpu为例mongoDB对内存的使用基本排不上号。尽管如此在驱动的提供这块mongoDB的驱动差异非常大。如2.10版本号的驱动连接数据库还能够使用Mongo可是后面的驱动却没有了Mongo,取而代之的则是MongoClient。mongoDB尽管和关系数据库尽管有差异可是对资源的处理都是一样的,以下分享一下我开发过程中遇到的问题。
1 使用freemarker显示json数据的注意事项
struts2是非常多公司的首选,但是使用struts2也存在非常多限制,比如不能遍历json.即使使用velocity也拿json数据没辙。唯一的选择也仅仅有freemarker,但是使用freemarker也有一点弊端那就是单mongoDB里面的数据假设是NULL类型。页面就会报错。针对这个情况唯一的解决的方法就是加入数据的时候进行数据有效性的校验
2 jsp使用freemarker的注意事项
jsp功能尽管强大,可是不支持freemarker,在jsp里也不能使用freemarker的标签。有时把jsp所有替换为ftl也不现实,针对这样的情况就仅仅能是把freemarker的tld引入进来在页面上就使用<fm:template></fm:template>把freemarker的代码包裹起来
3 freemarker使用struts标签的注意事项
freemarker也不能直接支持struts标签,可是针对这样的情况网上也提供了解决方法,如有须要能够直接百度
4 mongoDB注意事项
使用程序和mongoDB交互的时候非常多网友给的建议真的能够说是误人子弟,比如“使用mongoDB后能够不关闭数据库连接”这样的说法真的是大错特错。尽管没见过windows版的mongoDB连接数被用完会成什么样,可是linux版本号的假设连接数用完了。数据库就会挂掉。这样的问题就特别严重了,数据丢了不要说会造成很大的经济损失。java计划建议的方法是编写一个获取连接和关闭连接工具。后写的界面,并宣布常规使用。之后,实现类和代理类的写操作。创建连接、关闭由代理类来完成操作,在写操作的工厂类统一的方法调用,回到这里喜欢用spring一个建议是模仿节目:不要把mongoDB和spring整合,这实在是没有太大的好处。