Struts2入门级例子

1.     入门级例子

 

根据上述了解,要开发第一个Struts2程序,我们需要完成下面的事项:

 

l           web.xml中增加Filter(过滤器)配置

l           编写Action

l           编写Struts2的配置文件

l           编写JSP

 

引入依赖包

我们的第一个Struts2应用程序,将基于最新的struts2版本:struts2.2.1版本。我们首先创建一个Web应用程序,引入下列依赖包:

 

这些依赖包,可以从Struts2.2.1的解压目录下的apps/struts2-blank-2.2.1.war文件中获得。

 

Commons-fileuploadcommons-io是文件上传必须的依赖包。

Freemarkerstruts2中的HTML相关标签库(taglib)的依赖包

JavassistognlOGNL相关依赖包(OGNLStruts2中的表达式语言,非常核心的依赖包)

Struts2-core就是struts2本身的类库

Xwork-corestruts2非常核心的依赖包,正是它确定了请求处理的基本过程(它原本属于webwork)

 

web.xml中增加过滤器配置

    <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类已经是简单到不能再简单了!

 

public class FirstAction {

    public String hello(){

       //每次调用,都是不同的对象!

       System.out.println("世界,你好"+this);

       return "success";

    }

}

 

增加Struts2的配置文件

类路径的根目录下,添加一个名为struts.xml的文件,内容如下:

 

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC

    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

    "http://struts.apache.org/dtds/struts-2.0.dtd">

 

<struts>

    <package name="test" namespace="/test" extends="struts-default">

       <action

           name="hello"

           class="cn.com.leadfar.struts2.action.FirstAction"

           method="hello"

       >

           <result name="success">/first.jsp</result>

       </action>

    </package>

</struts>

 

 

Package中的name属性是必须的,它可以是随意的一个名称,namespace是用来定义访问ActionURL地址前缀(马上就介绍如何访问这个Action),它必须以“/”开头extends表示本配置是继承另外一个package中的配置信息(struts-defaultstruts2中的默认package)。

 

Action配置中的name是用来定义如何访问Action的;class当然就是对应的action类了;method表示访问action的哪个方法;result定义的是这个action调用的返回值代表的是转向哪里!

 

编写JSP

 

请随意编写一个JSPfirst.jsp,并放置在web应用部署的根目录下。

 

访问Action

请在浏览器地址栏输入:

 

http://localhost:[端口]/[Context Path]/test/hello.action

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章