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, ...
随机推荐
- 剑指Offer:找出数组中出现次数超过一半的元素
题目:找出数组中出现次数超过一半的元素 解法:每次删除数组中两个不同的元素,删除后,要查找的那个元素的个数仍然超过删除后的元素总数的一半 #include <stdio.h> int ha ...
- AngularJS with MVC4 CRUD
CRUD using MVC Web API and AngularJS In this article I am going to demonstrate about how can we crea ...
- Parallel for loops in .NET C# z
The start index: this is inclusive, i.e. this will be the first index value in the loop The end inde ...
- Breaking parallel loops in .NET C# using the Stop method z
List<, , , , , , , , , }; Parallel.ForEach(integers, (int item, ParallelLoopState state) => { ...
- selenium IDE & Remote Control & Webdriver
一直忘记写selenium的开始学习的过程,今天趁五一,天气有雨,写下这文章 1.进入selnium官网,了解selenium1,2,grid的区别.下载c#相关的包(使用c#的人非常少) 2.使用I ...
- longblogV1.0——我的静态博客发布系统
longblogV1.0——我的静态博客发布系统 环境依赖: python3-markdown 作者:IT小小龙个人主页:http://long_python.gitcafe.com/电子邮箱:lon ...
- 企业移动互联网O2O微信支付流程图
过去一周里最受关注的应该就是微信了,腾讯合作伙伴大会微信分论坛的火爆现场,没有亲临其境是无法想象的,近3000人报名,2000多人来到现场,试图进入只能容纳300人的会场…… 闲话不表,进入正题吧,本 ...
- Ubuntu 小技巧
一.获得当前文件夹的路径: 在目标文件夹下,按Ctrl+l此文件的路径会被选中 之后Ctrl+c复制.要复制到终端(Terminal),选中终端按鼠标的滚轮就粘贴到了Terminal命令行中了. 二. ...
- php支持rewrite 时创建.htaccess文件
1.win+r 快捷键 运行中输入cmd 2.进入dos界面:输入copy con .htaccess 3.回车后可以输入内容,再次回车即可产生文件
- leetcode@ [263/264] Ugly Numbers & Ugly Number II
https://leetcode.com/problems/ugly-number/ Write a program to check whether a given number is an ugl ...