范文健康探索娱乐情感热点
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

专业论文基于StrutsSpring的Web应用设计与实现

  摘 要 集成Struts、Spring框架技术构建基于J2EE的Web应用可以提高J2EE项目的可重用性。本文介绍了两种流行的开源框架技术Struts和Spring的原理,并将这两种框架技术整合起来应用到实际的Web项目开发中去,从而提高项目代码的复用性及项目开发的效率。
  关键词 J2EE;Struts;Spring
  1 引言
  基于J2EE的Web应用系统以其层次性、平台无关性逐渐被大多数的公司所认同,已经成为电子商务主要的解决方案。传统的JSP/Servlet开发模式优势在于直接、简单,对于小型应用可以很方便、快速地进行开发。但是这种不加控制的开发模式往往带来显示、业务和数据的高耦合性,软件难以重用。基于J2EE的框架技术是解决上述问题的重要技术,能够有效地支持大型J2EE Web应用项目的开发。本文通过集成Struts和Spring基于J2EE的框架技术提出了一种构建J2EE应用的框架。
  2 Struts框架技术
  The Jakarta Struts项目是由Apache发起的开源项目,是基于MVC分离思想的杰出产品。Struts的Controller是通过Actionservlet对象实现的,这个控制器获得View (JSP)的请求后根据ActionMapping对象调度对应的Model(Action对象)处理业务逻辑,并将获得的处理结果(ActionForward对象)返回给View(JSP)来响应。同时通过ActionForm对象封装数据在Model和View之间交互使用。Struts还通过自定义的标签库丰富了View层的JSP技术,方便了页面设计。
  下面我们就分别从视图、控制、模型和Struts的配置文件struts-config.xml来介绍Struts的体系结构。
  (1)视图。是一组JSP文件,Struts自身包含了一组可扩展的自定义标签库,可以简化创建用户界面的过程。这些JSP文件中没有业务逻辑,也没有信息模型。
  (2)模型。模型主要是表示一个系统的状态和业务逻辑。在Struts中,系统的状态主要由ActiomForm Bean体现,对于业务逻辑通常由JavaBean或EJB组件来实现。
  (3)控制器。控制器主要由ActionServlet类和Action类来实现,ActionServlet类是Struts框架中的核心组件,主要负责接收HTTP请求信息。根据配置文件struts-config.xml的配置信息,把请求转发合适的Action对象。Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程。
  (4)配置文件Struts-config.xml。当ActionServlet接收HTTP请求信息时,如何决定把用户请求转发给哪个Action对象呢?这就需要一些描述用户请求路径和Action映射关系的配置信息。在Struts中,这些配置映射信息都存储在特定的XML文件Struts-config.xml中,在该配置文件中,每一个Action的映射信息都通过一个(action)元素来配置。这些配置信息在系统启动时会被读入内存,供Struts在运行期间使用,在内存中,每一个(action)元素都对应一个ActionMapping类的实例。
  3 Spring框架技术
  Spring的`哲学是在不影响Java对象设计的情况下将Java对象加入到框架中。Spring解决了许多J2EE开发中的常见问题,它不依赖于任何的组件,是一种轻量级的容器,其核心是Bean工厂,用以构造我们所需要的M(Model)。
  Spring框架是一个分层的应用程序开发框架,而不是某一层,如Struts或Hibernate都属于单独某一层的框架。Spring致力于在整个应用程序层面架构程序,使程序的各个层面协调一致,从而发挥最大的效能。Spring能整合现有的优秀单层框架,把它们组成连贯统一的框架。Spring框架的模块化完成的非常好。大体上,存在如图1所示的几个模块。
  其中:
  Spring核心模块:Spring架构中最为基础、重要的模块。它提供了IoC容器,即依赖注入。其中,BeanFactory是最为重要的概念,对理解IoC和ApplicationContext起到了重要作用。
  Spring AOP模块:实现了AOP联盟中定义的AOP编程实现。如提供实现事务管理。用它来提供非管理环境下申明方式的事务、安全等服务。
  Spring Context模块:直接位于Spring的核心模块之上。Spring上下文模块除了继承Spring核心模块的功能外还添加了用于资源绑定、事件移植、资源装载以及装载上下文等功能。这对于Web应用和J2EE应用十分有效。
  Spring Web模块:提供面向Web应用集成的功能。其中ContextLoaderServlet和ContextLoaderListener正是Web模块提供的。当同Tapestry、JSF集成时需要使用到Spring Web模块。
  Spring DAO模块:提供了JDBC抽象层,使得开发者不用再去编写同RDBMS交互、非业务功能的JDBC代码。而且DAO模块还能够分析RDBMS厂商专有的SQL错误代码。同时能够提供编程方式和声明方式控制事务。
  Spring ORM模块:为当前流行的O/R Mapping技术提供集成。借助于Spring框架提供的简单事务声明,开发者能够很容易实现对O/R Mapping中操作的事务控制。
  Spring Web MVC模块:提供MVC实现,清晰的划分了Web应用中涉及到的各项内容。
  4 基于Struts+Spring框架技术的实现
  在项目开发实践中提出了基于Struts+Spring框架的J2EE架构。将这两种框架整合起来用到Web项目开发的不同层。整个架构的结构流程图所示。
  (1)客户端发送一个查询请求,在JSP里提交表单时指定处理表单的path。
  <form name="spQuery" method="post"
  action="{root/create/path} /SPInfoManageAction.do"
  target="bottom" >
  (2)在struts-config.xml文件里根据path配置Action的具体名和路径。
  <action path="/SPInfoManageAction" type="com.mycom.spmanage.spi nfomanage.action.SPInfoManageAction"
  unknown="false"
  validate="true" >
  <forward name="init"
  path="/../views/spmanage/spinfomanage/SPInfoQuery.jsp"
  redirect="false"
  contextRelative="false" />
  <forward name="SPBriefInfo"
  path="/../views/spmanage/spinfomanage/SPBriefInfo.jsp"
  redirect="false"
  contextRelative="false" />
  (3)在Action类里根据JSP页传递回的操作类型operType参数来执行具体的方法,生成业务逻辑对象BO的实例,并调用BO的getSpInfoQueryBrief,返回一个结果集。
  Private ActionForward spInfoQueryBrief (ActionMapping mapping, HttpServletRequest request,
  HttpServletResponse response) throws ActionException{
  //生成BO类的实例
  SPInfoManageBO service =(SPInfoManageBO)getBaseService().getServiceFacade("spInfoManageBO");
  //用getParameter方法获取查询条件
  String spShortName = request.getParameter("spShortName");
  ......
  //指向业务逻辑对象BO类里的方法,返回结果集
  try { coll = service.getSpInfoQueryBrief(mapData);
  } catch (Exception e) {......}
  ......
  //返回参数
  request.setAttribute("spShortName",spShortName);
  ......
  //指向下一步跳转路径
  return mapping.findForward("SPBriefInfo");
  (4)在applicationContext.xml里配置BO的路径以及所调用的数据库对象DAO
  (5)在dataAccessContext.xml文件里配置数据库对象DAO具体路径:
  从而连接到数据库对数据进行增删改查操作。并一步步返回数据到表现层,用JSP+XSL展示,从而完成一个流程的操作。
  5 结束语
  Struts+Spring框架是目前众多软件企业主流的应用技术,也是J2EE未来发展的趋势。Struts作为前台控制框架简化了程序的开发。使得页面展示代码和JAVA代码编写工作有效分工,使项目的可扩展性大大增强,提高了开发效率,降低了维护成本。Spring作为一个应用于所有层面的综合框架,具有强大的应用功能及灵活性,适合作为一些大规模软件项目的底层平台。基于Struts+Spring的Web应用实现了表示层、逻辑层和数据库访问层等多层面分离,使软件在扩展性、复用性和维护性方面上有了很大提高。具有很好的发展前景。
  参考文献
  [1]飞思科技产品研发中心. 精通Spring[J ] . 电子工业出版社,2005.4
  [2]飞思科技产品研发中心. Java Web 服务应用开发详解[J ] . 电子工业出版社,2002
  [3]孙卫琴.精通Struts 基于MVC的Java Web 设计与开发.电子工业出版社, 2005.01
  [4]童春杰. 基于J2EE的分布式体系及应用.计算机应用研究2002.01
  [5]Spring网站:http://springframework.org

创设情境陶冶情操的论文在全日制高级中学英语教学大纲教学目的中要求使学生在学习过程中受到思想品德爱国主义教育和社会主义等方面的教育。这就明确指出高中阶段的英语教学,不仅要传授语言知识培养学生运用语言进行交关于职教教师的教学观念与学生个性发展的论文摘要职业学校有其特殊群体和环境,在教育教学过程中,面对的学生素质各异心态各异,给职业教育教师教学带来了困难。因此,职教教师有必要调整教学观,提高教学质量,并不断提高自身素质,促进学北疆棉田地膜残留回收过程存在的问题及建议论文新疆是我国重要的优质棉生产基地,多年来,棉花种植面积保持在166。67万hm2左右,占全国棉花种植面积的近40,产量则占全国总产量55左右。北疆是新疆重要的早熟陆地棉生产基地,种植施工阶段成本管理论文在工程行业工作的朋友们,大家知道怎么样控制工程的成本吗?以下是小编为大家整理好的施工阶段成本管理论文,欢迎大家阅读参考!摘要本文结合多年工程施工管理经验,对施工单位施工阶段的成本控成本会教学中实践能力培养的探讨论文成本会计是财经类专业的主干课,是一门理论性强并与实际联系较为密切的课程,在教学中应注重培养学生的实践能力。文中首先分析了成本会计课程的特点,然后探讨了目前成本会计课程教学的现状和存阐述企业引入心理健康产品的必要性论文随着现代化社会化一体化程度的不断提高,人们的生活节奏不断加快,自主的创造性的劳动和高级的智力劳动越来越多,生活在这样一个充满了竞争和快节奏的大环境里,要求人们必须具备较高的心理素质高职汽车电工电子基础教学方法论文摘要伴随着汽车方面各项技术的不断突破,汽车行业也在不断发展与进步,对于与汽车相关行业的人员要求越来越高。汽车电工电子技术是高职汽车电子等专业的基础性课程,熟练的掌握好这门学科对于高电工电子的教学方法论文针对中职院校学生的特点,我校在电工电子教学过程中,为深化中等职业教育教学改革,全面推进素质教育,体现做中学,做中教的职业教育教学特色。为以学好基本理论为基础,以技能教学为重点,提高推荐优秀的产品设计美学论文3篇第1篇产品设计美学与经济审美文章首先叙述了产品设计美学及经济审美的必要性,并阐明了其研究意义。分析了当前社会产品设计美学及经济审美的发展及现状,并对未来的发展及期望进行了阐述。1。大学俄语教材编辑理念及方法论文一两套教材在编辑理念和编辑方法上的3个转变1。以语法形式为纲到以语言运用为纲的编辑理念的转变大学俄语基础教程的编辑理念是培养较强的阅读能力,一定的听译能力,初步的写说能力,将听说读油品储运节能减排应用管理论文摘要随着时代的发展,科技的进步,环境污染问题逐渐浮出水面,危害着我们的健康生活。因此节能减排工作对目前来说十分重要,开展节能减排需要一定的工作基础,通过适当的管理工作来实现。而油品
小议农机化对农业可持续发展的促进论文一农机化促进农业可持续发展的途径1解决水资源短缺矛盾水资源匮乏是我国现在面临的一个巨大问题。在我国,干旱与半干旱地区占据全国面积的一半,主要分布在中西部地区,丰富的光热能源拥有巨大激发高中生求知自信心的论文摘要本篇论文从班主任自主培训家长协同管理班主任个别教育学生自主管理等方面采取一系列相应的策略,搭建学生展示自我的平台,引导学生不断体验成功,更好地树立克服困难的勇气,帮助学生走出自现代农业技术需要研究论文1农业科技是推动广东农业农村经济发展的主要力量农业的根本出路在科技创新。农业部副部长张桃林曾撰文指出农业科技创新要立足产业需求推进自主创新立足农民需要推进科技成果转化应用立足现代农肉兔规模的高效养殖技术论文1技术概述肉兔规模养殖是我市肉兔产业发展的。必由之路,肉兔规模高效养殖技术重点描述了肉兔规模场高效养殖八个技术要点,包括推广良种兔人工授精兔舍环境调控全价颗粒饲料全进全出饲养模式程关于多媒体技术的论文关于多媒体技术的论文多媒体技术是运用多种现代手段,对信息进行加工处理,显示与再现,模拟仿真与动画技术的应用,可以使一些在普通条件下无法实现或无法观察到的过程与现象生动而形象地显示出中级工程师的论文要怎么写通过近几年生物工程专业卓越工程师人才培养模式的实施,以及对学生的走访座谈,发现在实施过程中存在许多问题,这也是值得思考的问题。接下来是小编为您整理的中级工程师的论文,希望对您有所帮工程建设管理中级职称论文引导语工程建设一直都是非常受人们所重视的,而相关的工程建设管理中级职称论文要怎么写呢?接下来是小编为你带来收集整理的文章,欢迎阅读!摘要为了提高农村饮用水质量,我国从2005年开始高层住宅低压供配电系统设计论文一高层住宅低压电源配置1。我国的高层住宅按照用电的负荷(1)一类高层住宅包括消防用电负荷值班照明应急照明走廊照明业务和计算机系统电子信息设备机房安防系统排污泵生活水泵航空故障照明客关于音乐教育专业的毕业论文模板导语论文常用来指进行各个学术领域的研究和描述学术研究成果的文章,简称之为论文。它既是探讨问题进行学术研究的一种手段,又是描述学术研究成果进行学术交流的一种工具。以下是小编整理关于音浅谈以基础课教学为突破口,提升大学生的就业能力论文关键词基础课教学就业能力摘要目前我国普通高等学校都开设基础课,基础课教学在专业人才培养中有没有用或有多大用,成了关乎基础课生命力旺盛与否的重要因素。本文从人才招聘单位的需要与大学生船舶工程技术论文船舶是我们生活中重要的运输工具,那么关于船舶工程技术的论文应该怎么写呢?下面是小编分享给大家的船舶工程技术论文,希望对大家有帮助。摘要船舶工业在我国起步的时间比较晚,进些年在经济的