Struts2.5.10.1是目前为止最新的版本,struts2建议持续跟进,理由大家都懂。好了,下面步入正题。

  基于struts2.5.10.1建立一个HelloWorld,基于注解的哈!

  工具:eclipse neon3,jdk8,tomcat8,windows10(无关紧要)

  需要的jar包:struts2官网下载

  (1)struts-2.5.10.1-min-lib.zip:用到解压后lib文件夹下的所有jar包;

  (2)struts-2.5.10.1-all.zip:struts2-convention-plugin-2.5.10.1.jar(因为要用到注解)。

  eclipse新建一个动态web工程HelloStruts2,拷贝上述中提到的jar包到工程的lib文件加下,然后引入到工程中;配置web.xml

  

  在src下建立一个资源文件夹config,在其下建立struts.xml

  

  在src下建立包com.HelloStruts2.action,然后在action下新建class,HelloWorldAction:

  

  工程的WebContent下新建两个jsp页面,result.jsp和end.jsp两个页面,然后随意输入点内容,具体内容你开心就好。

然后加载到tomcat运行。

  运行后如果浏览器中的路径为:http://localhost:8080/HelloStruts2/,你看到的可能是你不想看到的,但是别慌,后面加上result.jsp或者end.jsp即可看到效果,并且控制台可以看到对应的输出。不加后续路径404的原因是因为web.xml中是这样写的:

  

  不信邪的你,可以把result.jsp或者end.jsp其中一个加到其下再次运行试试看咯。

  下面说下注解(前提是引入struts2-convention-plugin-2.5.10.1.jar,不引入用不了注解,爱引不引):

  Namespace:Namespace注解用于指定Action所在的包的命名空间。该注解只有一个value参数,用于指定ACtion所属于的命名空间。

  当使用Namespace注解时,在为命名空间取名需要使用斜杠(/)开头,例如这样

  

  通俗点:可以理解为“路径的概念”,我这里写“/”,因为懒;

  Result:Result注解用于定义一个Result映射,该注解包含四个参数,

  1)name:可选参数,用于指定Result的逻辑名,默认值为success

  2)location:必选参数,用于指定Result对应资源的URL

  3)type:可选参数,用于指定Result的类型,默认值为NullResult.class

  4)params:可选参数,用于为Result指定要传递的参数,格式为:{key1,value1,key2,value2,...}

  

  Action:Action注解对应于struts.xml文件中的action元素。该注解可用于Action类上,也可用于方法上。这个注解包含一下的几个属性:

  1)value:可选参数,表示Action的名字

  2)results:可选参数,表示Action的多个Result映射。该属性用于定义一组Result映射

  3)interceptorRefs:可选参数,表示Action的多个拦截器。该属性用于定义一组拦截器

  4)params:可选参数,表示传递给Action的参数,格式为{key1,value1,key2,value2,...}

  5)exceptionMappings:可选参数,指定Action的异常处理类,他是一个Exception-Mapping的数组属性

  

  上面讲解的写法和上上面举例的那个写法都没错哦,只是两种方式,我比较倾向于我上上面举例的写法。

  贴下运行结果图:

  

  

  title都是result,别误会,没毛病,只是两个页面的title都是result而已。

  对应的控制台输出:

  

  转载请注明出处,谢谢,未经同意转载方请不要随意加水印,理由:影响阅读。

  

