jeecms技术预研
1 Jeecms框架
1.1 配置文件
名称 |
说明 |
|
jeecms-servlet-admin.xml |
定义了后台的servlet请求处理需要的属性资源文件、拦截器、语言解析器(localeResolver)、视图解析器(freemarkerViewResolver),导入控制层动作类配置文件jeecms-servlet-admin-action.xml |
|
jeecms-servlet-front.xml |
定义了前台的servlet请求处理需要的。。。。jeecms-servlet-front-action.xml |
|
jeecms-context.xml |
cms核心业务处理类上下文,包括标签、SERVICE、LISTENER、MANAGER、DAO |
|
jeecore-context.xml |
cms核心框架处理类上下文,包括COOKIE登录、HttpSession、图片处理、密码加密器、执行时间标签、文件模板、认证、ftp、数据库等。 |
1.2 重要类
名称 |
位置 |
说明 |
SessionProvider |
com.jeecms.common.web.session |
Session提供者 |
CmsSiteMngImpl |
com.jeecms.cms.manager.main.impl |
|
CmsSite |
com.jeecms.cms.entity.main.CmsSite |
|
CmsConfig |
com.jeecms.cms.entity.main.CmsConfig |
1.3 页面
jeecms_sys:WebContent\WEB-INF\jeecms_sys,展示层页面的目录。其中jeecms-servlet-admin.xml中配置了freemarkerViewResolver视图解析器默认的目录就是jeecms_sys。 |
||
index.html登录后进入的后台首页(CMS管理控制台); login.html后台登录页面; right.html登录入后台首页的右侧的欢迎页面,包含机器内存配置,访问量统计等信息; |
||
site |
站点管理(CRUD) |
|
frame |
核心框架提供的页面目录,如用户、配置、维护、生成、辅助等的配置界面 |
|
Languages:WebContent/WEB-INF/languages,国际化资源,包含中文、英文的消息资源模板。 |
||
*-jeecms_admin |
Cms业务中引用的消息资源模板 |
|
*-jeecore_admin |
框架后台公共消息资源模板 |
|
*-jeecms_front |
前台消息资源模板 |
|
*-jeecms_tpl |
模板消息资源模板 |
|
ftl:WebContent\WEB-INF\ftl,freemarker模板,其中jeecms-servlet-admin.xml中配置了freemarkerSettings中缺省加载的/ftl/jeecms/index.ftl as p,/ftl/spring.ftl as s,页面标签中大量用到p、s标签。 |
||
1.4 框架重要逻辑处理原理
1.4.1 Web.xml启动时过滤器顺序:
ProcessTimeFilter-->CharacterEncodingFilter->OpenSessionInViewFilter->XssFilter
拦截器adminContextInterceptor、adminLocaleIntercept、FireWallInterceptor在过滤器执行中拦截。
拦截器AdminContextInterceptor的作用是根据解析请求url,获得cms网站的域名、资源路径等上下文信息。
1.4.2 MVC结构处理机制
以后台请求为例:
控制层配置:web.xml中配置了请求处理器,如下:
视图配置:jeecms-servlet-admin.xml文件中定义了视图的解析器,解析的web路径、文件名等规则,如下:
1.4.3 Freemarker配置
1.4.4 新建站后的目录
1.5 标签的使用
jeecms技术预研的更多相关文章
- iOS9 Https技术预研
一.服务器需要做的事情: 1.要注意 App Transport Security 要求 TLS 1.2, 2.而且它要求站点使用支持forward secrecy协议的密码. 3.证书也要求是符合A ...
- [转] 前后端分离开发模式的 mock 平台预研
引入 mock(模拟): 是在项目测试中,对项目外部或不容易获取的对象/接口,用一个虚拟的对象/接口来模拟,以便测试. 背景 前后端分离 前后端仅仅通过异步接口(AJAX/JSONP)来编程 前后端都 ...
- 预研报告——MyBatis持久层的demo
一.预研任务介绍和预研目标 任务介绍: 与 Hibernate 相比, MyBatis 是一个半自动化的持久层框架,以轻量级.效率高.原生代而好评如潮.虽然有在分享会上大致讲解,但是还是重新梳理成文字 ...
- 数据质量管理工具预研——Griffin VS Deequ VS Great expectations VS Qualitis
开源数据质量管理工具预研--Griffin VS Deequ VS Great expectations VS Qualitis. 概述 数据质量监控(DQC)是最近很火的一个话题,也是数据治理中 ...
- Blazor预研与实战
背景 最近一直在搞一件事,就是熟悉Blazor,后期需要将Blazor真正运用到项目内.前期做了一些调研,包括但不限于 Blazor知识学习 组件库生态预研 与现有SPA框架做比对 与WebForm做 ...
- Windows 10 技术预览版9926 “未知源”引起系统休眠后自启的解决办法
问题的由来: 自从安装上了最新发布的Windows 10 ,使用起来有诸多的改进:无论是重绘的图标还是通知消息中心的整合还是更智能的OneDrive客户端都使得工作起来非常愉悦. 不过笔者这两天频繁遇 ...
- 新的理念、 新的解决方案、 新的Azure Stack技术预览
Jeffrey Snover 我们很高兴地宣布︰Azure Stack Technical Preview 2(TP2)已发布!我们朝着向您的数据中心提供Azure服务能力的目标又更近一步.自发布第一 ...
- Windows 10 技术预览
windows10的技术预览版已经发布了很久了,正式版大约在今年的夏天就会发布,作为微软寄予厚望的下一代全平台操作系统,相比于windows8.1,windows10做了哪些改进,又添加了哪些新功能. ...
- 微软推出首个Microsoft Azure Stack技术预览版
Mike Neil,微软公司企业云副总裁 怀着对于提高业务灵活性.加速创新的期待,很多企业正在向云平台迅速迁移.伴随着这样的趋势,我们也见证了微软智能云Azure业务在全球市场的快速增长--每个月近1 ...
随机推荐
- LUOGU P2261 [CQOI2007]余数求和(数论分块)
传送门 解题思路 数论分块,首先将 \(k\%a\) 变成 \(k-a*\left\lfloor\dfrac{k}{a}\right\rfloor\)形式,那么\(\sum\limits_{i=1}^ ...
- [JZOJ 5782] 城市猎人
思路: 并查集按秩合并维护出现时间. 最早连接时间就是树上连接最大值. \(qwq\)我居然把路径压缩和按秩合并打到一个程序里了...OvO #include <bits/stdc++.h> ...
- python相关小技巧整理[持续更新]
1. pdb的非常方便的debug,抛弃print吧~ 参考https://www.ibm.com/developerworks/cn/linux/l-cn-pythondebugger/ impor ...
- idea运行tomcat,控制台中文乱码
加入参数:-Dfile.encoding=UTF-8
- day22_1-课前上节复习+os模块
# ********************day22_1-课前上节复习+os模块 *******************# ********************day22_1-课前上节复习+os ...
- 求N!中素数的个数
int degree_in_fact(int n, int x)//求n!中素数x的次数 { if(m) return degree_in_fact(n/x,x)+n/x; ; }
- ThinkPHP5的简单使用
目录的介绍 thinkphp5 的控制器的创建 第一步:新建一个控制器 第二步:admin.php控制器内容如下 第三步:如何显示模型页面 第四步:显示模板页面 第五步:定义模板变量 第六步:运行结果 ...
- CSS清除默认边距
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquo ...
- 使用fileupload实现文件上传
一. fileupload组件工作原理 先来张图片, 帮助大家理解 fileupload核心API 1. DiskFileItemFactory构造器1) DiskFileItemFactory() ...
- Python3基础笔记_列表
# Python 列表(List) list1 = ['physics', 'chemistry', 1997, 2000] list2 = [1, 2, 3, 4, 5] list3 = [&quo ...