OpenCMS integration with Spring MVC--reference
ref from:http://blogs.indrajitpingale.com/?p=8
http://blog.shinetech.com/2013/04/09/integrating-springmvc-with-opencms/
It is assumed that you have successfully deploted OpenCMS 8.x on either Tomcat or JBoss (How to deploy OpenCMS on JBoss?). Also, it is assumed that your are hands-on on Spring MVC.
So there are 6 part of Spring MVC application.
- classes (Controllers and other)
- JSP files
- Assets (image, js, css and other files)
- Spring taglibs (spring-form.tld, spring.tld) *** if any ***
- Servlet configuration files (xxxx-servlet.xml)
- libs (your application might need more or less)
- aopalliance-1.0.jar
- ehcache-1.2.3.jar
- hibernate-3.2.3.ga.jar
- log4j-1.2.17.jar
- opencmsspring_c3p0-0.9.1-pre5a.jar
- opencmsspring_hibernate3.2.jar
- rapid-web.jar
- spring-aop-3.0.5.RELEASE.jar
- spring-asm-3.0.5.RELEASE.jar
- spring-beans-3.0.5.RELEASE.jar
- spring-context-3.0.5.RELEASE.jar
- spring-context-support-3.0.5.RELEASE.jar
- spring-core-3.0.5.RELEASE.jar
- spring-expression-3.0.5.RELEASE.jar
- spring-jdbc-3.0.5.RELEASE.jar
- spring-orm-3.2.3.RELEASE.jar
- spring-tx-3.0.5.RELEASE.jar
- spring-web-3.0.5.RELEASE.jar
- spring-webmvc-3.0.5.RELEASE.jar
- web.xml
Steps to deploy Spring MVC application in openCMS.
- Copy all libs to “opencms.war\WEB-INF\lib” folder.
- Copy *.tld, xxxx-servlet.xml, xxxx-service.xml to “opencms.war\WEB-INF” folder.
- Create .jar of your classes (only classes nothing else) and copy it to “opencms.war\WEB-INF\lib” folder.
- Now the tricky part is web.xml, don’t copy it to ”opencms.war\WEB-INF” otherwise it will overwrite openCMS’s web.xml. Follow the following steps.
- Open openCMS’s web.xml (opencms.war\WEB-INF\web.xml) for edit.
- 1st copy following
<!-- Begin: OpenCmsSpring Integration --><context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/OpenCmsSpring-service.xml</param-value></context-param><filter><filter-name>CharacterEncoding</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter><!-- End: OpenCmsSpring Integration -->under following
<context-param><param-name>DefaultWebApplication</param-name><param-value>ROOT</param-value></context-param> - 2nd copy following
<!-- Begin: OpenCmsSpring Integration --><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><servlet><servlet-name>OpenCmsSpring</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><!-- End: OpenCmsSpring Integration -->under following
<listener><listener-class>org.opencms.main.OpenCmsListener</listener-class></listener> - 3rd copy following to redirect spring request to RewriteFilter.
<!-- Begin: OpenCmsSpring Integration --><servlet-mapping><servlet-name>OpenCmsSpring</servlet-name><url-pattern>*.htm</url-pattern></servlet-mapping><filter><filter-name>RewriteFilter</filter-name><filter-class>com.ipingale.filter.RewriteFilter</filter-class></filter><filter-mapping><filter-name>RewriteFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><filter-mapping><filter-name>CharacterEncoding</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- End: OpenCmsSpring Integration -->under following
<servlet-mapping><servlet-name>OpenCmsWebDavServlet</servlet-name><url-pattern>/webdav/*</url-pattern></servlet-mapping> - 4th and last copy following to add support to spring Taglibs
<!-- Begin: Spring Integration --><taglib><taglib-uri>/spring</taglib-uri><taglib-location>/WEB-INF/spring.tld</taglib-location></taglib><taglib><taglib-uri>/form</taglib-uri><taglib-location>/WEB-INF/spring-form.tld</taglib-location></taglib><!-- End: Spring Integration -->under following
<taglib><taglib-location>/WEB-INF/opencms.tld</taglib-location></taglib>
- Now start Tomcat/JBoss.
- Open openCMS dashboard (http://localhost:8080/opencms/opencms/system/login/).
- Create any site (folder) inside site/default for e.g. “demo1″.
- Upload all JSP files under this folder (site/default/demo1).
- Now about Assets. Where to put those in openCMS?
- For that create Module from Administrator view (with name “com.ipingale.demo.module”).
- Add resource folder to that module.
- Copy all Assets under that folder.
- Touch ups.
- Assets links, e.g. css, js, images, etc. referred in JSP. You need to modify them as follows.
Before:<linkhref="css/style.css"rel="stylesheet"type="text/css"/>After:
<linkhref="<cms:link>/system/modules/com.ipingale.demo.module/resources/css/style.css</cms:link>" rel="stylesheet" type="text/css" /> - To support “” you need to add following on the top of each JSP page.
<%@ taglib prefix="cms" uri="http://www.opencms.org/taglib/cms" %> - Rename all .jsp files to .spg (or anything other than known mime types).
- Assets links, e.g. css, js, images, etc. referred in JSP. You need to modify them as follows.
That’s it you are ready now.
Click on your start page (index.spg) and here you go.
You can download working example from below location.
This entry was posted in OpenCMS, Spring-MVC on February 4, 2014.
OpenCMS integration with Spring MVC--reference的更多相关文章
- Spring Security(三十六):12. Spring MVC Test Integration
Spring Security provides comprehensive integration with Spring MVC Test Spring Security提供与Spring MVC ...
- 使用MockMvc测试Spring mvc Controller
概述 对模块进行集成测试时,希望能够通过输入URL对Controller进行测试,如果通过启动服务器,建立http client进行测试,这样会使得测试变得很麻烦,比如,启动速度慢,测试验证不方便 ...
- Spring MVC Hello World Example(转)
Spring 3 You may interest at this Spring 3 MVC hello world example. In Spring MVC web application, i ...
- Spring MVC Integration,Spring Security
http://docs.spring.io/spring-security/site/docs/4.2.0.RELEASE/reference/htmlsingle/#authorize-reque ...
- Spring MVC Hibernate MySQL Integration(集成) CRUD Example Tutorial【摘】
Spring MVC Hibernate MySQL Integration(集成) CRUD Example Tutorial We learned how to integrate Spring ...
- 玩转单元测试之Testing Spring MVC Controllers
玩转单元测试之 Testing Spring MVC Controllers 转载注明出处:http://www.cnblogs.com/wade-xu/p/4311657.html The Spri ...
- spring mvc 介绍
Spring MVC Tutorial tag. * * If you do not want to deal with the intricities of the noscript * secti ...
- Spring mvc 4系列教程(一)
一.Spring框架概览 Spring框架是一种轻量级.一站式解决企业级应用的解决方案.不仅如此,Spring的模块化的特点,可以使你只引用所需要的部分,而无需引用全部.你可以使用控制反转容器(IoC ...
- Spring Boot Reference Guide
Spring Boot Reference Guide Authors Phillip Webb, Dave Syer, Josh Long, Stéphane Nicoll, Rob Winch, ...
随机推荐
- 《深入Java虚拟机学习笔记》- 第10章 栈和局部变量操作
Java栈和局部变量操作 Java虚拟机是基于栈的机器,几乎所有Java虚拟机的指令都与操作数栈相关.栈操作包括把常量压入操作数栈.执行通用的栈操作.在操作数栈和局部变量之间往返传输值. 1常量入栈操 ...
- java 注解(转)
第一部分:了解一下java1.5起默认的三个annotation类型: 一个是@Override:只能用在方法之上的,用来告诉别人这一个方法是改写父类的. 一个是@Deprecated:建 ...
- 书签小助手V1.1发布了
更新信息: 1.修改了部分BUG;2.添加了一些不错的网站:3.重新设计了添加书签和编辑书签的界面. 安装说明: 类Ubuntu系统: 1.安装Python3解释器和Python3-tk sudo a ...
- 解决session失效之后登陆后重新返回之前的页面
在全局拦截器设置保存之前的url存入session中 登陆之后的地址再重session中存 request只用作一次请求 如果页面跳转几次的话原来的url就不存在了建议存在session @Overr ...
- sys.stdout 重定向
通俗的来说,sys.stdout的功能类似与C++里面的文件输出功能fprintf. 接下来直接入正题,让我们来看代码: >>> import sys >>> te ...
- HDU 3289 Cat VS Dog (二分匹配 求 最大独立集)
题意:每个人有喜欢的猫和不喜欢的狗.留下他喜欢的猫他就高心,否则不高心.问最后最多有几个人高心. 思路:二分图求最大匹配 #include<cstdio> #include<cstr ...
- 【转】SQL中Group By的使用
1.概述 2.原始表 3.简单Group By 4.Group By 和 Order By 5.Group By中Select指定的字段限制 6.Group By All 7.Group By与聚合函 ...
- linux文件属性详细说明
1. Linux 文件属性概说: Linux 文件或目录的属性主要包括:文件或目录的节点.种类.权限模式.链接数量.所归属的用户和用户组.最近访问或修改的时间等内容: [root@localhost ...
- c++拼接字符串效率比较(+=、append、stringstream、sprintf)
转自:http://www.cnblogs.com/james6176/p/3222671.html c++拼接字符串效率比较(+=.append.stringstream.sprintf) 最近写的 ...
- 将Sublime Text 2搭建成一个好用的IDE
将Sublime Text 2搭建成一个好用的IDE 说起编辑器,可能大部分人要推荐的是Vim和Emacs,本人用过Vim,功能确实强大,但是不是很习惯,之前一直有朋友推荐SUblime Text 2 ...