构建支持Ajax的轻量级J2EE框架

2016-02-19 18:47 4 1 收藏

图老师设计创意栏目是一个分享最好最实用的教程的社区,我们拥有最用心的各种教程,今天就给大家分享构建支持Ajax的轻量级J2EE框架的教程,热爱PS的朋友们快点看过来吧!

【 tulaoshi.com - Web开发 】

话说Buffalo是姓中的写的,支持下国产! 来先顶一个。
Buffalo处理Ajax有多牛,嘿嘿 我还真没有正儿八经的整过。惭愧啊,争取在最近好好研究下吧。
Buffalo支持和Spring整合。嘿嘿 这也是一个亮点。亮的有些不自在。为啥?
 
假如你用Spring+Struts+Hibernate来构建的轻量级J2EE框架,Spring和Struts整合有好几种方式,有一种方式不要要论论了。
   plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"
    set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml,/WEB-INF/business-context.xml" /
  /plug-in
  上面的代码还熟悉吧。问题就在这了,Buffalo 支持Spring的是
  context-param
      param-namecontextConfigLocation/param-name
      param-value
           /WEB-INF/applicationContext.xml
      /param-value
 /context-param
 servlet
    servlet-namecontext/servlet-name
    servlet-classorg.springframework.web.context.ContextLoaderServlet/servlet-class
    load-on-startup1/load-on-startup
 /servlet
上面的部分代码是Buffalo支持Spring必须的。
如果Spring和Struts整合用PlugIn方式,也就是Spring来管理Action(管理Action好坏先不说).Buffalo和Spring整合再在Web.xml配置SPring的东东,总感觉怪怪的。
Buffalo获取WebApplicationContext是通过WebApplicationContextUtils.getWebApplicationContext(context);来获取的。
感觉浪费。。。。。。
所以想让Buffalo用Spring放在ServletContext里面的WebApplicationContext(ContextLoaderPlugIn 实现把WebApplicationContext的实例放在了ServletContext中)。
所以就在Buffalo中实现了一个BuffaloPlugIn。代码如下:(写的不规范,凑合看吧)
。。。。
/**
 *
 * @Descripted BBuffalo+Spring+Struts+Hibernate/B
 *             P/P
 * @author meconsea
 * @Company 
 * @IM:   MSN: meconsea@hotmail.com
 *        QQ:  75147664
 *        E-mail: meconsea@163.com
 * @date 2006-11-16
 * @Version 1.0Beta
 */
public class BuffaloPlugIn implements PlugIn {
       
        public static final Logger log = Logger.getLogger(BuffaloPlugIn.class);
       
        public static final String SERVLET_CONTEXT_PREFIX = ContextLoaderPlugIn.class.getName() + ".CONTEXT.";
        public static final String BUFFALO_CONTEXT_PREFIX = BuffaloPlugIn.class.getName()+".CONTEXT.";
       
        private ModuleConfig moduleConfig;
        private ActionServlet actionServlet;
        public void destroy() {
                // TODO Auto-generated method stub

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

        }
       
        protected final String getModuleConfigPrefix(){
                return this.moduleConfig.getPrefix();
        }
        protected final ActionServlet getActionServlet(){
                return this.actionServlet;
        }
       
        public String getServletContextAttributeNameForBuffalo(){
                return BUFFALO_CONTEXT_PREFIX;
        }
        public String getServletContextAttributeNameForSCP(){
                return SERVLET_CONTEXT_PREFIX+getModuleConfigPrefix();
        }

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

        public void init(ActionServlet as, ModuleConfig mc)
                        throws ServletException {
                // TODO Auto-generated method stub
                log.info("BuffaloPlugIn init begin ......");
                this.actionServlet = as;
                this.moduleConfig = mc;
                as.getServletContext().setAttribute(getServletContextAttributeNameForBuffalo(),getServletContextAttributeNameForSCP());
                log.info("init  end ");
        }
}

