在ITEYE上看到很多JEECMS的帖子, 于是自己下载下来, 体验了一下。
JEECMS采用hibernate3+spring mvc+spring3+freemarker技术架构。
JEECMS的自定义模型吸引我了, 所谓自定义模型, 是能定义栏目或者内容的字段。界面如下
自己定义了栏目内容的模型, 然后看了一下数据库,
MariaDB [jeecms]> show table +------------------------+ | Tables_in_jeecms | +------------------------+ | jc_acquisition | | jc_acquisition_history | | jc_acquisition_temp | | jc_advertising | | jc_advertising_attr | | jc_advertising_space | | jc_channel | | jc_channel_attr | | jc_channel_ext | | jc_channel_model | | jc_channel_txt | | jc_channel_user | | jc_chnl_group_contri | | jc_chnl_group_view | | jc_comment | | jc_comment_ext | | jc_config | | jc_config_attr | | jc_content | | jc_content_attachment | | jc_content_attr | | jc_content_channel | | jc_content_check | | jc_content_count | | jc_content_ext | | jc_content_group_view | | jc_content_picture | | jc_content_tag | | jc_content_topic | | jc_content_txt | | jc_content_type | | jc_contenttag | | jc_dictionary |
MariaDB [jeecms]> desc jc_content_attr; +------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+--------------+------+-----+---------+-------+ | content_id | int(11) | NO | MUL | NULL | | | attr_name | varchar(30) | NO | | NULL | | | attr_value | varchar(255) | YES | | NULL | | +------------+--------------+------+-----+---------+-------+ 3 rows in set (0.00 sec)
自定义的字段都是存在 jc_content_attr 表当中,第一感觉jc_content_attr这个表会有性能问题,
虽然之后搜内容时, 会用lucence index, 但在hibernate显示页面都会查询这个表。
有些东西看似做的灵活, 内容一多,会存在性能问题。
接着看了一下动态页执行的controller
DynamicPageAct /** * 动态页入口 */ @RequestMapping(value = "/**/*.*", method = RequestMethod.GET) public String dynamic(HttpServletRequest request, HttpServletResponse response, ModelMap model) { // 尽量不要携带太多参数,多使用标签获取数据。 // 目前已知的需要携带翻页信息。 // 获得页号和翻页信息吧。 int pageNo = URLHelper.getPageNo(request); String[] params = URLHelper.getParams(request); PageInfo info = URLHelper.getPageInfo(request); String[] paths = URLHelper.getPaths(request); int len = paths.length; if (len == 1) { // 单页 return channel(paths[0], pageNo, params, info, request, response, model); } else if (len == 2) { if (paths[1].equals(INDEX)) { // 栏目页 return channel(paths[0], pageNo, params, info, request, response, model); } else { // 内容页 try { Integer id = Integer.parseInt(paths[1]); return content(id, pageNo, params, info, request, response, model); } catch (NumberFormatException e) { log.debug("Content id must String: {}", paths[1]); return FrontUtils.pageNotFound(request, response, model); } } } else { log.debug("Illegal path length: {}, paths: {}", len, paths); return FrontUtils.pageNotFound(request, response, model); } }
如果是栏目页就一定有index 字符, 就像http://localhost:8080/news/index.htm
现在CMS设计一般都会隐藏index.html, 还不如用urlrewrite 这样的开源JAR包重写一下。
看到这2个问题, 考虑是否真正用它来实现自己的系统, 或者重构一下, 有些东西还不如自己写一下。
相关推荐
JEECMS一直秉承用户体验、系统性能和实际应用为第一的研发思路,让jeecms的功能不断丰富的同时,更让jeecms适合更多的应用人群。 根据用户反馈新增和完善的功能还有很多,诸如:支持百度编辑器ueditor、用户模型...
- **Vue.js集成**:Jeecms 9.2-adminVue采用了前端框架Vue.js进行重构,提供更流畅的用户界面和交互体验,使得后台管理更加便捷。 - **模块化设计**:Jeecms遵循模块化设计原则,允许开发者轻松添加、修改或删除...
同时,它支持多种浏览器,提供了良好的用户体验。 1.3 技术架构 Jeecms基于Java EE标准,采用了MVC设计模式,保证了代码的清晰和可维护性。其技术架构主要包括以下几个部分: - 跨操作系统平台:Jeecms可以在Linux...
7. 移动端适配:具备响应式设计,自动适应不同设备的屏幕尺寸,提供良好的移动浏览体验。 三、Jeecms的开发与使用 1. 开发环境:Jeecms需要Java环境(JDK)和Apache Tomcat服务器,同时需要IDE(如Eclipse或...
Jeecms 3.0是基于Java开发的一款企业级内容管理系统,相较于它的前一版本2.0,3.0在功能、性能和用户体验上都进行了显著的升级与优化。作为一个专业的IT大师,我将深入解析Jeecms 3.0的关键特性、改进点以及它在实际...
综上所述,JEECMS精简第二部分主要是对原有系统的瘦身,保留了核心功能,提高了性能和用户体验。对于需要快速部署且资源有限的项目来说,这是一个理想的选择。然而,具体的功能和实现细节需要通过"ROOT2"中的源代码...
优化可能包括提升性能、增强安全性、改善用户体验等方面。例如,可能需要优化SQL查询,避免SQL注入,或者使用缓存提高数据读取速度。注释的重点部分可以帮助我们快速理解关键改动及其原因。 5. **Jeecms的MVC架构**...
《UEditor for Jeecms:优化内容编辑体验的利器》 Jeecms是一款深受开发者喜爱的开源内容管理系统,它提供了丰富的功能和灵活的扩展性。然而,原生系统中的文本编辑器可能无法满足所有用户的需求,特别是在处理复杂...
例如,它可能提供了更强大的内容管理功能,支持多语言,改进了用户体验,或者增强了系统的安全性和稳定性。此外,Jeecmsv5可能还引入了更友好的后台管理界面,使得非技术人员也能轻松上手。 在开始安装Jeecmsv5之前...
在IT行业中,网站的安全性和可定制性是至关重要的。Jeecms是一款基于Java的企业级内容管理系统,它允许开发者根据需求...在日常运维和开发中,保持对系统配置的熟悉和敏感,对于提高系统的稳定性和用户体验都至关重要。
jeecms v2012版是一款集新闻管理、图库管理、视频管理、下载系统、作品管理、产品发布及留言板于一体的综合性...从2012版起,jeecms将更注重用户体验、系统性能和实际应用的研发,让jeecms的适用范围更广、使用更灵活。
针对现代互联网的多设备访问需求,Jeecms支持移动适配和响应式布局,可以自动适应不同分辨率的屏幕,提供一致的用户体验。 8. **插件扩展** Jeecms的开放API和丰富的插件库允许开发者添加额外的功能,如评论系统...
3. 界面定制:设计新的模板,提升用户体验。 4. 集成其他服务:例如与第三方支付、社交媒体等进行集成。 五、学习资源与社区 1. 官方文档:Jeecms通常会提供详细的开发者指南和API文档。 2. 社区论坛:参与Jeecms的...
开发者可以下载这个版本来体验JEECMS的功能,同时也可参与测试,提供反馈,以帮助改善系统。 在JEECMS中,开发者可以期待以下关键特性: 1. **模板引擎**:JEECMS可能使用自定义的模板语言,允许设计者根据需求定制...
1. **前端模板**:这部分包含HTML、CSS和JavaScript文件,决定了网站的外观和交互体验。如果你有美工基础,你可以修改这些文件以定制网站的视觉样式。 2. **后端控制层**:这部分主要是Java代码,处理HTTP请求,执行...
主题 : java开源CMS系统-JEECMS v2012sp1版安装包下载帖. eecms 版是一款集新闻管理、...JEECMS一直秉承用户体验、系统性能和实际应用为第一的研发思路,让jeecms的功能不断丰富的同时,更让jeecms适合更多的应用人群
3. **商品展示与交易**:对于电商类应用,Jeecms微信小程序可以实现商品分类、详情展示、购物车、订单管理等功能,支持微信支付,打造完整的在线购物体验。 4. **个性化设置**:提供主题模板选择和自定义配置,满足...
JeeCMS支持缓存机制、静态化处理,通过合理的配置,可以提高系统响应速度和用户体验。 ### 10. 日志管理 日志记录对于问题排查和系统监控至关重要。JeeCMS内置了日志管理功能,可以查看系统运行日志,以便了解系统...