Struts2环境配置
  1. 进口Struts2的需要jar包
  2. 在WEB-INF/classes(src)文件夹下创建struts.xml文件
  3. 在web.xml文件里加入Struts过滤器信息
经常使用配置文件
  1. struts.xml:用于存放Action映射关系、设置Struts配置信息
  2. web.xml:用于配置容器的Struts过滤器,一般配置例如以下:
    <filter>
    <filter-name>struts2</filter-name>
    <filter-class>
    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
    </filter-class>
    </filter>
    <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
  3. struts-default.xml:Struts2的默认配置信息,一般不建议改动
  4. default.properties:Struts2的默认设置信息。相同不建议改动

Action


Struts2的核心功能,一般由两部分组成:struts.xml的Action映射和使用Java编写的Action实体类。在struts.xml中通常使用<action>、<result>、<package>等一系列标签完毕Action的映射,它们的属性分别有:
  1. package

    属性

    是否必须

    描写叙述

    name

    包名。作为其他包应用本包的标记

    extends

    设置本包继承其他包

    namespace

    设置包的命名空间

    abstact

    设置为抽象包

  2. action

    属性

    是否必须

    描写叙述

    name

    请求的Action名称

    class

    Action处理类相应详细路径

    method

    指定Action中的方法名

    converter

    指定Action使用的类型转换器

  3. result

    属性

    是否必须

    描写叙述

    name

    Action返回视图名称。默觉得success

    type

    返回结果类型,默觉得dispatcher

一个简单地Action映射能够写成:

<package name="admin" extends="struts-default">
<action name="welcome" class="struts.action.WelcomeAction">
<result>/welcome.jsp</result>
</action>
</package>

Action实体类须要继承ActionSupport类而且重写他的execute的方法(或者其它的方法,无參返回String类型而且与action标签中method属性相应就可以)。而且返回与result标签name属性相应的字符串。与上面配置相应的实体类为:
public class WelcomeAction extends ActionSupport {
public String execute() {
return SUCCESS;
}
}

动态方法调用(DMI)

一个Action中仅能配置一个method在实际应用中十分不方便,Struts2支持在url中指定调用Action类的不同方法。格式为"Action名!方法名"。

在使用此功能前须要在struts.xml中加入例如以下代码开启DMI:

<constant name="struts.enable.DynamicMethodInvocation" value="true"/>

之后在Action类中加入返回值为String类型的相应方法就可以轻松调用。


通配符(wildcard)

Struts2支持通配符操作。使得在须要配置大量action时通过约定格式降低工作量。它的使用方法是使用"*"取代easy变换的单词,然后用{n}取出。n代表第n个通配符。比如一个程序须要有4个Action。名称分别为DogAction、CatAction、BirdAction和FishAction。

假设依照之前的方法则须要配置4个action映射关系。可是使用通配符后仅仅须要以下一个action就可以:

<action name="buy*" class="struts.action.{1}Action">
<result>/pay.jsp</result>
</action>

通配符的作用域很广,通过action的name能够改变method、class和result的结果等。常常使用能够节约很多时间。可是须要事先良好的一致性格公式。


版权声明:本文博客原创文章,博客,未经同意,不得转载。

