第一个Struts2的例子

文档结构

第一个Struts2的例子

lib文件夹

第一个Struts2的例子

struts.xml
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <package name="tutorial" extends="struts-default">
        <action name="HelloWorld" class="tutorial.HelloWorld">
            <result>/HelloWorld.jsp</result>
        </action>
        <!-- Add your actions here -->
    </package>
</struts>

web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
	xmlns="http://java.sun.com/xml/ns/j2ee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
	
	<display-name>Struts2Demo</display-name>
	
	<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>
	
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
	</welcome-file-list>
</web-app>

HelloWorld.java
package tutorial;

import com.opensymphony.xwork2.ActionSupport;

public class HelloWorld extends ActionSupport {

	private static final long serialVersionUID = 1L;
	
	public static final String MESSAGE = "Struts is up and running ...";

    public String execute() throws Exception {
    	System.out.println("in execute");
        setMessage(MESSAGE);
        System.out.println(SUCCESS);
        return SUCCESS;
    }

    private String message;

    public void setMessage(String message){
        this.message = message;
    }

    public String getMessage() {
        return message;
    }
}


使用JUnit进行测试:
HelloWorldTest.java
package tutorial;

import junit.framework.TestCase;

import com.opensymphony.xwork2.ActionSupport;

public class HelloWorldTest extends TestCase {
	public void testHelloWorld() throws Exception {

		HelloWorld hello_world = new HelloWorld();
		String result = hello_world.execute();

		assertTrue("Expected a success result!", ActionSupport.SUCCESS
				.equals(result));

		assertTrue("Expected the default message!", HelloWorld.MESSAGE
				.equals(hello_world.getMessage()));

	}
}


在浏览器中测试:
浏览器中输入URL

页面效果


你可能感兴趣的:(java,apache,xml,struts,JUnit)