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-fileupload和commons-io是文件上传必须的依赖包。
Freemarker是struts2中的HTML相关标签库(taglib)的依赖包
Javassist和ognl是OGNL相关依赖包(OGNL是Struts2中的表达式语言,非常核心的依赖包)
Struts2-core就是struts2本身的类库
Xwork-core是struts2非常核心的依赖包,正是它确定了请求处理的基本过程(它原本属于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是用来定义访问Action的URL地址前缀(马上就介绍如何访问这个Action),它必须以“/”开头;extends表示本配置是继承另外一个package中的配置信息(struts-default是struts2中的默认package)。
Action配置中的name是用来定义如何访问Action的;class当然就是对应的action类了;method表示访问action的哪个方法;result定义的是这个action调用的返回值代表的是转向哪里!
编写JSP
请随意编写一个JSP:first.jsp,并放置在web应用部署的根目录下。
访问Action
请在浏览器地址栏输入:
http://localhost:[端口]/[Context Path]/test/hello.action |