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 ...
随机推荐
- HYNB Round 15: PKU Campus 2019
HYNB Round 15: PKU Campus 2019 C. Parade 题意 将平面上n*2个点安排在长度为n的两行上. 做法 首先可以忽略每个点之间的影响,只用考虑匹配即可 然后把所以点归 ...
- springcloud(十六)、feign+hystrix+ribbon+zuul应用案例
在 基于 " sringcloud(十四).ribbon负载均衡策略应用案例 "所有工程的基础上,进行如下操作进行网关设置 1.创建eureka-client-consumer-z ...
- javaweb中静态文件的处理方法
方案一:激活Tomcat的defaultServlet来处理静态文件 在web.xml中添加: <servlet-mapping> <servlet-name>default& ...
- HttpClientUitl工具类
public class HttpClient { private CloseableHttpClient httpClient; public HttpClient() { this.httpCli ...
- kali linux 入门(1) 基于win10和docker的环境搭建
1. 前言 渗透测试并没有一个标准的定义.国外一些安全组织达成共识的通用说法是,渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法,这个过程包括对系统的任何弱点.技术缺陷或漏 ...
- UNIX环境高级编程------apue.h找不到
运行1-3代码时,出现问题:apue.h 没有找到问题 1.去此网址下载源码: http://www.apuebook.com/code3e.html 压缩包名为:src.3e.tar.gz 2.解压 ...
- 试做Chrome插件——whatweb的chrome插件(从老博客转)
引子 最近一个月每天早上在学Javascript,刚学完基础语法和一点点jQuery,今天忍不住写个Chrome玩玩看看自己对JavaScript的掌握怎么样了. 目标 考虑了一下,打算做个小东西,但 ...
- It's a Mod, Mod, Mod, Mod World (类欧几里得模板题
https://vjudge.net/contest/317000#problem/F #include <iostream> #include <cstdio> #inclu ...
- python requests 高级用法
高级用法 本篇文档涵盖了 Requests 的一些高级特性. 会话对象 会话对象让你能够跨请求保持某些参数.它也会在同一个 Session 实例发出的所有请求之间保持 cookie, 期间使用 url ...
- JZOJ[3771] 【NOI2015模拟8.15】小 Z 的烦恼
题目 描述 题目大意 有从111到nnn的数字,每个数字都可以放在一个盒子里(可以不放).一旦放,满足: 如果它不在第mmm个盒子,那么它的两倍一定在后面一个盒子里. 如果它不在第111个盒子,那么它 ...