第一步:创建web项目
第二步:导入必要的jar包和配置文件
“commons-fileupload-1.2.1.jar”
“freemarker-2.3.15.jar”
“struts2-core-2.1.8.jar”
“xwork-core-2.1.6.jar”
这儿xml配置文件放在src目录下
struts.xml
第三步:配置前端控制器
<!-- 前端控制器 -->
<filter>
<filter-name>struts</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
第四步:业务控制器Action
public class HelloAction {
/**
*
* @return
*/
public String sayHello(){
System.out.println("hello,Action");
return "ok"; //key
}
}
第五步:简单的jsp页面—hello.jsp放在WEB-INF/jsp/hello.jsp
<%@page pageEncoding ="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset = "utf-8"/>
<title>Struts2案例</title>
</head>
<body>
<h1>hello我的第一个strut2</h1>
</body>
</html>
第六步:struts.xml文件的配置
<package name="demo"
namespace="/test"
extends="struts-default">
<action name="hello"
class="com.zxy.web.HelloAction"
method="sayHello">
<result name="ok">
/WEB-INF/jsp/hello.jsp
</result>
</action>
</package>
第七步:测试
http://localhost:8088/项目名/test/hello.action
显示
hello我的第一个struts2.
表示成功
解析:struts配置文件注意事项
可以有多个package,通常我们把每一个模块的配置放到一个package下 package元素是用来封装action元素的;name属性是package元素的引用名;namespace属性是package元素的部署名,它必须以”/”开头,extends是继承,表示当前package继承与struts-default,相当于将struts-default下的所以内容复制到了当前的package下;
可以有多个action元素:每一个action对应一个请求 , name属性是action元素的名称,用来访问action元素的;class是要注册的Action的类名,method是本次请求要调用的方法
每一个action下有多个result元素,每一个result元素对应一个返回值 ,name属性是result元素的访问名,Filter获取返回字符串后,会根据此属性找到匹配的result ;
Action里面:
action处理请求的方法有三点要求,第一方法必须是public,第二必须返回String, 第三没有参数