[Java Web]Struts2加起来(一个)的更多相关文章

  1. JAVA Web.xml 加载顺序

    web.xml加载过程(步骤): 1.启动WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: <listener></listener> ...

  2. Java web.xml加载顺序

     web.xml加载过程(步骤): 1.启动WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点:   <listener></listener&g ...

  3. [Java Web]Struts2解决中文乱码问题

    1.设置struts的字符编码,能够在struts.xml中添加下面代码: <constant name="struts.i18n.encoding" value=" ...

  4. java web项目初始化启动一个java方法

    项目中需要一些初始化数据,或者加载中断的任务. 首先在web.xml中配置信息,配置在<web-app>中: <servlet> <servlet-name>Ini ...

  5. 一个完整Java Web项目背后的密码

    前言 最近自己做了几个Java Web项目,有公司的商业项目,也有个人做着玩的小项目,写篇文章记录总结一下收获,列举出在做项目的整个过程中,所需要用到的技能和知识点,带给还没有真正接触过完整Java ...

  6. 做一个完整的Java Web项目需要掌握的技能[转]

    转自:http://blog.csdn.net/JasonLiuLJX/article/details/51494048 最近自己做了几个Java Web项目,有公司的商业项目,也有个人做着玩的小项目 ...

  7. 做一个完整的Java Web项目需要掌握的技能

    最近自己做了几个JavaWeb项目,有公司的商业项目,也有个人做着玩的小项目,写篇文章记录总结一下收获,列举出在做项目的整个过程中,所需要用到的技能和知识点,带给还没有真正接触过完整Java Web项 ...

  8. Java Web项目实战第1篇之环境搭建

    写在前面的话 从今天开始一个Java Web实战项目,参考自 http://blog.csdn.net/eson_15/article/details/51277324 这个博客(非常感谢博主的分享精 ...

  9. JAVA web 框架集合

    “框架”犹如滔滔江水连绵不绝, 知道有它就好,先掌握自己工作和主流的框架: 在研究好用和新框架. 主流框架教程分享在Java帮帮-免费资源网 其他教程需要时间制作,会陆续分享!!! 152款框架,你还 ...

随机推荐

  1. Jquery 对话框确认

    $("#aa").click(function(){ if(confirm("是否继续")){ $(#aa).fadeOut(500); } })

  2. ecshop 全目录说明

    ECShop 2.5.1 的结构图及各文件相应功能介绍     ECShop2.5.1_Beta upload 的目录           ┣ activity.php 活动列表           ...

  3. hdu4734(数位dp)

    hdu4734 给定 a和b, 问区间[0,b]内有多少个数字的f(i) <=f(a) dp[i][s] 表示i位的数字的f<=s 所以比如如果第i+1位选择数字5之后, 那么只要剩下的i ...

  4. 运行一个android程序,直接访问某个网站

    package android.com.youtube; import android.app.Activity; import android.content.Intent; import andr ...

  5. iOS 购物—个人中心界面

    上一个QQ界面真实无心插柳,想不到一个新手的普通界面可以上首页推荐,在这谢谢那些csdn工作者对新手的支持,谢谢soledadzz  的特别推荐: 以下这个界面也是师傅锻炼我的题目主要是让我熟悉tab ...

  6. cocos2d-x3.0 相对布局(一)

    2dx相对布局和Android非常类似.假设前完成Android它应该是easy入门. Size widgetSize = Director::getInstance()->getWinSize ...

  7. 从字节码层面看“HelloWorld” (转)

    一.HelloWorld 字节码生成 众所周知,Java 程序是在 JVM 上运行的,不过 JVM 运行的其实不是 Java 语言本身,而是 Java 程序编译成的字节码文件.可能一开始 JVM 是为 ...

  8. ZeroBrane Studio远程调试Lua程序(转)

    环境: ZeroBrane Studio安装在Windows 7上,而要调试的程序运行在CentOS上: 设置: 在windows 7上,打开ZeroBrane Studio,打开需要调试的文件,例如 ...

  9. C#高性能TCP服务

    C#高性能TCP服务 哎~~ 想想大部分园友应该对 "高性能" 字样更感兴趣,为了吸引眼球所以标题中一定要突出,其实我更喜欢的标题是<猴赛雷,C#编写TCP服务的花样姿势!& ...

  10. WPF 3D:使用变换中的TranslateTransform3D

    原文:WPF 3D:使用变换中的TranslateTransform3D 程序效果: WPF 3D中的TranslateTransform3D应该是所有3D变换中最简单的变换,使用起来非常简单,先定义 ...