jeecms安装、配置文件说明

jeecms安装、配置文件说明
jeecms安装、配置文件说明

一 Jeecms安装过程

将解压后得到的jeecms-3.0.2-final文件夹下的root文件夹更名为jeecms拷贝到tomcat 安装目录下的webapps 文件夹下(例

如: D:\Tomcat 6.0\webapps\),启动tomcat,在地址栏中输入

http://localhost:8080/jeecms,您将看到第一步安装过程中的《用户许可协议》,勾选“我已经阅读并同意此协议”,点击下一步,接下来第二步安装过程中设置系统参数,系统会自动检测出一些配置项,请根据您的实际情况填写,数据库密码不能为空。点击提交后进入第三步进入最后的系统安装过程,安装过程可能需要十几秒的等待时间。安装成功后将提示信息,请再重启Tomcat 完成安装。

Tomcat重启完毕之后,在浏览器的地址栏中输入

http://localhost:8080/jeecms,

若系统正常显示默认的站点首页则表示JEECMS 已经顺利安装完成.

附:

系统管理后台登录:

http://localhost:8080/jeecms/jeeadmin/jeecms/index.do

用户名:admin

密码:password

图文安装步骤如下:

将解压后得到的ROOT文件夹拷贝到tomcat安装目录下的webapps文件夹下(例如:D:\Tomcat 6.0\webapps\),启动tomcat,在地址栏中输入

http://localhost:8080,您将看到第一步安装过程中的《用户许可协议》,如图一所示,勾选“我已经阅读并同意此协议”,点击下一步,

图一:用户许可协议

接下来第二步安装过程中设置系统参数,系统会自动检测出一些配置项,请根据您的实际情况填写,如图二所示,数据库密码不能为空。

图二:系统参数设置

点击提交后进入第三步进入最后的系统安装过程,安装过程可能需要十几秒的等待时间。安装成功后将提示如图三所示的页面信息,请再重启Tomcat完成安装。

图三:系统安装完成

三、完成安装

Tomcat重启完毕之后,在浏览器的地址栏中输入http://localhost:8080,若系统正常显示默认的站点首页则表示JEECMS已经顺利安装完成.,如图四所示:

图四站点首页

二 Jeecms项目导入myeclipse

1.在myeclipse中新建一个项目jeecms,将服务器中jeecms项目下web-

inf文件夹下内容拷到新建项目中

解压缩jeecms-3.0.2-final-src,在src文件夹下会看到有三个压缩文件,如

果只想进行普通的二次开发,可以只导入cms这个源码,删除jeecms-cms-identity-3.0.2-final.jar即可,如果想进行深入的二次开发,需要导入common和core源码,另导入common-lib下的jar包,删除jeecms-cms-

identity-3.0.2-final.jar,jeecms-common-3.0.2-final.jar ,jeecms-

core- identity-3.0.2-final.jar这三个jar包,切记:务必进行build path

3.修改jdbc链接,自己导入数据库。

4.把服务器下install\config下的web.xml复制出来覆盖掉新建项目WEB-INF

下的web.xml

5.classes下有四个文件,手动烤到myeclipse项目src根目录下中

6.将服务器上jeecms项目删掉,发布新建的jeecms项目。

三首页的加载过程

在浏览器中输入http://localhost:8080/jeecms,回车

首先进入配置文件web.xml,

contextConfigLocation

/WEB-INF/config/application-context.xml

/WEB-INF/config/cache-context.xml

/WEB-INF/config/captcha-context.xml

/WEB-INF/config/jeecore-context.xml

/WEB-INF/config/jeecms-context.xml

应用范围内的初始化参数

其中jeecms-context.xml是对标签的初始化

index.html

index.shtml

index.jhtml

通过以上标签找到应该加载哪一个页面

JeeCmsFront

class>org.springframework.web.servlet.DispatcherServlet

contextConfigLocation

/WEB-INF/config/jeecms-servlet-front.xml

2

JeeCmsFront

*.jhtml

JeeCmsFront

*.jspx

JeeCmsFront

*.jsp

JeeCmsFront

*.htm

通过servlet配置,可以找到jeecms-servlet-front.xml,在此配置文件的最后有

代码

找到jeecms-servlet-front-action.xml,在此配置文件中有

可以找到类DynamicPageAct,此类是首页模板。

在类DynamicPageAct中有

public static final String TPL_INDEX = "tpl.index";

找到WEB-INF\languages\jeecms_front下messages_zh_CN.properties配置文件,可以找到对应的首页面

tpl.index=首页(工程中的首页.html文件)

四标签的配置流程

以cms_content_list为例,首先,每一个标签的声明都是在jeecms-context.xml中进行的,

xsi:schemaLocation="https://www.360docs.net/doc/4311358378.html,/schema/beans http: //https://www.360docs.net/doc/4311358378.html,/schema/beans/spring-beans-3.0.xsd"

default-lazy-init="true">

……

(声明标签对应的类)

……

……

……

此外,在配置文件jeecms-servlet-front.xml中,还有一段对标签的配置

……

……

……

类ContentListDirective继承自AbstractContentDirective,最主要

的是execute方法

