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.

  1. classes (Controllers and other)
  2. JSP files
  3. Assets (image, js, css and other files)
  4. Spring taglibs (spring-form.tld, spring.tld) *** if any ***
  5. Servlet configuration files (xxxx-servlet.xml)
  6. libs (your application might need more or less)
    1. aopalliance-1.0.jar
    2. ehcache-1.2.3.jar
    3. hibernate-3.2.3.ga.jar
    4. log4j-1.2.17.jar
    5. opencmsspring_c3p0-0.9.1-pre5a.jar
    6. opencmsspring_hibernate3.2.jar
    7. rapid-web.jar
    8. spring-aop-3.0.5.RELEASE.jar
    9. spring-asm-3.0.5.RELEASE.jar
    10. spring-beans-3.0.5.RELEASE.jar
    11. spring-context-3.0.5.RELEASE.jar
    12. spring-context-support-3.0.5.RELEASE.jar
    13. spring-core-3.0.5.RELEASE.jar
    14. spring-expression-3.0.5.RELEASE.jar
    15. spring-jdbc-3.0.5.RELEASE.jar
    16. spring-orm-3.2.3.RELEASE.jar
    17. spring-tx-3.0.5.RELEASE.jar
    18. spring-web-3.0.5.RELEASE.jar
    19. spring-webmvc-3.0.5.RELEASE.jar
  7. web.xml

