标签:
struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。
strutsstruts可以清晰地区分控制,事务逻辑和外观,从而简化了开发应用程序的过程。struts提供的类使得开发工作更加简单,这些类包括:实现和执行程序事务逻辑的类
自定义的标记库使得创建和验证HTML表单更加容易
文件夹jakarta-struts-1.0.2包含两个目录,lib和webapps。在lib目录中有使用struts创建应用程序是所需的文件。
1 jdbc2_0-stdext.jar 包含JDBC2.0 Optional Package API类。如果我们要使用struts提供的数据资源,就需要将这个文件拷贝到WEB-INF\lib下
2 Struts.jar 包含struts中所有的java类。同样也需要拷贝到WEB-INF\lib下
3 *.tld 标记库描述器文件,描述了多个struts标记库中的自定义标记。同样要拷贝到WEB-INF\lib下
在webapps目录下有如下文件:
1 Struts-blank.war 一个简单的web应用程序
2 Struts-documentation.war 包含struts站点上所有struts文档
3 Struts-example.war Struts很多特性的示范
4 Struts-exercisetaglib.war 主要用于对自定义标签库进行增加而使用的测试页,但也可以示范如何使用struts标记
5 Struts-template.war 包含struts模板标记的介绍和范例
6 Struts-upload.war 一个简单的例子,示范如何使用struts框架上传文件让我们从MVC角度观察struts框架中的组件,框架中三个部分:模型,视窗和控制器。
安装Struts2 这一步对于Struts1.x和Struts2都是必须的,只是安装的方法不同。Struts1的入口点是一 个Servlet,而Struts2的入口点是一个过滤器(Filter)。因此,Struts2要按过滤器的方式配置。
下面是在web.xml中配置Struts2的代码:
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
这一步和Struts1.x也必须进行。只是Struts1.x中的动作类必须从Action类中继承,而Struts2.x的动作类需要从com.opensymphony.xwork2.ActionSupport类继承。下面是计算两个整数代码和的Action类,代码如下:
package action;
import com.opensymphony.xwork2.ActionSupport;
public class FirstAction extends ActionSupport
{
private int operand1;
private int operand2;
public String execute() throws Exception
{
if (getSum()>=0)//如果代码数和是非负整数,跳到positive.jsp页面
{
return "positive";
}
else//如果代码数和是负整数,跳到negative.jsp页面
{ return "negative";
}
}
public int getOperand1()
{
return operand1;
}
public void setOperand1(int operand1)
{
System.out.println(operand1);
this.operand1=operand1;
}
public int getOperand2()
{
return operand2;
}
public void setOperand2(int operand2)
{
System.out.println(operand2);
this.operand2=operand2;
}
public int getSum()
{
return operand1+operand2;//计算两个整数的代码数和
}
}
从上面的代码可以看出,动作类的一个特征就是要覆盖execute方法,只是Struts2的execute方法没有参数了,而Struts1.x的execute方法有四个参数。而且execute方法的返回值也不同的。Struts2只返回一String,用于表述执行结果(就是一个标志)。上面代码的其他部分将在下面讲解。
标签:
原文地址:http://www.cnblogs.com/yangdeiwei/p/4570413.html