public class ContentListDirective extends AbstractContentDirective { /**

* 模板名称

*/

public static final String TPL_NAME = "content_list";

/**

* 输入参数,文章ID。允许多个文章ID,用","分开。排斥其他所有筛选参数。 */

public static final String PARAM_IDS = "ids";

@SuppressWarnings("unchecked")

public void execute(Environment env, Map params, TemplateModel[] loop Vars,

TemplateDirectiveBody body) throws TemplateException, IOException {

//获取站点

CmsSite site = FrontUtils.getSite(env);

//获取内容列表,可以通过此处进行更改,获取自己数据库中的数据

List list = getList(params, env);

Map paramWrap = new HashMap(

params);

//OUT_LIST值为tag_list,在类DirectiveUtils中声明,将内容列表放入其

paramWrap.put(OUT_LIST, DEFAULT_WRAPPER.wrap(list));

//将params的值复制到variable中

Map origMap = DirectiveUtils

.addParamsToVariable(env, paramWrap);

//获取的是参数PARAM_TPL,是否调用模板以及调用的模板类型

InvokeType type = DirectiveUtils.getInvokeType(params);

//获取传入参数,列表样式,根据不同的参数获取不同的样式列表

String listStyle = DirectiveUtils.getString(PARAM_STYLE_LIST, params); if (InvokeType.sysDefined == type) {

if (StringUtils.isBlank(listStyle)) {

throw new ParamsRequiredException(PARAM_STYLE_LIST);

}

//列表样式模板

env.include(TPL_STYLE_LIST + listStyle + TPL_SUFFIX, UTF8, true);

} else if (https://www.360docs.net/doc/4311358378.html,erDefined == type) {

if (StringUtils.isBlank(listStyle)) {

throw new ParamsRequiredException(PARAM_STYLE_LIST);

}

//列表样式模板路径 WEB-INF\t\cms_sys_defined\style_list\style_2-

1.html

FrontUtils.includeTpl(TPL_STYLE_LIST, site, env);

} else if (InvokeType.custom == type) {

//这个模板就是自己声明的,即content_list.html,如果采用自定义模板的话,页面中可以只写上标签,并添加上标签内需要的几个参数,不需要写标签体的内容,会去自动调用模板中的标签体。

FrontUtils.includeTpl(TPL_NAME, site, params, env);

} else if (InvokeType.body == type) {

body.render(env.getOut());

} else {

throw new RuntimeException("invoke type not handled: " + type);

}

//将variable中的params值移除

DirectiveUtils.removeParamsFromVariable(env, paramWrap, origMap); }

@SuppressWarnings("unchecked")

protected List getList(Map params, Environment env) throws TemplateException {

Integer[] ids = DirectiveUtils.getIntArray(PARAM_IDS, params);

if (ids != null) {

//根据内容ID数组获取文章列表

return contentMng.getListByIdsForTag(ids, getOrderBy(params));

} else {

return (List) super.getData(params, env);

}

}

@Override

protected boolean isPage() {

return false;

}

}

Content_list.html中的内容

