配置一个Struts2.1 程序

       工作上一直没有机会用struts2,于是在业余时间看了下struts2的相关内容,这篇文章主要整理了一个web项目使用struts 2.1的基本步骤。对于希望在短时间内掌握struts2基本用法的朋友或有帮助。

首先第一步,用MyEclipse建立一个Web项目

当你下载了struts2的文件以后,可以找到apps文件夹下的blank项目,并引入以下内容到自己的项目中:

    引入基本的jar包,这些包可以在struts目录下的空项目中找到
    配置一个Struts2.1 程序

    引入struts.xml配置文件,从那个示例空项目中复制黏贴,放在src目录下

    修改web.xml文件,引入struts2.1的核心过滤器

   
  <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>


至此,需要引入项目的东西已经完成。下面开始编写一个最简单的跳转

新建Action,需要说明的是你可以有三种新建Action的方法,这里用的是最常用的继承ActionSupport的方法
public class LotteryAction extends ActionSupport {

	public String testMethod() {
		System.out.println("进来了");
		return "testRS";
	}
}


这个Action里定义了testMethod这个方法,这个名字可以随意取,只要确保返回值是String就可以。返回的字符串,对应于在struts.xml配置文件里面配置的result的name值。

上面已经提到了配置文件,下面就看一下简单的struts.xml的配置:
   <package name="lottery" namespace="/" extends="struts-default" >
    	
       <action name="testLottery" class="com.action.LotteryAction" method="testMethod">
       		<result name="testRS">/index.jsp</result>
       </action>
    </package>


在这里做一些简单说明,package的名字可以随便取,extends默认是继承struts-default,简单使用的时候不需要改。
namespace决定了什么访问路径会被拦截,举个例子如果项目名字叫Project,namespace是"/",action的name是testLottery,那么http://localhost:8080/Project/testLottery就会调用LotteryAction
如果其他条件不变,namespace换成“/lottery”则要通过url http://localhost:8080/Project/lottery/testLottery才能访问到LotteryAction

至于下面的action配置就很清晰了,需要提一下的是,这里是通过配置method属性来指明调用哪个方法的,还有另一种方法是在url里使用
“配置的action的name值+感叹号+方法名”的形式调用某个action的方法
例如:
   http://localhost:8080/Project/testLottery!testMethod
此时,struts.xml里面的action标签可以不配method属性


经过以上这些步骤就能通过Struts2.1实现MVC框架最基本的功能“控制页面的跳转”。

如有时间我会整理更多有关Struts2的内容。




   

你可能感兴趣的:(xml,Web,mvc,struts,MyEclipse)