`
FansUnion
  • 浏览: 153882 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Struts2应用的开发步骤和运作流程

 
阅读更多
本文第1部分是从书上抄来的,第2部分是自己总结书上的。
1.导入相关jar包。
将Struts2的lib文件夹下的commons-fileupload.jar,commons-io.jar,freemarker.jar,javassist.jar,ognl.jar,struts-core.jar,xwork-core.jar
复制到Web应用的WEB-INF/lib路径下。如果需要在Web应用中使用Struts2的更多特性,则需要将相应的JAR文件复制到Web应用的WEB-INF/lib路径下。
2.在web.xml文件中定义核心Filter来拦截用户请求。
由于Web应用是基于请求/响应架构的应用,所以不管哪个MVC Web框架,都需要在web.xml中配置核心Filter或Servlet,这样才可以让该框架介入Web应用中。
定义Struts2的核心Filter
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
让Struts2的核心Filter拦截所有请求
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3.如果需要以POST方式提交请求,则定义包含表单数据的JSP页面。如果仅仅只是以GET方式发送请求,
则无须经过这一步。
4.定义处理用户请求的Action类。
这一步也是所有MVC框架中必不可少的,因为这个Action就是MVC中的C,也就是控制器。该控制器负责调用Model里的方法来处理请求。
在MVC框架中,控制器实际上由2个部分共同组成,即拦截所有用户请求,处理请求的通用代码都由核心控制器完成,而实际的业务控制(诸如调用Model,返回处理结果等)则由Action处理。
5.配置Action。
对于Java领域的绝大部分MVC框架而言,都非常喜欢使用XML来配置管理。配置Action就是指定哪个请求对应用哪个Action进行处理,从而让核心控制器根据配置来创建合适的Action实例,并调用该Action的业务控制方法。

6.配置处理结果和物理视图资源之间的对应关系。
当Action处理用户请求结束后,通常会返回一个处理结果(通常使用简单的字符串就可以了),我们可以认为该名称是逻辑视图名,这个逻辑视图名和指定物理视图资源关联才有价值。所以,我们还需要配置处理结果之间的对应关系。
7.编写视图资源。
如果Action需要把一些数据传给视图资源,则可以借助OGNL表达式。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
上面介绍的Struts2应用的开发流程实际上是按照请求-响应的流程来开发的。
1.用户通过浏览器发送请求。
2.核心控制器StrutsPrepareAndExecuteFilter拦截用户请求,调用Action的execute方法(也可以是用户定义的其它方法)响应用户请求。
3.XxxAction的execute方法调用业务方法。
4.业务方法返回结果。
5.XxxAction的execute方法返回逻辑视图名。
6.forward(跳转)到物理视图,然后生成响应内容,比如JSP页面。
7.输出响应内容到浏览器,响应用户的请求。
分享到:
评论

相关推荐

    Struts原理、开发及项目实施

    这些技术的出现给电子商务时代的WEB应用开发提供了一个非常有竞争力的选择。怎样把这些技术组合起来,形成一个适应项目需要的稳定架构是项目开发过程中一个非常重要的步骤。 此步骤一般主要由架构设计师完成,...

    J2EE应用开发详解

    第1章 Java Web应用开发简介 1 1.1 Java EE应用概述 1 1.2 Java EE概念 1 1.2.1 Java EE多层模型 1 1.2.2 Java EE体系结构 2 1.3 Java EE的核心API与组件 4 1.4 Web服务器和应用服务器 13 1.5 小结 16 第2章 建立...

    低清版 大型门户网站是这样炼成的.pdf

    2.3.2 struts 2应用基本开发步骤—搭建eportal应用 69 2.3.3 struts 2中集成fckeditor 80 2.3.4 struts 2中集成displaytag 83 2.4 struts 2国际化实现 85 2.4.1 web应用的中文本地化 85 2.4.2 struts 2应用的...

    从J2SE到J2EE知识点介绍

    (一) 基于struts2的web应用的开发步骤 140 1. MVC设计模式() 140 2. 基于struts的web应用的开发步骤 141 3. 如何写自定义action,实体,以及业务类 141 (二) Struts2 153 1. struts2的拦截器定义以及使用 153 2. ...

    Spring面试题

    基于Struts开发的应用由3类组件构成:控制器组件、模型组件、视图组件 8. Struts的validate框架是如何验证的? 在struts配置文件中配置具体的错误提示,再在FormBean中的validate()方法具体调用。 9. 说下Struts...

    基于SpringBoot的公司厨电产品质量管理系统的设计与实现

    然后对系统建设进行了经济效益、技术开发与社会操作等方面的可行性分析,描述了用户角色构成,通过功能用例图描述了系统多层次功能构成,描述了业务流程实施步骤,阐述了系统在性能、安全等方面的非功能性需求。...

    《面向对象编程与设计(Java)》课后作业及参考解答.pdf

    面向过程就是分析出所需要开发的应用的系统在解决某个问题时所需要的步骤和工 作流程,然后用代码(当然应该把这些代码设计为各个函数或者过程)来表示这些步骤 的具体实现——面向过程是以过程为中心的编程思想。...

    Java学习笔记-个人整理的

    \contentsline {chapter}{Contents}{2}{section*.1} {1}Java基础}{17}{chapter.1} {1.1}基本语法}{17}{section.1.1} {1.2}数字表达方式}{17}{section.1.2} {1.3}补码}{19}{section.1.3} {1.3.1}总结}{23}{...

    java面试题

    84.2. 我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串? 106 84.3. 设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。以下程序使用...

    超级有影响力霸气的Java面试题大全文档

     JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要...

    最新Java面试宝典pdf版

    19、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串? 90 20.现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序...

    Java面试宝典2010版

    19、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串? 20.现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,...

    Java面试笔试资料大全

    19、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串? 90 20.现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序...

    JAVA面试宝典2010

    19、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串? 90 20.现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序...

    Java面试宝典-经典

    19、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串? 90 20.现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序...

    java面试题大全(2012版)

    19、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串? 90 20.现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序...

    Java面试宝典2012版

    19、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串? 90 20.现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序...

    java面试宝典2012

    19、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串? 98 20.现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序...

Global site tag (gtag.js) - Google Analytics