Struts2之2.5.10.1HelloWorld的更多相关文章

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

    做了三年多的JavaEE开发了,在平时的JavaEE开发中,为了能够用最快的速度开发项目,一般都会选择使用Struts2,SpringMVC,Spring,Hibernate,MyBatis这些开源框 ...

  2. 如何运行Struts2官网最新Demo?

    本篇将讲述下如何运行官网当前最新Struts2.5.10.1 版本的Demo. Struts2 官网:http://struts.apache.org/ 0x00 Demo下载 Struts2 官网2 ...

  3. Maven环境下搭建SSH框架之Spring整合Struts2

    © 版权声明:本文为博主原创文章,转载请注明出处 1.搭建环境 Struts2:2.5.10 Spring:4.3.8.RELEASE 注意:其他版本在某些特性的使用上可能稍微存在差别 2.准备工作 ...

  4. Struts2学习二----------访问Servlet API

    © 版权声明:本文为博主原创文章,转载请注明出处 Struts2提供了三种方式去访问Servlet API -ActionContext -实现*Aware接口 -ServletActionConte ...

  5. Struts2学习一----------Struts2的工作原理及HelloWorld简单实现

    © 版权声明:本文为博主原创文章,转载请注明出处 Struts2工作原理 一个请求在Struts2框架中的处理步骤: 1.客户端初始化一个指向Servlet容器(例如Tomcat)的请求 2.这个请求 ...

  6. Maven搭建Struts2+Spring3+Hibernate4框架

    做了三年多的JavaEE开发了,在平时的JavaEE开发中,为了能够用最快的速度开发项目,一般都会选择使用Struts2,SpringMVC,Spring,Hibernate,MyBatis这些开源框 ...

  7. Struts2.0笔记二

    Mvc与servlet 1.1   Servlet的优点 1.  是mvc的基础,其他的框架比如struts1,struts2,webwork都是从servlet基础上发展过来的.所以掌握servle ...

  8. Beetl2.2使用说明书20151201

    李家智<xiandafu@126.com> Table of Contents 1. 什么是Beetl 2. 基本用法 2.1. 从GroupTemplate开始 2.2. 模板基础配置 ...

  9. 常见 jar包详解

        常见 jar包详解 jar包 用途 axis.jar SOAP引擎包 commons-discovery-0.2.jar 用来发现.查找和实现可插入式接口,提供一些一般类实例化.单件的生命周期 ...

随机推荐

  1. Linux中的grep命令

    grep - print lines matching a pattern 参数: -a 将binary文件以text文件的方式查找 -i 忽略大小写 --color=zuto 加颜色匹配字符串 -v ...

  2. 机器学习 - pycharm, pyspark, spark集成篇

    AS WE ALL KNOW,学机器学习的一般都是从python+sklearn开始学,适用于数据量不大的场景(这里就别计较“不大”具体指标是啥了,哈哈) 数据量大了,就需要用到其他技术了,如:spa ...

  3. Android -- 贝塞尔曲线公式的推导

    1,最近看了几个不错的自定义view,发现里面都会涉及到贝塞尔曲线知识,深刻的了解到贝塞尔曲线是进阶自定义view的一座大山,so,今天先和大家来了解了解. 2,贝塞尔曲线作用十分广泛,简单举几个的栗 ...

  4. xlrd的使用详细介绍以及基于Excel数据参数化实例详解

    1.安装xlrd xlrd是python用于读取excel的第三方扩展包,所以在使用xlrd前,需要使用以下命令来安装xlrd.pip install xlrd 在使用这个命令之前先确定自己有没有安装 ...

  5. SVN使用小记

    SVN(Subversion)是优秀的版本控制工具,之前在eclipse里面项目管理的时候,File-->Import-->SVN-->从SVN检出项目-->创建新的资源库位置 ...

  6. Debian 8开启sftp服务

    看到某云的CDN居然是使用ftp这种早该淘汰的协议,不禁有些吐槽.ftp曾经作为互联网上最重要的协议,但漫长使用过程中体现出的各种缺点,已不适合再使用.其中最致命的问题就是明文传输用户密码.建议使用这 ...

  7. 《JavaScript程序设计》第2课:JS类型系统

    JS类型系统可以分为标准类型和对象类型,进一步标准类型又可以分为原始类型和引用类型,而对象类型又可以分为内置对象类型.普通对象类型.自定义对象类型. 1. 标准类型 标准类型共包括了6个分别是:und ...

  8. 在多个Activity中回传值(startActivityForResult())

    业务逻辑: MainActivity打开A,A打开B,B把值传回MainActivity.适用在多个Activity中回传值. 实例:微信中选择国家-->省份-->城市的实现 实现方式分析 ...

  9. Android系统结构

    从上图中可以看出,Android系统架构为四层结构,从上层到下层分别是应用程序层.应用程序框架层.系统运行库层以及Linux内核层,分别介绍如下: (1)Appliacation Android平台不 ...

  10. [USACO11NOV]牛的障碍Cow Steeplechase

    洛谷传送门 题目描述: 给出N平行于坐标轴的线段,要你选出尽量多的线段使得这些线段两两没有交点(顶点也算),横的与横的,竖的与竖的线段之间保证没有交点,输出最多能选出多少条线段. 因为横的与横的,竖的 ...