struts2的配置与第一个测试程序

来源:互联网 发布:大连艺术学院网络平台 编辑:程序博客网 时间:2024/05/22 08:14

前期准备:MyEclipse6.0+Tomcat6.0+struts-2.1.8.1+jdk1.6.0_18+Java EE5.0   在MyEclipse
  下新建web项目struts2;
1、下载struts2后解压,(struts-2.1.8.1),给项目导入struts包:
    commons-logging-1.0.4.jar   freemarker-2.3.15.jar    ognl-2.7.3.jar 
    struts2-core-2.1.8.1.jar   xwork-core-2.1.6.jar    commons-fileupload-1.2.1.jar
    commons-io-1.3.2.jar ; 该包在struts--lib下面,直接拉入项目WEB-INF--lib下即可;

2、配置web.xml文件:
 <?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <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>
</web-app>


3、编写Action类:Struts2.x的动作类需要从com.opensymphony.xwork2.ActionSupport类
     继承。下面是计算两个整数代码和的 Action类,在项目src路径下新建action包,
     包下建FirstAction类   代码如下:
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)
        {
            return "positive";
        } else
        {
            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;
    }
}


4、配置Action类(编写struts.xml文件,该文件保存在项目src路径下) 参考代码:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//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>

-------------测试struts2(实现两个整数的相加,判断结果的正负)-------------

5、在WebRoot下建sum.jsp(入口文件)   参考代码:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
    <head>
        <title>输入操作数</title>
    </head>
    <body>
        求代数和
        <br />
        <s:form action="mystruts/sum.action">
            <s:textfield name="operand1" label="操作数1" />
           
            <s:textfield name="operand2" label="操作数2" />
            <s:submit value="代数和" />
        </s:form>
    </body>
</html>

6、positive.jsp   参考:
 <%@ page language="java" import="java.util.*" pageEncoding="GBK" %>
  <%@ taglib prefix="s" uri="/struts-tags" %>
 <html>
   <head>
   <title>显示代数和</title>
  </head>
  <body>  
   代数和为非负整数<h1><s:property value="sum"/></h1>
  </body>
 </html>


7、negative.jsp  参考:
<%@ page language="java" import="java.util.*" pageEncoding="GBK" %>
  <%@ taglib prefix="s" uri="/struts-tags" %>
 <html>
   <head>
   <title>显示代数和</title>
  </head>
  <body>
   代数和为负整数<h1><s:property value="sum"/></h1>
  </body>
 </html>


------------测试URL: http://localhost:8080/struts2/sum.jsp