[#list tag_list as a]

  • ${a.title}
  • [/#list]

    就是简单的将tag_list中的内容,即

    “paramWrap.put(OUT_LIST,DEFAULT_WRAPPER.wrap(list));”中放入的数据遍历出来

    style_2-1.html中的内容主要是对图文列表或标题列表向上滚动的样式的,其中包含两个同样为样式的文件

    style_2-1_core.html(图文列表或标题列表向上滚动)和style_1-

    1_core.html(图文列表或标题列表向上滚动),在此就不做赘述了。

    Jeecms是基于Spring注解,在自定义标签时对于实体类和dao service等注意注解的问题。

    五自定义标签及使用自己创建的表的实现过程

    下面是我自己定义的标签mycontent_list

    首先,在数据库里创建了一个jc_mycontent的表,其中有id,title,content 三个字段

    其次,创建了一个实体类

    public class MyContent {

    private static final long serialVersionUID = 1L;

    private Integer id;

    private String title;

    private String content;

    public MyContent () {

    super();

    }

    ……get set方法

    }

    接下来是配置hibernate中jc_mycontent表的配置文件

    //Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge. net/hibernate-mapping-3.0.dtd">

    false

    null="true" />

    与数据库交互的持久层接口

    public interface MyContentDao {

    public List getList();

    }

    持久层实现类

    @Repository//持久层

    public class MyContentDaoImpl extends HibernateBaseDao

    implements MyContentDao {

    @SuppressWarnings("unchecked")

    public List getList(){

    return find(byNothing());

    }

    private Finder byNothing(){

    Finder f = Finder.create();

    f.append("from MyContent");//可以在此处添加查询条件或者添加各种方法进行动态查询

    f.setCacheable(true);

    return f;

    }

    @Override

    protected Class getEntityClass() {

    return MyContent.class;

    }

    }

    业务层接口

    public interface MyContentMng {

    public List getList();

    }

    业务层实现类

    @Service//业务层

    @Transactional

    public class MyContentMngImpl implements MyContentMng {

    @Transactional(readOnly = true)//配置事务为只读

    public List getList(){

    return myContentDao.getList();

    }

    private MyContentDao myContentDao;

    @Autowired//自动绑定

    public void setMyContentDao(MyContentDao myContentDao) {

    this.myContentDao = myContentDao;

    }

    private List listenerList;

    @Autowired

    public void setListenerList(List listenerList) { this.listenerList = listenerList;

    }

    }

    标签类的抽象类,最主要的就是getData这个方法,以及绑定业务层,其中可以添加多种查询方法。可参考类AbstractContentDirective

    public abstract class AbstractMyContentDirective implements TemplateDirectiveModel {

    protected Object getData(Map params, Environme nt env)

    throws TemplateException {

    return myContentMng.getList();

    }

    @Autowired

    protected MyContentMng myContentMng;

    }

    自定义标签中最重要的类继承上边的抽象类

    public class MyContentListDirective extends AbstractMyContentDirectiv e {

    /**

    * 模板名称

    */

    public static final String TPL_NAME = "mycontent_list";

    @SuppressWarnings("unchecked")

    public void execute(Environment env, Map params, TemplateModel[] loop Vars,

    TemplateDirectiveBody body) throws TemplateException, IOException { //获取站点

    CmsSite site = FrontUtils.getSite(env);

    //获取内容列表

    List list = getList(params, env);

    Map paramWrap = new HashMap(params);

    //OUT_LIST值为tag_list,将内容列表放入其中

    paramWrap.put(MYOUT_LIST, DEFAULT_WRAPPER.wrap(list));

    //将params的值复制到variable中

    Map origMap = DirectiveUtils.addParamsToVariab le(env, paramWrap);

    //没有采用默认的模板,直接采用自己写的简单的模板(mycontent_list.html)FrontUtils.includeTpl(TPL_NAME, site, params, env);

    //将variable中的params值移除

    DirectiveUtils.removeParamsFromVariable(env, paramWrap, origMap);

    }

    protected List getList(Map params, Environment env) throws TemplateException {

    return myContentMng.getList();

    }

    }

    样式模板mycontent_list.html内容,里边可以自己添加一些样式,可参考

    \t\cms_sys_defined\style_list下样式文件

    [#list mytag_list as a]

  • "${a.content}"
  • [/#list]

    首页里加入如下代码

    [@cms_mycontent_list]

    [/@cms_mycontent_list]

    通过以上这些代码,可以实现将自己的表jc_mycontent中的数据查询并显示在页面上

    六标签使用和模板的制作

    1模板规划

    1.1资源文件

    资源文件就是网页中用到的图片、CSS、JS等元素,在CMS系统中所有的资源文件在网站的根目录中的

    /res_base/所属网站定义资源目录/TEMPLEATE/WEB

    /res_base/所属网站定义资源目录/TEMPLEATE/WAP

    解释:网站定义资源

    在CMS系统中可以同时管理多个网站,也就是多个网站可以同时使用一套CMS系统,但是每一个网站都已属于自己独立的资源文件及模板文件目录。

    1.2模板文件

    定义了页面显示的主体框架,它的位置位于网站根目录下的

    /WEB_INF/user_base/所属网站模板目录;

    模板规则:

    1、以index前缀命名的为首页模板

    2、以channel前缀命名的为栏目模板

    3、以content前缀命名的为内容模板

    4、以alone前缀命名的为栏目单页模板

    1.3使用方式

    1、使用dw建立站点

    2、将网页中用到的资源文件分类分别放置到网站相关资源目录中

    3、将模板文件放置按照命名规则分别放置到网站相关模板目录中。

    4、将头部、底部等等具有通用元素的模板文件放置到模板目录中的include 目录中

    5、将模板文件中所有资源引用改为绝对路径链接至资源目录中

    6、在栏目管理中将模板文件与栏目进行关联设置

    7、在模板文件中需要提取数据的位置放置相应的标签

    1.4标签调用样式

    调用"JEECMS标签"的三种代码样式如下:

    A、${标签名称}

    B、[@cms.标签名称属性='值'/]

    C、[@cms.标签名称属性='值'; 标签别名] 自定义样式模板 [/@cms.标签名称]

    例如:

    a、${https://www.360docs.net/doc/4311358378.html,}标签用于调用网站名称

    b、[@cms.ArtiList chnlId='' count='10' sysContent='1-1' /]标签用于调用10篇文章的列表

    C、[@cms.ChnlList id='' inner='1';c]|>${https://www.360docs.net/doc/4311358378.html,} [/@cms.ChnlList]标签用于调用栏目列表,可用于网站导航条。

    注意:abc实例是与上面ABC三种形式相对应的。大家可以逐个测试,举一反三

    proe工程图配置文件.dtl常用选项及使用详解

    工程图配置文件.dtl常用选项及使用详解 工程图配置文件是出工程图所必需了解掌握的知识。我写过一篇关于系统配置文件config.pro的教程,里面提到过配置文件对于使用PROE非常重要。 config.pro的使用,请先看这个帖https://www.360docs.net/doc/4311358378.html,/thread-9138-1-1.html 不可否认的是,论坛工程图版的求助帖超过一半与工程图配置文件设置有关。可见工程图配置文件的重要性。工程图配置文件*.dtl使用上比系统配置文件config.pro要简单一些。所以本帖先将一些常用选项列出,供大家参考。配置文件使用方面的内容放在后面讲解。 本帖为原创,严禁转载! 请勿综合成PDF或WORD等格式打包下载,谢谢合作! 本帖不设回复可见,方便大家都可以见到 本帖所讲述的内容目录如下: 一、工程图配置文件常用选项及说明 二、工程图配置文件使用详解 1、创建工程图配置文件*.dtl 2、工程图配置文件选项的查找 3、工程图配置文件的选项设置与修改 4、工程图配置文件的正确调用 一、工程图配置文件常用选项及说明 drawing_units mm(前面为选项,空格后为值,下同) 此项设置所有绘图参数的单位,比如后面的文字大小、箭头大小等选项,是以mm为单位的,先要设置这个选项。 drawing_text_height 3.5 设置缺省文本的缺省高度,如注释中的文字,标注中的数值大小。 text_width_factor 0.7 设置文本的高度和宽度的比例,按国标应使用长仿宋体,应为0.7。 但此项设置对于windows系统自带的仿宋体无效。 broken_view_offset 3 设置破断视图两破断线之间的距离 detail_circle_line_stylephantomfont 设置详细视图(局部放大图)的边界线的线型,影响打印的粗细 projection_typefirst_angle 设置视图的投影方向为第一角法(国标要求用第一角法,日本等国用第三角法)

    JEECMSv8常用功能所用标签

    JEECMSv8常用功能所用标签 发布时间:2016-11-03 15:31:35 作者:本站编辑来源:本站原创阅读次数:4189 1、栏目导航 一级导航条 导航栏目数据获取标签

    ${base}/ 回到首页标签 ${c.url} 栏目链接 ${https://www.360docs.net/doc/4311358378.html,} 栏目名称

    多级导航 在一级导航标签体中嵌套以下标签获取二级栏目列表 [@cms_channel_list parentId=c.id] [#list tag_list as c2]

  • ${https://www.360docs.net/doc/4311358378.html,}
  • [/#list] [/@cms_channel_list] 说明:c是一级栏目,当然也这里的参数parentId也可以指定id tag_list是数据集合,name栏目名称,url栏目链接 2、栏目当前位置

    您的位置:首页 > [#list channel.nodeList as n]${https://www.360docs.net/doc/4311358378.html,}[#if n_has_next] > [/#if][/#list] >

    如何更改用户配置文件和程序设置的默认位置

    如何更改用户配置文件和程序设置的默认位置 文章编号: 322014 最后修改: 2006年4月20日 移动用户的Documents and Settings 文件夹 概要 本文介绍了如何移动用户的Documents and Settings 文件夹。 所有用户的配置文件信息均存储在“%系统驱动器%\Documents and Settings”文件夹中。如果尝试在Windows 中移动或重命名用户的Documents and Settings 文件夹,您将收到以下错误消息:Documents and Settings 是Windows 系统文件夹,Windows 需要它才能正常运行,因此不能移动或重命名。 注意:本文包含有关Microsoft 不支持的配置的信息。Microsoft 提供此信息仅供参考;Microsoft 不能保证此配置可以正常运行。 警告:Microsoft 强烈建议不要重命名任何系统文件夹。如果重命名系统文件夹,可能会导致系统故障或计算机性能不稳定。使用本文中的信息之前,请备份您的计算机。 回到顶端 移动用户的Documents and Settings 文件夹 警告:注册表编辑器使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因注册表编辑器使用不当而导致的问题。使用注册表编辑器需要您自担风险。 注意:此方法并不会重新定位重要的Windows 组件。此方法仅用于移动用户特定的数据。 1. 确定用户的配置文件路径。确定配置文件路径有两种方法。可以使用以下两种方法中的任一种(首选用户SID 方法):? 用户SID 方法:a. 使用Windows Server Resource Kit 中的Getsid 工具获取SID。使用与以下示例类似的语法: getsid \\server1username \\server1username b. 获取SID 之后,使用Regedit.exe 或Regedt32.exe 在以下注册表项之下选择用户的SID: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList ? 用户路径设置方法:a. 以用户身份登录到计算机,然后在命令提示符处键入set。记下USERPROFILE 的设置,然后关闭命令提示符窗口。 b. 以计算机管理员的身份登录。 c. 使用注册表编辑器将USERPROFILE 设置添加到以下注册表项中: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList d. 单击注册表项,然后单击“编辑”菜单上的“查找”。 e. 在“查找”框中,键入USERPROFILE 设置的值,然后单击“查找下一个”。 2. 更改ProfilesDirectory 值以使用您希望在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList 注册表项中使用的新路径。 3. 退出注册表编辑器,然后以用户身份登录。在命令提示符处键入set,以确认路径已更改。

    8313配置文件及说明

    writereg MBAR 0xFF400000 writemem.l 0xFF400000 0xE0000000 # IMMRBAR = 0xE0000000 writereg MBAR 0xE0000000 writemem.l 0xE0000020 0xFE000000# LBLAWBAR0 - begining at 0xfe000000 writemem.l 0xE0000024 0x80000014# LBLAWAR0 - enable, size = 2MB #writemem.l 0xE0000028 0xFA000000 # LBLAWBAR1 FPGAbegining at 0xfa000000 #writemem.l 0xE000002C 0x8000000E # LBLAWAR1 - enable, size = 32KB writemem.l 0xE00000A0 0x00000000 # DDRLAWBAR0 - begining at 0x00000000 writemem.l 0xE00000A4 0x80000018 # DDRLAWAR0 - enable, size = 32MB # DDR Controller Configuration #1 DDRCDR writemem.l 0xE0000128 0x73040002 #CLK_CNTL writemem.l 0xE0002130 0x02000000 #同原0x02000000。[5-7]CLK_ADJST = 010(1/2),or 011(3/4) # CS0_BNDS writemem.l 0xE0002000 0x00000001 # 0x00000001 - 0x01FFFFFF ;32MB # CS0_CONFIG # [8]AP_0_EN = 1,0? # [16-17]BA_BITS_CS_0 = 00,01? Number of bank bits for SDRAM on chip select n. # [21-23]ROW_BITS_CS_0 = b'001' ; 12 row bits # [29-31]COL_BITS_CS_0 = b'010' ; 9 columns bits #原0x80840102 不同:[29-31]、[21-23], writemem.l 0xE0002080 0x80000001 # TIMING_CFG_3 原0x00000000 # 13-15EXT_REFREC = 001; AUTO REFRESH command period tRFC=72 ns writemem.l 0xE0002100 0x00010000 # TIMING_CFG_1 原0x26256222 # bit 1-3 = 2 tRP=15ns,(tck=7.5) (类似tRP ,为DDR芯片手册上内容)# bit 4-7 = 6 tRAS=42ns, # bit 9-11 = 2 tRCD=15ns, # bit 12 - 15 = 0011:2;0100:2.5 # bit 16 - 19 = 2 (10tck) tRFC=72 ns (tck=7.5) # bit 21 - 23 = 2 tWR=15ns, # bit 25 - 27 = 2 tRRD=12ns, # bit 29 - 31 = 1 tWTR=1tck writemem.l 0xE0002108 0x26232221

    nginx设置rewrite规则

    Nginx 设置rewrite规则 Windows下环境为wamp ,在wamp 环境下,设置rewite规则时,很是简单,只需要打开Apache配置中的rewrite规则,项目中使用rewrite规则时只需创建.htaccess文件,在文件中编写规则,Apache会自动进行解析,但是在linux下则有些不一样。 Linux下环境若是lamp,则和wamp下是相同的,但当环境为lnmp时,需要注意进行如下配置方法: 根据所安装的环境情况,如果环境是lnmp集成环境,在配置rewrite规则时,因为集成环境,在安装完毕后,在安装的目录/usr/local/nginx/conf下,会生成一个文件“wordparss”,这个文件中是专门用于写rewrite规则所用,你可以在这个文件中书写rewrite规则,nginx 的rewrite规则与Apache的规则基本是相同的,只是在文件中书写的方法不同,wordpaess 问件中默认是有一个规则的,如: 利用location加载访问路径,“/”,指代由访问路径的根目录开始, 用if对加载的路径$request_filename 进行验证: 1 、-f 和!-f 用来判断文件是否存在 2、-d 和!-d 用来判断目录是否存在 3 、-e 和!-e 用来判断文件或目录是否存在 4、-x 和!-x 用来判断文件是否可执行 Flag标记: 1、last 相当于Apache里的[L]标记,表示完成rewrite 2、break 终止匹配, 不再匹配后面的规则 3、redirect 返回302临时重定向地址栏会显示跳转后的地址 4、permanent 返回301永久重定向地址栏会显示跳转后的地址 因为在lnmp集成环境下要配置虚拟域名是可以进行自动生成的,生成后会在/usr/local/nginx/conf/vhost 下生成一个以虚拟域名的名字的文件,如:lin_hp.its.conf,而所对应的rewrite规则最好在与域名相对应的配置文件中进行配置,这样不会说,如果有多个域名时,他们所对应的rewrite规则不同,在公共的wordpress文件中配置引起冲突,所配置的方法与在wprdpress文件中是相同的,如:

    JeeCMS技术白皮书

    JEECMS内容管理系统技术白皮书

    目录 第1章概述................................................................................................... 错误!未定义书签。 1.1. 公司简介........................................................................................ 错误!未定义书签。 1.2. 系统部分典型成功案例 (2) 第2章项目介绍 (2) 2.1. 关于JEECMS (2) 2.2. JEECMS系统特点 (4) 2.3. 主要用户 (4) 2.4. 技术架构 (6) 2.4.1. 跨操作系统平台 (7) 2.4.2. 跨数据库平台 (7) 2.4.3. 跨应用服务器 (7) 2.4.4. 兼容多种浏览器 (7) 第3章系统核心功能预览 (7) 3.1. 缓存管理 (7) 3.2. 文章栏目管理 (8) 3.3. 栏目模型管理 (8) 3.4. 文章内容管理 (9) 3.5. 内容属性管理 (11) 3.6. 文档维护 (11) 3.7. 模板管理 (12) 3.8. 模板方案管理 (13) 3.9. 资源管理 (14) 3.10. 辅助系统管理 (14) 3.11. 站点管理 (15) 3.12. 功能菜单管理 (16) 3.13. 角色管理 (16) 3.14. 用户管理 (17) 3.15. 管理员管理 (17) 3.16. 会员组管理 (18) 3.17. 会员管理 (18) 3.18. 附件管理 (19) 3.19. 网站配置 (19) 3.20. 系统设置 (20) 3.21. 辅助设置 (21) 第4章系统标签灵活性预览 (21) 4.1. 普通文章列表样式 (21) 4.2. 图文显示样式 (22) 4.3. 焦点图显示样式 (22) 4.4. 自定义显示标签 (23) 第5章系统可扩展性介绍 (24) 第6章系统报价及相关服务 (24)

    IVI配置文件的管理

    仪器无关测试系统IVI配置文件的管理(转载) ( 更新时间:2006-08-31 16:15:08) 1概述 VPP规范中定义了VISA(virtualinstrumentsoftwarearchitecture)接口软件,对串行总线、GPIB总线、VXI总线仪器的操作提供了统一接口,提高了仪器的可互换性。19 9 8年8月,为了进一步提高仪器驱动程序的执行性能,达到真正的仪器互换性,由9个公司成立IVI(InterchangeableVirtualInstrumentation)基金会,在VPP的基础上为仪器驱动程序制定新的编程接口标准,使应用程序可以实现完全独立于硬件,而不管其是何种总线接口,并增加了仪器仿真、状态缓存等机制,使仪器执行效率大大提高。 2IVI系统结构 目前,IVI基金会共规范和开发了5类驱动程序:示波器、数字多用表、任意波形/函数发生器、开关和直流电源。即将推出射频信号发生器、频谱分析仪、功率计、数字仪器分类驱动程序。IVI系统结构如图1所示,由IVI分类驱动程序、IVI具体仪器驱动程序、IVI引擎、IVI配置实用程序、IVI配置信息文件5部分组成。应用测试程序中调用分类驱动程序,分类驱动程序调用具体仪器驱动程序来控制实际的仪器,因此,即使测试系统的具体仪器改变,也不会使分类驱动程序的测试代码受到影响。

    2 1分类驱动程序 一个分类驱动程序是一组仪器无关函数和属性用于控制某一类型的仪器,比如示波器、数字多用表、函数发生器等,这些函数有一个通用功能前缀如IviScope、IviDmm或IviFgen。目前IVI驱动程序工具箱共有5类:示波器、数字多用表、任意波形/函数发生器、开关和电源,每个分类驱动程序调用具体仪器驱动程序来控制实际的仪器。因为每一类中的所有仪器不可能具有完全相同的功能和性能,没有一个单一的编程接口可以适用于所有的仪器,因此IVI分类驱动程序将仪器能力分为固有的IVI能力、基本能力、扩展组能力、仪器特有的能力4种。固有的IVI能力是指所有的IVI分类驱动程序都具有的函数和属性,比如ClassPrefix- init( )函数,对5类驱动程序而言,只是将ClassPrefix(类前缀)加上,分别为IviScope、IviDmm、IviDCPwr、IviFgen或IviSwtch,此类函数有19个;基本能力是指某类仪器公有的函数和属性,可以覆盖某类仪器95 %以上的功能,例如示波器的基本功能为:沿触发采集、初始化一个采集过程、返回采集波形等,一个IVI兼容的仪器必须具有上述基本能力;扩充组功能(ExtensionGroups)是指并不是某一类仪器都具有的、更为特殊的函数和属性组,具体仪器驱动程序不需要实现扩充功能组,由IVI分类驱动程序为属于某类仪器不标准的功能创建标准编程接口,例如,虽然所有示波器水平和垂直设置都有相同的基本功能,但却有各种各样的触发模式,IviScope分类驱动程序包含了不同触发模式的扩展功能,比如TV触发、runt触发、宽度触发等等,每个具有TV触发的示波器都能遵守IviScope分类驱动程序的TV触发扩展组函数和属性。仪特有的功能是指其他设备没有的,为了使用这些功能必须在程序中直接访问IVI具体驱动程序,这部分程序将不支持仪器互换性。 2 2具体仪器驱动程序 具体仪器驱动程序包含控制一个特定仪器的信息,包括命令串、分析代码、每个设置的正确量程等。其对外接口与VISA仪器驱动程序没有什么区别,但内部实现方法却大不相同,在VPP基础上增加了仪器仿真、状态缓存、量程检查等功能。

    MySQL配置文件详解

    ./configure --prefix=/usr/local/mysql \ --without-debug \ #去除debug模式. --enable-thread-safe-client \ #以线程方式编译客户端. --with-pthread \ #强制使用pthread线程库编译. --enable-assembler \ #允许使用汇编模式. --enable-profiling \ #Build a version with query profiling code (https://www.360docs.net/doc/4311358378.html,munity-features) --with-mysqld-ldflags=-all-static \ #静态编译mysqld的额外link参数. --with-client-ldflags=-all-static \ #静态编译client的额外link参数. --with-charset=utf8 \ #默认字符utf8. --with-extra-charsets=all \ #支持所有的语言字符. --with-innodb \ #innodb数据引擎. --with-plugins=innobase \ --with-plugins=heap \ #内存数据引擎. --with-mysqld-user=mysql \ #mysql安装使用的帐号 --without-embedded-server \ #去除安装embedded-server. --with-server-suffix=-community \ #社区形式安装. --with-unix-socket-path=/tmp/mysql.sock MYSQl启动的一般设置: /etc/https://www.360docs.net/doc/4311358378.html,f基本部设参数设置. # back_log 是操作系统在监听队列中所能保持的连接数, # 队列保存了在MySQL连接管理器线程处理之前的连接. # 如果你有非常高的连接率并且出现"connection refused" 报错, # 你就应该增加此处的值. # 检查你的操作系统文档来获取这个变量的最大值. # 如果将back_log设定到比你操作系统限制更高的值,将会没有效果 # 在MYSQL的连接请求等待队列中允许存放的最大连接请求数. defautl=50,最大65535,根据os对网络监听队列的情况来设置. back_log = 20000 # MySQL 服务所允许的同时会话数的上限 # 其中一个连接将被SUPER权限保留作为管理员登录. # 即便已经达到了连接数的上限. # 整个Mysql允许的最大连接数.这个参数会影响mysql的应用并发处理能力.有些资料上提到 500-800,以我们的机子来说单个mysql实例设置10000应该是没有问题的。如果还需可能需要第三方软件解决php连接池的问题,提高还需要连接池. max_connections = 10000 # 每个客户端连接最大的错误允许数量,如果达到了此限制. # 这个客户端将会被MySQL服务阻止直到执行了"FLUSH HOSTS" 或者服务重启 # 非法的密码以及其他在链接时的错误会增加此值. # 查看 "Aborted_connects" 状态来获取全局计数器. max_connect_errors = 10

    nginx安装手册

    Nginx安装手册 1nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。 ?gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++ ?PCRE PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。yum install -y pcre pcre-devel 注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。 ?zlib zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。 yum install -y zlib zlib-devel ?openssl OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。 nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux 安装openssl库。 yum install -y openssl openssl-devel 2编译安装 将nginx-1.8.0.tar.gz拷贝至linux服务器。 解压: tar -zxvf nginx-1.8.0.tar.gz cd nginx-1.8.0 1、configure ./configure --help查询详细参数(参考本教程附录部分:nginx编译参数) 参数设置如下: ./configure \

    JEECMS开发文档

    1.在myeclipse中新建一个项目jeecms,将服务器中jeecms项目下web-inf文件夹下内容拷到新建项目中 2.解压缩jeecms- 3.0.2-final-src,在src文件夹下会看到有三个压缩文件,如果只想进行普通的二次开发,可以只导入cms这个源码,删除j eecms-cms-identity-3.0.2-final.jar即可,如果想进行深入的二次开发,需要导入common和core源码,另导入common-lib下的jar包,删除jeecms-cms- identity-3.0.2-final.jar,jeecms-common-3.0.2-final.jar ,jeecms-core- identity-3.0.2-final.jar这三个jar包,切记:务必进行build path 3.修改jdbc链接,自己导入数据库。 4.把服务器下install\config下的web.xml复制出来覆盖掉新建项目WEB-INF下的web.xml 5.classes下有四个文件,手动烤到myeclipse项目src根目录下中 6.将服务器上jeecms项目删掉,发布新建的jeecms项目。 首页的加载过程: 在浏览器中输入http://localhost:8080/jeecms,回车 首先进入配置文件web.xml, contextConfigLocation /WEB-INF/config/application-context.xml /WEB-INF/config/cache-context.xml /WEB-INF/config/captcha-context.xml /WEB-INF/config/jeecore-context.xml /WEB-INF/config/jeecms-context.xml 应用范围内的初始化参数 其中jeecms-context.xml是对标签的初始化 index.html index.shtml index.jhtml 通过以上标签找到应该加载哪一个页面 JeeCmsFront org.springframework.web.servlet.DispatcherServlet

    配置文件使用说明

    (1)报警切除功能 C:\windows\cas2000ops.ini中 [CutAlarm] Enable=0 说明:Enable置0时无报警切除功能,置1时有报警切除功能。默认为0 ( 2 ) 语音报警功能 C:\ windows\ Keyboard.ini中 [Keyboard] SelfSound=1 SoundFileName=ALARM.wav 说明: a)SelfSound项置0时,无语音报警功能,置1时有语音报警功能。默认为0 b)语音文件路径应放在操作员站的Start路径下,SoundFileName用户可以自 定义,默认为ALARM.wav。 (3)在线查询时长 C:\windows\cas2000ops.ini中 [TimeLength] show24hour=1; show60hour=1 说明:show24hour置1时,实时趋势时间段有24小时的时间段,置0时没有show60hour同上。 (4)PID调节幅值更改 操作员安装路径\config\ PID_ADJUST.ini [PID点名] SLOW=0 FAST=0 说明:此调节是按绝对值调节,不是按百分比调节; SLOW与FAST项需为非零值,且FAST值〉SLOW值 默认情况下没有文件PID_ADJUST.ini,需要用户自定义。 (5)点详细窗口风格 C:\windows\cas2000ops.ini中 [TagCurve] Mode=0 说明:Mode置0为浮动窗口风格,置1位对话框。默认为0。 (6)操作员站工程师台菜单项中综合趋势窗口和开关趋势窗口菜单C:\windows\cas2000ops.ini中 [ExtraTrendMenu] Mode=0 说明:Mode置0有综合趋势窗口和开关趋势窗口菜单,置1无。默认为

    CAXA图文档各个配置文件的定义

    -:图文档的客户端目录。 1.\SysOpt.xml:系统选项文件(系统->工具->选项中定义): - LAYOUT_SETTINGS: cleartemp="yes":说明在退出图文档时将临时文件夹下的文档清除。 cleartemp=”no” : 说明在退出图文档时不清空临时文件夹下的文档。 Sort :是否启动树排序工具 Savelayout:记住系统退出时的窗口布局。 Limitwin:最大活动窗口数限制 Maxwin:最大活动窗口数限制的个数。 Savepwd:记住登录密码。 Refreshassmwhencheckin:出库图纸入库时重新提取明细表以更新产品结构树。 Exbtemplatefile:启用提取信息模板文件。 LAYOUT_SETTINGS: Sortpart:产品结构树上的零部件按照property定义的属性排序。 Property:0――按照代号排序 1――按照明细表序号排序 TREE_SETTINGS: Hidestdpart:掩藏标准件不在树上显示 Hideobsoleteprd:掩藏归档的产品不在树上显示。 Showselprdfolder:在文档树上只显示选中的产品文件夹 Showhideprd:在树上显示隐藏的产品大类和产品 MODULE_SETTINGS: enable3d:启动3D文档管理 enablecapp:启动工艺文档管理 CAPP_SETTINGS: Exportcappattr:工艺图表文件出库时自动填写零件信息。

    jeecms 标签详细使用说明教程文件

    J e e c m s2012标签详细使用说明

    JEECMS V2012标签说明文档 目录 [@cms_tag_list] Tag列表标签 (3) [@cms_lucene_list] 搜索结果列表标签 (4) [@cms_lucene_page] 搜索结果分页标签 (6) [@cms_Include] 页面模板包含标签 (8) [@cms_guestbook_list] 留言列表标签 (9) [@cms_content_page] 文章列表分页标签 (10) [@cms_content_list] (12) [@cms_Content] 文章对象标签 (16) [@cms_topic_page] 专题分页标签 (17) [@cms_topic_list] 专题列表标签 (19) [@cms_vote] 投票标签 (20) [@cms_comment_page] 评论分页标签 (22) [@cms_comment_list] 评论列表标签 (24) [@cms_channel] 栏目对象标签 (26) [@cms_channel_list] 栏目列表标签 (28) [@cms_pagination/]参数:sysPage 分页 (29) [@process_time/]页面处理时间标签 (31)

    [@cms_tag_list] Tag列表标签 Tag列表标签 作用:显示tag列表 示例:

    热门tags: [@cms_tag_list count='8'] [#list tag_list as tag]${https://www.360docs.net/doc/4311358378.html,}[#if tag_has_next]|[/#if][/#list] [/@cms_tag_list]

    Config配置文件

    menu_translation both——设置下拉菜单时为中英文双语菜单tol_mode nominal——设置显示的尺寸没有公差 trail_dir D:\Program Files\trail——设置轨迹文件存放路径 web_browser_homepage about:blank——设置浏览器首页为空白页(关闭croe启动时登陆ptc 网页)drawing_setup_file D:\Program Files\peizhi\gb.dtl——设置工程图配置文件 system_colors_file D:\Program Files\peizhi\syscol.scl——设置系统颜色配置文件pdf_use_pentable yes——设置输出PDF时使用系统线宽设置 pro_format_dir D:\Program Files\peizhi\format——设置工程图格式文件路径 template_solidpart D:\Program Files\peizhi\template\startpart.prt.5——设置零件模板template_designasm D:\Program Files\peizhi\template\startasm.asm.3——设置组件模板model_note_display no——设置注释不显示 pro_unit_length unit_mm——设置长度缺省单位为mm pro_unit_mass unit_kilogram——设置质量缺省单位为kg pro_unit_sys mmks——设置缺省单位系统为mmks(毫米千克秒)bell no——关闭提示音default_dec_places3——设置所有模型模式中非角度尺寸的缺省小数位数default_ang_dec_places2——设置角度尺寸小数位数 sketcher_dec_places2——设置草绘时的尺寸小数位数 default_draw_scale1:1——设置工程图中缺省的绘图比例,即插入一般视图时默认为1比1save_drawing_picture_file embed——设置将图片嵌入工程图中,可以实现工程图打开时预览search_path_file D:\Program Files\peizhi\search.pro——设置搜索文件tangent_edge_display no——设置相切边不显示 set_menu_width12——设置下拉菜单的宽度 intf_out_layer part_layer——设置图层方式(影响转CAD) dxf_export_mapping_file D:\Program Files\peizhi\dxf_export.pro——指定转CAD的转换设置文件mdl_tree_cfg_file D:\Program Files\peizhi\tree.cfg——设置模型树配置文件allow_anatomic_features yes——设置自动再生特征 text_height_factor40——设置系统坐标XYZ及基准面显示的字体大小(数值小显示就大)pro_note_dir D:\Program Files\peizhi\note——设置注释文件路径 rename_drawings_with_object both——设置保存副本时自动复制与零件或组件相关的工程图use_8_plotter_pens yes——设置使用8笔(影响打印)mass_property_calculate automatic ——设置质量自动计算 format_setup_file D:\Program Files\peizhi\format.dtl——设置工程图格式文件的配置文件pro_symbol_dir D:\Program Files\peizhi\symbol——设置工程图用的符号tolerance_standard iso——设置公差标准为ISO pro_plot_config_dir D:\Program Files\peizhi\print_pcf——设置打印机打印样式文件路径pro_material_dir D:\Program Files\peizhi\material——设置材料库文件路径pen_table_file D:\Program Files\peizhi\table.pnt——设置打印线宽配置文件 step_export_format ap214_cd——设置输出step格式文件时,保留原模型颜色

    理解linux的配置文件

    本文说明了 Linux 系统的配置文件,在多用户、多任务环境中,配置文件控制用户权限、系统应用程序、守护进程、服务和其它管理任务。这些任务包括管理用户帐号、分配磁盘配额、管理电子邮件和新闻组,以及配置内核参数。本文还根据配置文件的使用和其所影响的服务的情况对目前 Red Hat Linux 系统中的配置文件进行了分类。 介绍 每个 Linux 程序都是一个可执行文件,它含有操作码列表,CPU 将执行这些操作码来完成特定的操作。例如,ls 命令是由 /bin/ls 文件提供的,该文件含有机器指令的列表,在屏幕上显示当前目录中文件的列表时需要使用这些机器指令。几乎每个程序的行为都可以通过修改其配置文件来按照您的偏好或需要去定制。 Linux 中有没有一个标准的配置文件格式? 一句话,没有。不熟悉 Linux 的用户(一定)会感到沮丧,因为每个配置文件看起来都象是一个要迎接的新挑战。在 Linux 中,每个程序员都可以自由选择他或她喜欢的配置文件格式。可以选择的格式很多,从 /etc/shells 文件(它包含被一个换行符分开的 shell 的列表),到 Apache 的复杂的 /etc/httpd.conf 文件。 什么是系统配置文件? 内核本身也可以看成是一个“程序”。为什么内核需要配置文件?内核需要了解系统中用户和组的列表,进而管理文件权限(即根据权限判定特定用户(UNIX_USERS)是否可以打开某个文件)。注意,这些文件不是明确地由程序读取的,而是由系统库所提供的一个函数读取,并被内核使用。例如,程序需要某个用户的(加密过的)密码时不应该打开 /etc/passwd 文件。相反,程序应该调用系统库的 getpw() 函数。这种函数也被称为系统调用。打开 /etc/passwd 文件和之后查找那个被请求的用户的密码都是由内核(通过系统库)决定的。除非另行指定,Red Hat Linux 系统中大多数配置文件都在 /etc 目录中。配置文件可以大致分为下面几类:访问文件 /etc/host.conf 告诉网络域名服务器如何查找主机名。(通常是 /etc/hosts,然后就是名称服务器;可通过netconf 对其进行更改) /etc/hosts 包含(本地网络中)已知主机的一个列表。如果系统的 IP 不是动态生成,就可以使用它。对于简单的主机名解析(点分表示法),在请求 DNS 或 NIS 网络名称服务器之前,/etc/hosts.conf 通常会告诉解析程序先查看这里。 /etc/hosts.allow 请参阅 hosts_access 的联机帮助页。至少由 tcpd 读取。 /etc/hosts.deny 请参阅 hosts_access 的联机帮助页。至少由 tcpd 读取。 引导和登录/注销 /etc/issue & /etc/https://www.360docs.net/doc/4311358378.html, 这些文件由 mingetty(和类似的程序)读取,用来向从终端(issue)或通过telnet 会话(https://www.360docs.net/doc/4311358378.html,)连接的用户显示一个“welcome”字符串。它们包括几行声明 Red Hat 版本号、名称和内核 ID 的信息。它们由 rc.local 使用。 /etc/redhat-release 包括一行声明 Red Hat 版本号和名称的信息。由 rc.local 使用。 /etc/rc.d/rc 通常在所有运行级别运行,级别作为参数传送。例如,要以图形(Graphics)模式(X-Server)引导机器,请在命令行运行下面的命令: init 5 。运行级别 5 表示以图形模式引导系统。 /etc/rc.d/rc.local 非正式的。可以从 rc、rc.sysinit 或 /etc/inittab 调用。 /etc/rc.d/rc.sysinit 通常是所有运行级别的第一个脚本。 /etc/rc.d/rc/rcX.d 从 rc 运行的脚本( X 表示 1 到 5 之间的任意数字)。这些目录是特定“运行级别”的目录。当系统启动时,它会识别要启动的运行级别,然后调用该运行级别的特定目录中存在的所有启动脚本。例如,

    nginx配置解析详解(一)

    nginx配置解析详解(一) 现在针对nginx源码分析的blog和文章已经很多了,之前我也看过不少,大家的分析都很不错。太多重复的内容就不写了,主要想针对在我分析代码和查阅blog的过程中,发现的一些比较晦涩或者某些细节有待展开讨论的地方,给出我的自己理解和看法,希望跟大家交流和学习。 使用的nginx版本是nginx-1.0.6,我最开始看的代码是0.7.62,新的版本在功能和稳定性上做了很多的工作。在分析的时候,我尽量简单明了,不太重要的地方一带而过,具体地大家可以去读代码。相对复杂或者晦涩的地方,将详细展开。 首先我们从配置文件开始,下面的分析是建立在网友对nginx的配置文件结构有大概熟悉为前提,这样才可以很好的理解代码。这里有必要提醒一点:原始代码目录中 ngx_modules这个结构,是找不到它的定义和初始化,要看到它,你必须执行configure,make,在原来的代码目录下会出现一个objs文件夹,里面的3个文件ngx_auto_config.h,ngx_auto_headers.h,ngx_modules.c,需要在建source insight工程时也包含进去,这样有利于我们把握整个代码结构。有意思的是,nginx的configure文件是作者手工写的,里面有许多管理代码工程的方法,有时间的话,也是值得学习下的。 1.ngx_cycle_t *ngx_init_cycle(ngx_cycle_t *old_cycle); 配置文件的解析相关的处理主要在ngx_init_cycle函数中被调用。既然如此,我们就先说说ngx_init_cycle函数吧。 它需要一个参数类型为ngx_cycle_t *,返回值也是一个ngx_cycle_t*,与此同时我们注意到参数名为old_cycle,那么这个函数的作用是啥呢?很明显是由old得到一个new。其中ngx_cycle_t的结构保存一些全局的配置和信息。 这个函数具体作用将在reconfig(重读配置文件)的时候得到体现,可以理解为old_cycle 是当前正在使用的配置信息,当配置文件做了某些修改之后,ngx_init_cycle通过old_cycle 中的一些数据,对new_cycle进行一些设置,在经过进一步的配置解析之后,就可以得到一个new cycle。 2.char *ngx_conf_parse(ngx_conf_t *cf, ngx_str_t *filename) 当我们使用sourceinsight查看这个函数的调用情况时,会发现调用它的地方很多。其实,入口点就在ngx_init_cycle中对ngx_conf_parse调用,后面的所有的调用可以看作是在此之后的递归调用。为什么会是这个样子呢?原因在于nginx是一边读取配置信息,一边解析执行相关的处理,具体一点讲,就是“读一行,执行一行”,一行的定义在这里是指以分号或者是“{”和“}”等结尾的一行,例如:我们解析到http {},我们就调用针对httpblock的处理,在处理的时候我们又会碰到server {},自然就会调用server block的处理。。。以此类推!。

    相关文档
    最新文档