把Buffalo中的SpringFactory和SpringUtil的获得WebApplicationContext的方式修改如下:
在SpringUtil中增加方法:
/**
         * 获取WebApplicationContext
         * @param context
         * @return
         */
        public static WebApplicationContext getWebApplicationContext(ServletContext context){
                WebApplicationContext wac = null;
                log.info("获取Wac begin......");
               
                if(context == null){
                        log.info("context is null  reutrn null");
                        return null;
                }
                String wacAttrName = (String)context.getAttribute(BuffaloPlugIn.BUFFALO_CONTEXT_PREFIX);
                log.info("wacAttrName == "+wacAttrName);
               
                if(wacAttrName != null){
                        wac = (WebApplicationContext)context.getAttribute(wacAttrName);
                }
               
                if(wac == null){
                        log.info("wac is null , obtain WebApplicationContext by WebApplicationContextUtils again");
                        wac = WebApplicationContextUtils.getWebApplicationContext(context);
                }
                return wac;
        }

....//
WebApplicationContext appCtx = getWebApplicationContext(context);//WebApplicationContextUtils.getWebApplicationContext(context);
好了,修改完毕了。
在Struts-config.xml中增加
plug-in className="net.buffalo.service.spring.BuffaloPlugIn" /
就OK了。Web.xml中只配置
servlet
                servlet-namebfapp/servlet-name
                servlet-classnet.buffalo.web.servlet.ApplicationServlet/servlet-class
  /servlet
就完全支持SPring了。
当然是建立在Spring+Struts构建了轻量级框架的基础上的。

哈哈 不知道我自己能不能看懂。就此搁笔! 闪!!!!!
给自己留的纪念。
 注: Spring2.0 Struts1.3 Hibernate3.0

来源:http://www.tulaoshi.com/n/20160219/1618961.html

延伸阅读
J2EE,作为开发mission-critical的企业级应用的一整套规范的整合平台。其规范之多、内容之广,从而给开发J2EE应用带来了很多“麻烦”。 !-- frame contents -- !-- /frame contents -- 比如,为实现内容的RDBMS存储,我们可能的方法有JDBC、Entity Beans、JDO、O/R Mapping工具(TopLink、Hibernate)、XML-DBMS、JAXB等方法(其中...
1. 安装 可以从以下网址下载一个J2EE(j2sdkee-1_3-beta2-win.exe):http://Java.sun.com/j2ee/j2sdkee-beta/index.Html。也许你已装了旧版的J2EE SDK 产品,假如是,在安装新下载的J2EE之前请先卸载或删掉旧版的J2EE SDK。运行j2sdkee-1_3-beta2-win.exe,按安装步骤安装好J2EE。这里假设你的J2EE安装在:C:j2sdkee1.3 目录下。 ...
Java2企业版为中间件领域思想的统一上发挥了很大的作用。比如,J2EE为分布式事务管理、目录服务和消息服务提供了一套标准的编程接口。J2EE的基础——Java2标准版(J2SE) ,成功地为Java提供了一套访问关系数据库的标准。 但是,就像本文中“J2EE缺乏对编程的支持”提到的一样,J2EE这个平台没有能够提供一个令人满意的应用程序编程模型(applic...
摘要:在这篇文章中,我们将介绍13种J2EE(Java 2平台企业版)的核心技术:JDBC,JNDI,EJBs,RMI,jsp,Java servlets,XML,JMS,Java IDL,JTS,JTA,JavaMail和JAF。为了更好地说明这些技术在实际中的应用,本文将通过BEA System的WebLogic Server来介绍。 Java起初是运用在浏览器和客户计算机上的,当时,很多人都怀疑它是否适合用作...
Borland公司推出JBuilder 7后,引起了很多Java爱好者的关注。本文就是笔者根据自己经验编写的在JBuilder7下配置Weblogic Server7.0。希望通过此文,大家能顺利地搭建一个比较普遍流行的J2EE环境,并学会开发基本的EJB程序。 创建一个Weblogic Server域 本文假设已经正确安装了JBuilder7和Weblogic Server7.0...

经验教程

773

收藏

91
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部