需要下载struts full Distribution的jar包:
struts核心包:
配置web.xml
<!-- 创建Struts2过滤器,转发到struts2处理用户请求 -->
<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>
在src下面配置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的配置文件 -->
<struts>
<package name="helloworld" extends="struts-default">
<!-- 当用户请求hello时,会执行class里面的类的execute()方法 -->
<action name="hello" class="action.HelloWorldAction">
<!-- 当返回的结果是success时跳转到hello.jsp页面 -->
<result name="success">hello.jsp</result>
</action>
</package>
</struts>
创建action包并创建HelloWorldAction.java
package action;
import com.opensymphony.xwork2.Action;
public class HelloWorldAction implements Action {
@Override
public String execute() throws Exception {
System.out.println("调用了Action的默认方法");
return SUCCESS;
}
}
创建hello.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>This is my first page by struts2.</h1>
</body>
</html>
运行结果:
1、浏览器输入:http://localhost:8080/项目名/hello
2、web.xml过滤器把hello请求与struts.xml中的<action>中的name相匹配
3、匹配成功,则执行class里面的类
4、类一定要implements com.opensymphony.xwork2.Action并重写execute();
5、execute()方法return SUCCESS;
6、当result name的结果的是success,则转到hello.jsp这个页面(默认是forword转发)