zoukankan      html  css  js  c++  java
  • 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.

     

    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.warWEB-INFlib” folder.
    2. Copy *.tld, xxxx-servlet.xml, xxxx-service.xml to “opencms.warWEB-INF” folder.
    3. Create .jar of your classes (only classes nothing else) and copy it to “opencms.warWEB-INFlib” folder.
    4. Now the tricky part is web.xml, don’t copy it to ”opencms.warWEB-INF” otherwise it will overwrite openCMS’s web.xml. Follow the following steps.
      1. Open openCMS’s web.xml (opencms.warWEB-INFweb.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.

  • 相关阅读:
    [转]Greenplum的工作负载及资源管理
    [转]Tomcat中的Session小结
    [转]Class.forName()的作用与使用总结
    [转]如何在 Git 里撤销(几乎)任何操作
    [转]session和cookie的区别和联系,session的生命周期,多个服务部署时session管理
    piwik获取访客头像,自定义显示访问者头像(URL)和描述(标题和替代)
    php解析url并得到url中的参数及获取url参数
    php结合phantomjs实现网页截屏、抓取js渲染的页面
    利用PhantomJS进行网页截屏,完美解决截取高度的问题
    多线程编程
  • 原文地址:https://www.cnblogs.com/davidwang456/p/3663357.html
Copyright © 2011-2022 走看看