转载请注明:http://blog.csdn.net/uniquewonderq
1.在myeclipse中创建一个webProject名为Struts
2.导入Struts核心包。将核心包复制到/WEB-INF/lib下即可。
3.配置前端控制器
struts2使用filter来充当前端控制器,因此在web.xml中配置一个filter即可。
struts2预制了该filter的实现类,名为:
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
指定该filter处理所有请求
代码语言:javascript复制 <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>
4.创建struts.xml
在src下,创建名为struts.xml的配置文件。
---Struts2配置文件默认要放在src下
---Struts2配置文件默认名称为struts.xml
配置struts.xml的版本信息以及DTD引用
代码语言:javascript复制<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
5.编写业务控制层Action
a.创建控制器组件,通常命名为xxxAction,该组件是一个满足javabean规范的类。
b.在Action中定义业务方法,要满足下列条件:
---方法是public的
---返回值为string类型的
---参数列表为空
c.编写业务方法
---方法内编写业务逻辑代码
---返回的字符串与struts.xml->action->result属性匹配,即根据此返回值找到对应的result。
创建名为action的包,并在该包下创建类HelloAction。
代码语言:javascript复制package Action;
public class HelloAction {
public String sayHello(){
System.out.println("Hello,Action");
return "success";
}
}
6.编写jsp页面
创建jsp页面
在页面上显示“hello,struts2”
代码语言:javascript复制<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<h1>hello,Struts2!</h1>
</body>
</html>
7.配置struts.xml
代码语言:javascript复制<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
<struts>
<!--
package:包,用于对action进行封装
-->
<package name="day01" namespace="/demo" extends="struts-default">
<action name="hello" class="action.HelloAction" method="sayHello">
<result name="success">
/hello.jsp
</result>
</action>
</package>
</struts>
8.测试:
部署项目,并启动tomcat,在浏览器中输入:http://localhost:8888/Struts2/demo/hello.action
其中demo对应的是,配置文件中namespace的值,hello对应的是配置文件中的action的名称,“.action”是固定的后缀,可以省略。
运行结果:
控制台输出结果:
Hello,Action