struts2 之 【struts2简介,struts2开发步骤,struts2详细配置,struts2执行流程】

入门框架学习避免不了的问题:

1. 什么是框架? 简单的说,框架就是模板,模子,模型。就是一个可重用的半成品。

2. 如何学习框架? 学习框架其实就是学习规则,使用框架就是遵循框架的规则,框架是可变的 和 不可变的部分组成,学习框架就需要把 什么可变什么不可变搞清楚。

3. 为什么使用 struts2 框架:聊这个问题先来聊一聊 Web的开发模式, model1 和 model2 模式。

4. model1模式:jsp+javaBean开发。

优点:执行效率高,代码比较少,开发效率比较高。适合小型项目。

缺点:不好维护,扩展麻烦,展示代码和java混合导致整体比较混乱。

model2模式:jsp+servlet+javaBean开发-----MVC        M:model-->javaBean    V:view-->jsp    C:controller-->servlet

优点:分工明确,并且分层合理。降低了耦合,适合大型项目,维护方便,扩展容易。

缺点:开发效率低,执行效率比model1低。

了解完这些,我们再来聊struts2,它就是一个典型的mvc框架。

5. 对于一个mvc框架应该掌握哪些知识:

  (1)将请求映射到一个java类的方法上。

  (2) 如何将页面中的数据提交到java类中。

  (3)如何将处理结果展示到页面。

  (4)如何进行页面跳转

6.struts2介绍:

  (1)Struts2=struts1+webwork。

  (2)在struts2之前就已经有很多mvc框架。当时Strtus1是主流的mvc框架。随着技术发展,struts1不支持新的表示层技术。Strtus1和webwork整合而来struts2。Struts2的核心是webwork,是一个轻量级的mvc框架,是一个基于请求的mvc框架。

  (3)轻量级框架占用资源少,使用方便,不具有侵入性。

  (4)没有侵入性指使用一个框架,不去集成或者实现提供的类或接口。

7. 使用struts2开发程序步骤:

  (1)新建web项目

  (2)添加index.jsp页面

  (3)添加struts需要的jar包

  (4)在web.xml中添加struts2的核心过滤器(具体配置 见下文)

   ( 5)新建一个Action类,该类用于处理请求

  (6)在src下创建struts.xml,进行配置。(具体配置 见下文)

8. struts2的具体配置:

Web.xml 中的配置:

