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, ...
随机推荐
- Jquery拖拽原理
/* onmousedown : 选择元素 onmousemove : 移动元素 onmouseup : 释放元素 */ 查看Demo:拖拽图片 function drag(obj) { obj.on ...
- CSS中的块级元素与行级元素
最近初学CSS时对块级元素与行级元素有时会产生混淆,写篇博客记录一下自己对其的理解. 先从概念上来看: 块级元素 特点:1.每个块级元素都是独自占一行,其后的元素也只能另起一行,并不能两个元素共用一行 ...
- java 多线程下载
import java.io.ByteArrayOutputStream; import java.io.InputStream; public class StreamTool { /** * 把一 ...
- WebDriver 运行模式下使用rc 代码
selenium2 对之前的rc 代码提供了兼容性接口,如果你之前的code 都是用rc 写,而现在又想摆脱要每次启动server,你只需要 略做修改即可.代码如下: public class Tes ...
- as3 工具类分享 CookieMgr
今天分享一个工具类 CookieMgr,功能就是读取和写入 SharedObject 对象.很简单,都是静态方法,就不多说了 package org.polarbear.core { import f ...
- 面向对象(class0420)
测试 交换两个变量的值 int num1 = 5;int num2=6; 通过程序交换让num1 = 6,num2=5; 求两个数的最大值 (求三个数最大值) 求1-100之间所有奇数的和 找胖子,{ ...
- c++11信号量实现
c++11中有 mutex (互斥量),有 condition_variable (条件变量),并没有 semaphore (信号量).信号量,操作系统中一般都有提,后来 google 说可以使用 m ...
- JSFのAjaxタグのoneventでbegin/complete/successを使う
PrimeFacesに慣れてしまって.通常のHTMLタグでの記述方法がわからなかったりする点があった…ので.メモ. Ajaxでリクエスト送信のタイミングやレスポンスが戻るタイミングに何らか(JavaS ...
- algorithm@ O(3/2 n) time to findmaximum and minimum in a array
public static int[] max_min(int[] a){ //res[0] records the minimum value while res[1] records the ma ...
- leetcode@ [322] Coin Change (Dynamic Programming)
https://leetcode.com/problems/coin-change/ You are given coins of different denominations and a tota ...