Struts简单配置方法
struts.apache.org下载所需包
需要的包
struts2-core-2.0.11.1.jar
xwork-2.0.4.jar
commons-logging-1.0.4.jar
freemarker-2.3.8.jar
ognl-2.6.11.jar
Struts1.x的Web程序的基本步骤
1.安装Struts。由于Struts的入口点是ActionServlet,所以得在web.xml中配置一下这个Servlet。
2.编写Action类(一般从org.apache.struts.action.Action类继承)。
3.编写ActionForm类(一般从org.apache.struts.action.ActionForm类继承),这一步不是必须的,
如果要接收客户端提交的数据,需要执行这一步。
4.在struts-config.xml文件中配置Action和ActionForm。
5.如果要采集用户录入的数据,一般需要编写若干JSP页面,
并通过这些JSP页面中的form将数据提交给Action。
Struts2步骤
1. 安装,Struts1.x入口是servlet而Struts2的入口是Filter
所以在web.xml中配置一个Filter如下:
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-patern>/*</rul-pattern>
</filter-maping>
2. 编写Action类
Struts1.x中的动作类必须从Action类中继承
而Struts2.x的动作类需要从com.opensymphony.xwork2.ActionSupport类中继承代码如下:
package action;
import com.opensysphony.xwork2.ActionSupport;
/**
*
* @author Fly
*
*/
public class FirstAction extends ActionSupport{
private int operand1;
private int operand2;
/**
*
* @return String
* @throws Exception Exception
*/
public String execute() throws Exception {
if (getSum() >= 0) {
return "positive";
} else {
return "negative";
}
}
private int getSum() {
return operand1 + operand2;
}
public int getOperand1() {
return operand1;
}
public void setOperand1(int operand1) {
this.operand1 = operand1;
}
public int getOperand2() {
return operand2;
}
public void setOperand2(int operand2) {
this.operand2 = operand2;
}
}
Struts2的execute方法没有参数返回的是一个String
就是一个标志。
3. ActioForm类的编写
Struts2不需要编写ActionForm类,Action和ActionForm已经二合一了
4. 配置Action类
Struts1.x中的配置文件一般叫struts-config.xml一般放在WEB-INF目录中
Struts2.x中的配置没见一般叫struts.xml放在WEB-INF classes 目录中 配置如下
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEstrutsPUBLIC
"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="struts2" namespace="/mystruts"
extends="struts-default">
<action name="sum"class="action.FirstAction">
<result name="positive">/positive.jsp</result>
<result name="negative">/negative.jsp</result>
</action>
</package>
</struts>
在<struts>标签中可以有多个<package>,
第一个<package>可以指定一个Servlet访问路径(不包括动作名),
如“/mystruts”。extends属性继承一个默认的配置文件“struts-default”,
一般都继承于它,大家可以先不去管它。<action>标签中的name属性表示动作名,
class表示动作类名。
<result>标签的name实际上就是execute方法返回的字符串,如果返回的是“positive”,就跳转到positive.jsp页面,如果是“negative”,就跳转到negative.jsp页面。在<struts>中可以有多个<package>,在<package>中可以有多个<action>。
5.编写用户录入接口(JSP页面)