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. Imageview使用记录

    1. imageView清除背景 原文网址:http://blog.csdn.net/lzq1039602600/article/details/40393591 两种清除 imageView的背景 ...

  2. Vim常用配置(~/.vimrc)(转载)

    原文地址:http://www.2cto.com/os/201309/246271.html " This must be first, beacuse it changes other o ...

  3. 在Linux运行期间升级Linux系统(Uboot+kernel+Rootfs)

    版本:v1.2   Crifan Li 摘要 本文主要介绍了如何在嵌入式Linux系统运行的时候,进行升级整个Linux系统,包括uboot,kernel和rootfs.以及简介Linux中的已有的通 ...

  4. BZOJ2038: [2009国家集训队]小Z的袜子(hose) 莫队算法

    要使用莫队算法前提 ,已知[l,r]的答案,要能在logn或者O(1)的时间得到[l+1,r],[l-1,r],[l,r-1],[l,r+1],适用于一类不修改的查询 优美的替代品——分块将n个数分成 ...

  5. 系统虚拟化学习笔记——PCI设备

    内容摘自<系统虚拟化:原理与实现> PCI 总线架构 PCI总线是典型的树结构.把北桥中host-PCI桥看做根,总线中其他PCI-PCI桥,PCI-ISA桥(ISA总线转PCI总线桥)等 ...

  6. CCF 认证

    题意:字符串替换 string+map的应用 #include<iostream> #include<stdio.h> #include<stdlib.h> #in ...

  7. Redhat常见问题

    1.现象:hadoop用户启动startx时失败,报如下提示 Fatal server error: PAM authentication failed, cannot start X server. ...

  8. 宿主进程 vshost.exe

    Hosting Process (vshost.exe) 宿主进程是VS的一个特性.可以提高调试的性能,可以进行部分信任调试(partial trust debugging),可以进行设计时表达式计算 ...

  9. 零基础学习hadoop到上手工作线路指导

    零基础学习hadoop,没有想象的那么困难,也没有想象的那么容易.在刚接触云计算,曾经想过培训,但是培训机构的选择就让我很纠结.所以索性就自己学习了.整个过程整理一下,给大家参考,欢迎讨论,共同学习. ...

  10. android 链接蓝牙不稳定的解决建议

    My workaround I scan BLE for a short period of time 3-4 seconds then I turn scan OFF for 3-4 seconds ...