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

struts2 基础知识

阅读更多

struts2 Action是一个pojo类

1,可以实现Action接口

      excute()方法可以不抛出异常

2,可以继承ActionSupport类

 

 

二,struts2的5个配置文件

Web.xml
Struts.xml //主配置文件
Struts.properties //属性文件
Struts-default.xml //struts2的默认配置
Struts-plugin.xml   //Struts2框架的插件配置文件


三,<action>

<result name="success" type="dispatcher">
    <param name="location">/ThankYou.jsp</param>
</result>
 

    1, name属性配置

             1.1 name属性默认不能加斜杠 (因为struts.enable.SlashesInActionNames = false

                           解决办法:struts.enable.SlashesInActionNames=true

             1.2 配置

                           正确格式:<action name="namespace /test1 " class="">

                           错误格式:<action name=" /namespace / test1 " class="">

    2,method属性配置

              2.1 作用:可以静态的调用 访问action方法的某个方法(DMI:动态调用

              2.2 用法:

                            1,action里的方法名和method里配置的一样

                            2,action里的方法名前加do(避免关键字如main

   3,DMI动态配置

              访问action时,在action名称后加上“!add ” (如:<a href="user!add .action ">访问</a>)

   4,Forword Action(跳转action,空action)

             专门用来跳转用的

 

<action name="main">
	<result type="redirect">/main.jsp</result>
	<!--加上type="redirect"可以直接掉到main.jsp上,不加跳转到main.action上-->
</action>
 

   5,默认action

<default-action-ref name="error"/>

<action name="error">
	<result>/error.jsp</result>
</action>

<!--变种-->
<action name="*">
	<result>/error.jsp</result>
</action>
<!-- 
	如果路径中没有通配符,则此Action优先级最高
	如果路径中有通配符,不管是什么通配符,一律按顺序匹配
-->

 

    6,通配符配置(解决action过多)(多个action映射一个请求时,要注意优先级)

          1,基本知识

                * :o-n个字符(不包括“/ ”)

                ** :o-n个字符(包括“/ ”)

                \ :转义符

<action name="*User" class="cn.cstp.org.action.UserAction" method="{1}">
	<result>/{1}UserSuc.jsp</result>
</action>

<action name="*_*" class="cn.cstp.org.action.{1}Action" method="{2}">
	<result>/{0}Suc.jsp</result>
        <!--{0}表示匹配完整的信息(*_*)-->
</action>

<action name="*" class="cn.cstp.org.action.ErrorAction">
	<result>/error.jsp</result>
</action>

<!-- 
	如果路径中没有通配符,则此Action优先级最高
	如果路径中有通配符,不管是什么通配符,一律按顺序匹配
-->
 

 

    7,Zero Configuration-注解配置

          @ParentPackage
          @Namespace
          @Result
          @Results

     struts2.0配置方法

<filter-name>struts</filter-name> 
       <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> 
            <init-param> 
                <param-name>actionPackages</param-name> <!--固定参数名-->
                <param-value>com.struts2.action</param-value><!--所有action所在的包-->
            </init-param> 
 </filter>
 

 


四,<pakeage>namespace(命名空间 )属性配置

        1,运行原理

                 先到指定的命名空间里去找,找不到就到默认的命名空间里去找

                  (所有你随便个什么路径,只要action名称正确就可以访问到)

        2,<pageage name="" extends="" namespace="" > -------建议都给配上

            namespace 不配置是就为默认包  

        3,如何配置:

            正确格式:<pageage name="" extends="" namespace="/namespace " >

                           <pageage name="" extends="" namespace="/ " >跟空间

            错误格式:<pageage name="" extends="" namespace="namespace " >

 

五,<result>

       1,type属性

chain 用来处理Action链 跳转到action上
dispatcher (默认) 用来转向页面,通常处理JSP
freemarker 处理FreeMarker模板
httpheader 控制特殊HTTP行为的结果类型
redirect 重定向到一个URL
redirectAction 重定向到一个Action 跳转到action上
stream

向浏览器发送InputSream对象,通常用来处理文件下载,

还可用于返回AJAX数据

velocity 处理Velocity模板
xslt 处理XML/XLST模板
plainText 显示原始文件内容,例如文件源代码 返回源代码

 

       2,跳转到action上

<action name="" class="">
    <!--服务器跳转(请求转发)-->
    <result name="success" type="chain">
             <param name="actionName">user</param>
             <param name="namespace">/xxx</param>
    </result>
</action>
<action name="" class="">
    <!--客服端跳转跳转(请求跳转)-->
    <result name="success" type="redirectAction">
             <param name="actionName">user</param>
             <param name="namespace">/xxx</param>
    </result>
</action>

      3,全局结果集

<global-results>
	<result name="success">/main.jsp</result>
	<result name="login">/login.jsp</result>
	<result name="input">/login.jsp</result>
</global-results>

     4,动态结果

<action name="" class="">
    <result name="success" type="redirectAction">${nextActionName}</result>
</action>

 

六,异常处理

<!--全局异常-->
<global-results>
	<result name="global-exception">/global-exception.jsp</result>
</global-results>
<global-exception-mappings>
	<exception-mapping result="global-exception" exception="java.lang.Exception"></exception-mapping>
</global-exception-mappings>

<!--局部异常-->
<result name="exception" type="dispatcher">/exception.jsp</result>
<exception-mapping result="exception" exception="java.sql.SQLException"></exception-mapping>
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    struts2基础知识

    Struts2 基础知识 Struts2 是一个基于 MVC 模式的 Java Web 应用程序框架,主要用于构建 Web 应用程序。Struts2 框架提供了一些基本的组件和工具,帮助开发者快速构建 Web 应用程序。 Struts2 框架引入到 Web ...

    Struts2基础知识

    ssh中,Struts2的基础知识,是ssh的基础,教科书,请放心使用。

    Struts2 基础知识

    这篇博文将深入探讨Struts2的基础知识,包括其工作原理、核心组件以及Interceptor(拦截器)的模拟实现。 1. **Struts2 框架概述** Struts2是Apache软件基金会的开源项目,它是Struts1的升级版,解决了Struts1的...

    struts2的基础知识

    Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它在Web开发领域中被广泛使用。...熟练掌握Struts2的基本知识和使用技巧,对于提升Web开发效率和项目质量具有重要意义。

    struts2基本知识

    ### Struts2基础知识点详解 #### 一、Struts2框架概述 Struts2是Apache组织维护的一个开源项目,它是Struts1的升级版本,在设计理念和技术实现上都有了很大的改进。Struts2采用MVC(Model-View-Controller)模式...

    struts2基础.pdf

    ### Struts2基础知识点详解 #### 一、Struts2框架概述 Struts2是由Apache软件基金会维护的一个开源Web应用程序框架,它继承和发展了Struts1和WebWork框架的优点,采用了MVC(Model-View-Controller)设计模式,极...

    Migrating From Struts1 To Struts2

    2. **学习Struts2基础知识**:熟悉Struts2的基本概念、架构设计和核心组件,如Action、配置文件等。 3. **重构Action类**:将Struts1中的ActionForm类重构为Struts2的Action接口实现。需要注意的是,Struts2的Action...

    struts2基础

    ### Struts2基础知识点详解 #### 一、Struts2的工作流程结构 Struts2作为JavaEE架构中的一款流行的MVC框架,其工作流程结构设计精妙,旨在简化Web应用程序的开发过程。以下是对Struts2工作流程的详细解析: 1. **...

    struts2的基础知识及例子大全

    ### Struts2的基础知识及例子大全 #### 一、Struts2概述 **Struts2** 是一个基于 **MVC** (Model-View-Controller)设计模式的Java Web应用程序框架,它是由Apache软件基金会维护的一个开源项目。Struts2不仅继承...

    struts2基础jar包

    Struts2是一个基于MVC(Model-View-Controller)设计模式的开源JavaEE框架,它主要用来...以上就是关于“struts2基础jar包”所包含的主要知识点。掌握这些内容,将有助于理解并有效地利用Struts2框架开发Java Web应用。

    Struts2基础教程

    本教程将介绍Struts2的基础知识,适合初学者入门。Struts2是在Webwork的基础上构建的,与它的前辈Struts1.x相比,虽然在大版本号上相同,但在配置和使用上有显著区别。 在开始之前,确保你有以下环境: 1. 开发工具...

    Struts2基础应用二

    这篇“Struts2基础应用二”着重介绍Struts2的核心概念、配置以及在实际项目中的应用。 首先,Struts2是一个基于MVC设计模式的开源框架,它继承了Struts1的优点并解决了其存在的问题,如性能和灵活性。在Struts2中,...

    Struts2.0基础知识培训

    — Web应用的发展 — Model 1和Model 2 — MVC思想 — MVC模式的优势 — 常用MVC框架及其特征 — Struts 1的基本结构及其存在的问题 — WebWork的基本结构 — Struts 2的起源 ...— Struts 1和Struts 2的对比

    struts2笔记.doc

    ### Struts2基础知识详解 #### 一、Struts2简介与环境搭建 **Struts2**是Apache组织下的一个开源框架,它继承了Struts1的设计理念,但在很多方面进行了改进,提供了更丰富的功能和更好的灵活性。Struts2基于MVC...

    struts2权威指南前三章

    在"Struts2权威指南前三章"中,我们可以预见到内容将涵盖Struts2的基础知识、安装配置以及核心概念。 首先,第一章可能会介绍Struts2框架的历史背景和它在Java EE应用中的地位。Struts2是Struts1的升级版,解决了...

    struts2课堂笔记

    ### Struts2基础知识与实践 #### 一、为什么学习Struts2 - **提升编码效率**:Struts2提供了一套标准的MVC框架结构,能够帮助开发者快速地实现业务逻辑与视图分离,减少重复代码,从而提高开发效率。 - **框架特性...

    struts2笔记(修改版)

    ### Struts2基础知识详解 #### 一、Struts2简介 **Struts2** 是一个基于 **MVC**(Model-View-Controller)设计模式的Java Web应用框架,旨在简化Web应用程序的开发流程。它继承了 **Struts1** 的设计理念,但在...

Global site tag (gtag.js) - Google Analytics