opencms是如何管理jsp文件的
来源:百度文库 编辑:神马文学网 时间:2024/04/28 13:33:32
opencms是如何管理jsp文件的通常opencms的文件存放在数据库中,也就是所谓的Virtual File System (VFS)。这意味着在本地文件系统中不存在和OpenCms workplace的explorer视图的相同的文件结构。然而,为了让jsp文件正常工作,opencms中所有的jsp文件“镜象”到了本地文件系统中。
让我们首先看一下一个“标准”的jsp文件是如何被处理的:
jsp文件必须存在于web应用的目录中。 文件的后缀必须是.jsp(你可以通过配置web.xml对此做修改)。 当servlet容器接收到针对web应用的jsp文件的请求时,被请求的jsp文件首先要转换成java源文件,即.java文件。 在转换的过程中,jsp标签(如<%@ include file= "..." %>)被解析并转换成java代码。 转换的java文件实现Servlet接口,并被编译为class文件。 最后,调用class的service()方法。
为了使opencms独立于servlet容器,它使用了一个小技巧-将jsp文件从VFS中镜象到本地文件系统,方法如下:
对opencms所有资源的请求都由opencms Servlet来处理,该servlet一般映射为/opencms/opencms。 当opencms收到对jsp资源的请求时,它将被请求jsp文件的内容导入到opencms web应用的根目录的一个子目录/WEB-INF/jsp中。 因为opencms的资源分为Online和offline,/WEB-INF/jsp中存在子目录online和offline和此对应。 在此目录中,被导出的jsp文件拥有完整的VFS路径结构和.jsp后缀。例如,你的文件在VFS中是"/index.jsp",被导出后它将是WEB-INF/jsp/online/index.jsp.jsp文件(译者注:目前opencms6.2.1可以判断导出的文件是否存在jsp后缀,而不是傻傻的直接添加)。我们可以将这个叫做jsp的“转换文件名”。 当opencms导出资源时,会使用一个简单的解析器对jsp文件内容进行预处理,以查找引用其他jsp文件的表情,最明显的是<%@ include file= "..." %> 和 <%@ page errorPage= "..."%>
如果发现这样的标签,目标文件名将会被这个资源在真是文件系统的转换文件名替换。 现在在web应用的目录下我们已经有了一个jsp文件,我们叫他"{file.jsp}" Opencms servlet(它仍然是控制器)现在调用requestDispatcher("{file.jsp}").include(),然后将控制权转交给标准的servlet容器。
然后按上面所述的标准jsp处理步骤进行处理。需要注意的是,在这个过程中,opencms仍然使用Request和Response包装器(Wrappers)来生成FlexCache条目。
让我们首先看一下一个“标准”的jsp文件是如何被处理的:
jsp文件必须存在于web应用的目录中。 文件的后缀必须是.jsp(你可以通过配置web.xml对此做修改)。 当servlet容器接收到针对web应用的jsp文件的请求时,被请求的jsp文件首先要转换成java源文件,即.java文件。 在转换的过程中,jsp标签(如<%@ include file= "..." %>)被解析并转换成java代码。 转换的java文件实现Servlet接口,并被编译为class文件。 最后,调用class的service()方法。
为了使opencms独立于servlet容器,它使用了一个小技巧-将jsp文件从VFS中镜象到本地文件系统,方法如下:
对opencms所有资源的请求都由opencms Servlet来处理,该servlet一般映射为/opencms/opencms。 当opencms收到对jsp资源的请求时,它将被请求jsp文件的内容导入到opencms web应用的根目录的一个子目录/WEB-INF/jsp中。 因为opencms的资源分为Online和offline,/WEB-INF/jsp中存在子目录online和offline和此对应。 在此目录中,被导出的jsp文件拥有完整的VFS路径结构和.jsp后缀。例如,你的文件在VFS中是"/index.jsp",被导出后它将是WEB-INF/jsp/online/index.jsp.jsp文件(译者注:目前opencms6.2.1可以判断导出的文件是否存在jsp后缀,而不是傻傻的直接添加)。我们可以将这个叫做jsp的“转换文件名”。 当opencms导出资源时,会使用一个简单的解析器对jsp文件内容进行预处理,以查找引用其他jsp文件的表情,最明显的是<%@ include file= "..." %> 和 <%@ page errorPage= "..."%>
如果发现这样的标签,目标文件名将会被这个资源在真是文件系统的转换文件名替换。 现在在web应用的目录下我们已经有了一个jsp文件,我们叫他"{file.jsp}" Opencms servlet(它仍然是控制器)现在调用requestDispatcher("{file.jsp}").include(),然后将控制权转交给标准的servlet容器。
然后按上面所述的标准jsp处理步骤进行处理。需要注意的是,在这个过程中,opencms仍然使用Request和Response包装器(Wrappers)来生成FlexCache条目。
opencms是如何管理jsp文件的
在JSP中访问OpenCms特性
如何防止IE缓存jsp文件
- 电子文件如何管理?
如何管理电脑文件
如何使用FTP管理文件
沪江博客 - 洪涛的博客 - 电子文件如何管理?
在struts的资源文件中用中文--JSP中文网
你是如何管理时间的?
国外是如何管理公务用车的
看国外是如何管理公务用车的
。你是如何管理时间的?
国外是如何管理公务用车的?(资料)
如何管理电脑文件--快速查找,备份
JSP頁面標簽的編碼實現(JSP)
如何对电脑里越来越多的文件进行管理,分类最重要
在JSP开发中使用jdom解析临时存放数据的XML文件
文件管理
JSP单页面网站文件管理器
jsp文件开头path, basePath作用
管理故事:羊是如何侵略狼的[2]
管理故事:羊是如何侵略狼的[3]
国外是如何管理公务用车的 听 竹
如何恢复删除的文件