本来没怎么想写日志的,因为文笔不咋地,不过在做这个设计的时候,出现的问题确实比较多,今天决定还是记录下吧,可能以后有同样的错误的时候能记起来。
先讲下做这个设计的前期准备。我是看到国内有开源的jeecms ,也想练练手,起码面试的时候能有得说做过该类型的项目。该cms 界面是放jeecms 的,但里面的数据库设计和构架都是由自己琢磨的。。可能是jeecms 这个开源项目我看的不是很懂,里面的内容也确实多,功能也强大,我这个只能算是小小的case。
————————————————————————————————————————————————————
2009.5.28-2009.5.30
1、对 html 的Frame 框架有了进一步的认识,以前没怎么使用过,不大记得各个Frame 怎么调用,刚好有同学在问了下,然后自己总结下,学到不少。
2、FreeMarker 的乱码问题。在设计中发现,乱码问题一般分为两种,一是页面的编码,二是发送数据的编码。在FreeMarker 中都能体现出来。
3、对Service 层的设计,有点犹豫,到底是把service层设计成action 的主要功能的逻辑,还是更细分点,设计成功能模块的一个小分点。最后选了第一种方案,设计成action 的每个功能的逻辑。
4、总结前期设计的错误,因为在service 层控制事务,主要和事务密切相关的的增删改功能,统一设计成add*、update*、delete*。方便Spring的事务控制。
5、对于异常的处理,也参照了以前的总结,在本人的blog上可以了解到。
————————————————————————————————————————————————————
2009.6.1 晴
1、OpenSessionInView 在ssh+FreeMarker 中的失效问题。原因是web.xml 的配置出错了,自己没注意到web.xml的实际的加载顺序,然后自己总结了下,web.xml 的加载顺序是:context-param -> listener -> filter -> servlet ,而同个类型之间的实际程序调用的时候的顺序是根据对应的 mapping 的顺序进行调用的。
在我的blog 上也对web.xml 做了详细的解释。网址为:http://zhxing.iteye.com/admin/blogs/399668
解决办法看了上面的加载顺序后很简单,只是把OpenSessionInView 的filter 的filter-mapping 放在了Struts2 的filter-mapping 的前面就可以了。
2、在struts2 的radio 和select 标签中无法使用FreeMarker 的hash 值。试了很多次,还是无法解决,网上也很多人说这个是个struts2中的bug ,当然换个别的方法解决也行的。一可以直接用html 标签,二是把值放到struts 值栈中,还有个解决的方法,不过感觉修改struts2的源码毕竟有点不大好,在这个网上有人给出的方法:http://www.iteye.com/topic/281493
_______________________________________________________________________________
2009.6.3 阴
1、父子节点中,数据库的默认值问题。一直没找到怎么在Hibernate 中设置字段的默认值,找了找网上的解答,但没用上,不过也记录下。
2、ul、li 中的前面的圆点。可以用css 属性去掉。例如:<li style="list-style-type:none;">内容</li>
3、遇到一些逻辑的问题。这跟之前的代码构造有关,到底是选择代码冗余,还是代码清晰,当时构造时还没怎么认识到。
_______________________________________________________________________________
2009.6.10 晴
1、在二级联动下拉框的构建中,发现javascript 的add(option) 和appendChild(option) 在ie 和火狐 中会有两种不同的结果,都是其中一个用不了。解决方法是用了其他的生成方法,在本blog 中的二级联动 的文章中有提到。
2、在开发中发现Struts2 用json 插件时,用transient 修饰符 失效了,个人觉得是个bug。
3、在FreeMarker 的日期显示中,如果${article.firstdate} 输出的的话,在添加完文章转入页面的时候竟然会报错,这个有点奇怪,就只有增加个那个文章的时间不能显示而报错了。在后面增加了个${article.firstdate?string("yyyy-MM-dd HH:mm")} FreeMarker 的内置函数就不会出现问题了。。这个问题还没搞明白怎么回事。
4、在突然发现 OpenSessionInView 有时失效了,也弄了点时间,才发现,原来没有加上 .action 后缀,所以没被这个过滤器拦截了。
_______________________________________________________________________________
2006.6.12 晴
1、对于多选框的默认值,还有下拉框的默认值在更新的时候要和实体的对应,这个当时确实有点麻烦。后来分析了下,用一个<#if>把默认值给包括了,如果if 里面的值相等,则设为已选。另外,在这里也用到了FreeMarker 的内置函数,seq_contains 用来判断当前值是否存在于数值或者序列中,关于FreeMarker的内置函数,确实很方便,以后也得继续多了解下。
2、关于权限管理,由于以前的错误分析,搞得现在得重新设计下,根据现在的情况,把权限设为url 的filter 或者拦截器来实现,可能会方便点,不过又有些麻烦,可能要改变一些方法的名称来设置权限,这确实有点头疼。正在寻找方法解决。
_______________________________________________________________________________
分享到:
相关推荐
6. **错误处理和日志记录**:为了确保系统的稳定性,需要处理可能出现的错误,如发送失败、超时等情况,并记录相关日志,便于后续排查问题。 7. **性能优化**:考虑短信发送的频率和并发量,优化接口调用的逻辑,...
7. **日志记录**:为了追踪和审计,密码重置操作应被记录在系统日志中,以便日后查证。 8. **用户体验**:好的插件应提供直观的用户界面,使管理员能轻松理解并完成密码重置流程。 在实际使用【帝国cms管理员密码...
5. **错误处理与日志记录**:在整个支付过程中,可能会遇到各种错误,如网络问题、参数错误等。因此,需要编写合适的错误处理代码,并记录日志,便于排查问题。 6. **安全性考虑**:为了防止支付被恶意篡改,必须对...
"版本更新日志.txt" 文件是记录74cms_v3.0相对于前一版本所有改动的文档。它详述了新添加的功能、修复的错误、改进的性能以及其他重要变更。对于开发者和管理员来说,这是一个非常重要的参考文档,帮助他们了解如何...
前台接收到请求后,更新内容并返回更新状态,CMS记录更新日志并将结果反馈给用户。 ### CMS系统架构 CMS系统的架构通常包括以下几个关键部分: 1. **用户提交接口**:这是用户与CMS交互的地方,用户通过此接口...
7. **错误处理和日志记录**:为了便于调试和问题排查,插件可能还包含了错误处理代码和日志记录功能。 8. **更新和维护**:随着微信开放平台政策的变更或帝国CMS新版本的发布,插件可能需要定期更新以保持兼容性。 ...
3. **特性化曲线**:CMS会创建扫描仪的特性文件,记录设备的色彩特性,使扫描结果能更贴近原稿色彩。 4. **色彩配置文件管理**:CMS支持多种色彩配置文件,用户可以根据需求选择适合的色彩空间,如sRGB、Adobe RGB...
8. **错误日志和调试**:为了方便问题排查和性能优化,骑士CMS可能会有详细的错误日志记录和调试工具。 9. **模板引擎**:为了方便页面设计和定制,骑士CMS可能使用了模板引擎,如Smarty或Twig,允许开发者和设计师...
4. **日志记录**:插件会记录每次清理操作,方便用户查看清理历史,了解系统状态。 5. **源码优化**:该插件不仅提供了清理服务,还可能包含对源码的优化,例如压缩CSS和JavaScript,减少HTTP请求,进一步提升加载...
- **错误处理与日志**:设置错误报告级别,使用日志记录应用程序运行中的问题。 - **性能优化**:如缓存机制、数据库查询优化、减少HTTP请求等。 - **安全性**:处理XSS攻击、SQL注入、CSRF防护,以及文件上传安全...
10. **日志与错误处理(Logging & Error Handling)**:系统会记录运行时的错误和异常,便于调试和问题定位。 通过研究Kooboo_CMS源码,开发者可以学习到如何组织MVC项目的结构、如何实现CRUD操作、如何处理HTTP...
10. **错误日志和调试**:利用log4net等日志记录框架,收集运行时信息,方便问题排查。 11. **单元测试与持续集成**:使用NUnit、Moq等工具进行单元测试,确保代码质量;配合Jenkins、TeamCity等工具实现持续集成,...
根据提供的信息,我们可以总结出关于CMS200监控软件的重要知识点: ...通过对设备的有效管理、多样化的监控模式以及详尽的日志记录等功能的支持,CMS200不仅提高了监控效率,还极大地简化了用户的操作流程。
14. **日志和错误跟踪**:为了便于排查问题和监控系统运行,CMS通常会记录操作日志和错误信息。 15. **更新和维护**:v1.25版本的发布意味着可能有bug修复、新特性添加,以及对旧版本的兼容性改进。 以上是对MePHP...
7. **runtime**:运行时目录,存放了系统运行过程中产生的临时文件,如日志、缓存、session数据等。清理这些文件可优化系统性能,防止因数据积累过多导致的问题。 8. **extend**:扩展目录,通常用于存放用户自定义...
6. **日志管理**:日志记录对于系统调试和问题排查至关重要。Spring CMS可能会集成Log4j或Logback等日志框架,记录系统运行过程中的各种信息。 7. **依赖注入**:Spring 的依赖注入(DI)特性使得对象之间的关系...
- 提供了丰富的中间件机制,方便实现如权限控制、日志记录等功能。 - 强大的ORM(对象关系映射),支持数据库操作的便捷性。 - 错误和异常处理机制,便于调试和优化代码。 - 支持命令行工具,可进行数据库迁移、生成...
- 错误处理与日志记录:及时捕获并记录错误,便于问题排查。 在提供的文件名中,“cms2.huagu.com”可能是系统主域名或一个测试环境的地址,“setHost”可能是一个设置主机或服务器配置的脚本,“jphplib”则可能是...
8. **错误处理和日志记录**:良好的错误处理和日志记录机制对于调试和问题排查至关重要。PHP提供`error_reporting()`和`error_log()`等函数来处理错误和记录日志。 9. **模板引擎**:为了使界面设计与后端逻辑分离...