Steps to deploy Spring MVC application in openCMS.

 
  1. Copy all libs to “opencms.war\WEB-INF\lib” folder.
  2. Copy *.tld, xxxx-servlet.xml, xxxx-service.xml to “opencms.war\WEB-INF” folder.
  3. Create .jar of your classes (only classes nothing else) and copy it to “opencms.war\WEB-INF\lib” folder.
  4. 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.
    1. Open openCMS’s web.xml (opencms.war\WEB-INF\web.xml) for edit.
    2. 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>
    3. 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>
    4. 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>
    5. 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-uri>http://www.opencms.org/taglib/cms</taglib-uri
          <taglib-location>/WEB-INF/opencms.tld</taglib-location
      </taglib>
  5. Now start Tomcat/JBoss.
  6. Open openCMS dashboard (http://localhost:8080/opencms/opencms/system/login/).
  7. Create any site (folder) inside site/default for e.g. “demo1″.
  8. Upload all JSP files under this folder (site/default/demo1).
  9. Now about Assets. Where to put those in openCMS?
    1. For that create Module from Administrator view (with name “com.ipingale.demo.module”).
    2. Add resource folder to that module.
    3. Copy all Assets under that folder.
  10. Touch ups.
    1. Assets links, e.g. css, js, images, etc. referred in JSP. You need to modify them as follows.
      Before:

      <link href="css/style.css" rel="stylesheet" type="text/css" />

      After:

      <link href="<cms:link>/system/modules/com.ipingale.demo.module/resources/css/style.css</cms:link>" rel="stylesheet" type="text/css" />
    2. To support “” you need to add following on the top of each JSP page.
      <%@ taglib prefix="cms" uri="http://www.opencms.org/taglib/cms" %>
    3. Rename all .jsp files to .spg (or anything other than known mime types).

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 OpenCMSSpring-MVC on February 4, 2014.

OpenCMS integration with Spring MVC--reference的更多相关文章

  1. Spring Security(三十六):12. Spring MVC Test Integration

    Spring Security provides comprehensive integration with Spring MVC Test Spring Security提供与Spring MVC ...

  2. 使用MockMvc测试Spring mvc Controller

    概述   对模块进行集成测试时,希望能够通过输入URL对Controller进行测试,如果通过启动服务器,建立http client进行测试,这样会使得测试变得很麻烦,比如,启动速度慢,测试验证不方便 ...

  3. Spring MVC Hello World Example(转)

    Spring 3 You may interest at this Spring 3 MVC hello world example. In Spring MVC web application, i ...

  4. Spring MVC Integration,Spring Security

     http://docs.spring.io/spring-security/site/docs/4.2.0.RELEASE/reference/htmlsingle/#authorize-reque ...

  5. Spring MVC Hibernate MySQL Integration(集成) CRUD Example Tutorial【摘】

    Spring MVC Hibernate MySQL Integration(集成) CRUD Example Tutorial We learned how to integrate Spring ...

  6. 玩转单元测试之Testing Spring MVC Controllers

    玩转单元测试之 Testing Spring MVC Controllers 转载注明出处:http://www.cnblogs.com/wade-xu/p/4311657.html The Spri ...

  7. spring mvc 介绍

    Spring MVC Tutorial tag. * * If you do not want to deal with the intricities of the noscript * secti ...

  8. Spring mvc 4系列教程(一)

    一.Spring框架概览 Spring框架是一种轻量级.一站式解决企业级应用的解决方案.不仅如此,Spring的模块化的特点,可以使你只引用所需要的部分,而无需引用全部.你可以使用控制反转容器(IoC ...

  9. Spring Boot Reference Guide

    Spring Boot Reference Guide Authors Phillip Webb, Dave Syer, Josh Long, Stéphane Nicoll, Rob Winch,  ...

随机推荐

  1. ORACLE SQLloader详细语法

    Oracle   SQL   Loader的详细语法     SQL*LOADER是ORACLE的数据加载工具,通常用来将操作系统文件迁移到ORACLE数据库中.SQL*LOADER是大型数据     ...

  2. MS-SQL索引类型

    一.索引的概念     索引就是加快检索表中数据的方法.数据库的索引类似于书籍的索引.在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所需要的信息.在数据库中,索引也允许数据库程序迅速地找到表中的 ...

  3. [Bhatia.Matrix Analysis.Solutions to Exercises and Problems]ExI.2.6

    If $\sen{A}<1$, then $I-A$ is invertible, and $$\bex (I-A)^{-1}=I+A+A^2+\cdots, \eex$$ aa converg ...

  4. 仿酷狗音乐播放器开发日志三——修复CEditUI的bug2

    无意中发现了CEditUI控件的另一个bug,当我给播放器的搜索栏获取焦点时,这时再改变窗体大小,原本搜索栏应该对应着也改变大小,却发现CEditUI内嵌的edit控件没有跟着改变(如下图),跟着调试 ...

  5. Ajax异步请求-简单模版

    <script type="text/javascript"> window.onload = function () { document.getElementByI ...

  6. <转>SpringMVC与Struts2 比较总结

    原链接:http://blog.csdn.net/chenleixing/article/details/44570681 个人整理: 1.级别不同:SpringMVC :方法  Struts是 类级 ...

  7. STM32之CAN ---CAN ID过滤器分析

      1 前言 在CAN协议里,报文的标识符不代表节点的地址,而是跟报文的内容相关的.因此,发送者以广播的形式把报文发送给所有的接收者.节点在接收报文时,根据标识符(CAN ID)的值决定软件是否需要该 ...

  8. Max Sub-matrix

    Max Sub-matrix 教练找的题目,目前样列过了 题意:找子矩阵的最大周长 思路:先离散每列,再枚举列(n*n),在当前枚举的两列之间求每行的和(n*n*n),但是开两个数组,一个包含两列上的 ...

  9. uvalive 5031 Graph and Queries 名次树+Treap

    题意:给你个点m条边的无向图,每个节点都有一个整数权值.你的任务是执行一系列操作.操作分为3种... 思路:本题一点要逆向来做,正向每次如果删边,复杂度太高.逆向到一定顺序的时候添加一条边更容易.详见 ...

  10. matlab 函数说明—conv2

    conv 是卷积的意思,2表示2维卷积.   conv2的调用形式如下: 1. C = conv2(A,B) 这是最简单的一种调用形式,B作为卷积核在A的范围内滑动,若[ma na] =size(A) ...