1 <fileter>
2     <fileter-name>struts2</fileter-name>
3    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
4 </fileter>
5 <filter-mapping>
6       <filter-name>struts2</filter-name>
7       <url-pattern>/*</url-pattern>
8 </filter-mapping><!-- 作用:接管请求。将请求交给struts2来处理 --><!-- 注意:不同版本的核心过滤器不一样            2.1以前是org.apache.struts2.dispatcher.FilterDispatcher            2.1以后org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter -->

struts.xml配置文件,该配置文件位于src下,文件名不能被更改。

<struts>
<!--
        constant 常量配置
        struts.devMode 设置是否是开发模式
     -->
    <constant name="struts.devMode" value="true" />
    <!-- 设置编码 -->
    <constant name="struts.i18n.encoding" value="utf-8"/>
    <!-- 设置action的扩展名 -->
    <constant name="struts.action.extension" value="action,,do"/>
    <!--
        package表示一个包每个包下可以配置多个action  包的作用主要用来区分不同模块的配置
        不同模块配置在不同的包下
        name 是包名  在项目下唯一 通常使用模块名做为包名
        extends 表示继承 必须直接或者间接继承struts-default
        namespace 表示命名空间  命名空间和请求名直接相关
        请求名=项目发布路径名+namespace名+action名
        namespace名称通常也和模块名相关
     -->
    <package name="default" extends="struts-default" namespace="/user">
        <!-- action 配置请求名 一个action表示对一个请求的处理
            name在同一个包下唯一 会作为请求名称 该名称会自动将请求的扩展名去掉,所以不用配置扩展名
            class 配置处理请求的类的完全限定名=包名+类名。如果不配置class默认由
            com.opensymphony.xwork2.ActionSupport来处理。
            method 配置处理方法的名称  默认由execute方法处理
            在struts2中处理方法  必须是 public的,返回值必须是String。
         -->
        <action name="hello" class="cn.sxt.action.HelloAction" method="hello">
            <!-- result配置的结果集处理  每个action中可以及配置多个result
                name表示结果集名称 和处理方法的返回值进行匹配 默认是success;
                type表示结果集类型
                    dispatcher 转发-默认
                    redirect 重定向
                    redirectAction 重定向到另外一个action
                    stream 流
                    chain  表示action链
                result中填写要跳转的页面的路径
            -->
            <result name="success" type="dispatcher">/index.jsp</result>
        </action>
    </package>
    <!--
        include用于添加其他配置文件,在团队开发中使用
        不同模块一般使用不同的配置文件,在总的配置文件中加入即可
     -->
    <include file="user.xml"></include>
</struts>

9. struts2的执行流程:

  浏览器发起请求--->服务器接收并处理请求--->项目的web.xml 中匹配过滤器--->匹配是否有对应的Action--->生成对应的Action对象--->调用action对象的处理方法--->返回结果。

详细流程图:

时间: 2024-11-04 09:04:19

struts2 之 【struts2简介,struts2开发步骤,struts2详细配置,struts2执行流程】的相关文章

struts2学习笔记2 -struts2的开发步骤和工作原理

struts2的开发步骤: 1.先定义一个能发送请求的页面,可以是链接,也可以是表单(form) 2.开发action类,struts2对action并没有过多的要求,只要求: a 推荐实现action接口,或继承actionsupport类 b 为每个请求参数都提供feild,并为之提供相应的setter和getter方法 c 该action类应该有无参数构造器 3.配置action类 所有action都需要放在package里配置. <action>元素有如下属性: name 指定该act

Struts2开发步骤

第一步:新建we项目 新建名称为"Struts"的web工程,新建方法:File->New->Web Service Project->Profect Name中输入:Struts->点击Finish按钮完成新建. 第二步:导入架包 (1)在Struts工程的右键菜单上选择"Properties"命令,打开"Properties for Struts2"对话框,在struts2解压后的lib目录中选择如下13个文件:asm

使用Maven搭建Struts2+Spring3+Hibernate4的整合开发环境

做了三年多的JavaEE开发了,在平时的JavaEE开发中,为了能够用最快的速度开发项目,一般都会选择使用Struts2,SpringMVC,Spring,Hibernate,MyBatis这些开源框架来开发项目,而这些框架一般不是单独使用的,经常是Struts2+Spring3+Hibernate.SpringMVC+Spring+Hibernate.SpringMVC+Spring+Mybatis这几种组合中的一种,也就是多个框架配合起来使用.今天来总结一下如何使用Maven搭建Struts

Java EE实用开发指南基于Weblogic+EJB3+Struts2+Hibernate+Spring 目录

http://www.cnblogs.com/lauleoi/p/3864254.html http://www.cnblogs.com/lauleoi/p/3864265.html http://www.cnblogs.com/lauleoi/p/3864267.html http://www.cnblogs.com/lauleoi/p/3864268.html http://www.cnblogs.com/lauleoi/p/3864270.html http://www.cnblogs.c

Struts2下载、安装及开发流程

 一.Struts2下载 登录http://struts.apache.org/download.cgi 下载Struts2最新版 建议下载Full Distribution完整版,该选项包括Struts2的示例应用(apps文件夹).空示例应用.核心库(lib文件夹).源代码和文档(docs文件夹)等,src文件夹包含Struts2框架的全部源代码. 二.Struts2安装 将这几个必须类库复制到Web应用的WEB-INF/lib路径下.如果需要在Web应用中使用Struts2的更多特性,

Struts2下载及简介

Struts2下载及简介 一.Struts2下载: 进入网址:http://struts.apache.org/download.cgi#struts23163 可以下载最新的Struts2. 1.Full Distribution:下载Struts2的完整版.该版包括Struts2的示例应用.空示例应用.核心库.源代码和文档等. 2.Example Application:仅下载Struts2的示例应用,这些示例对学习Struts2有很大用处. 3.Essential Dependencies

Struts2学习笔记--简介 第一个Struts例子

参考资料:http://blog.csdn.net/hntyzgn2010/article/details/5547753 http://chenlh.iteye.com/blog/464341 Struts是开源软件.使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间.如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择. Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进

Android+struts2+JSON方式的手机开发(Login)

在手机的后台服务无论是调用WebService还是Http请求,多数都是采用Android的HttpClient实现相关的调用实现.本文实现Android+Struts2+JSON方式实现为手机前台提供服务. 涉及的知识点: 1.Struts2框架的搭建(包括Struts2的jSON插件) 2.Android前台访问Web采用HttpClient方式. 3.Android采用JSON的解析. 功能:模拟远程登录流程: 手机后台服务:由于采用Struts2的JSON响应格式,响应详细会自动转变为J

【J2EE核心开发学习笔记 003】struts2的搭建及连接数据库实现用户注册与登录

搭建struts2是重点,搭建这个框架有些麻烦,遇到不少的问题,终于一一解决,写在此处,以作备忘. 1.  首先要下载struts2的一些组件,我下载的版本是struts-2.3.28.1,MyEclipse是Version: 2014版本的.由于版本的不断升级,导致在搭建的过程中,和过去相对较旧的版本搭建有了一些差别,不过问题不是很大.这里是下载的struts2的地址:http://struts.apache.org/download.cgi#struts25 2.  解压下载的组件我们可以看