struts2环境搭建
- 导入jar 网盘下载地址 提取码:vnm1
- 书写action类,这里的action只是简单的打印一条语句,用于测试框架搭建是否成功。
public class HelloAction {
public String hello() {
System.out.println("hello world!");
return "success";
}
}
- 书写struts.xml文件,注意要放在src下,附配置详解。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!-- package:将action配置封装,就是可以在package中配置多个action。可以根据模块来分包
name:给package起个名字,标识作用,包名不能重复
namespace:给action的访问路径中定义一个命名空间,.../hello/HelloAction
extends(必选的):继承一个指定的包
abstract:包是否为抽象的,标识性属性,标识该包不能独立运行,专门被继承
-->
<package name="hello" namespace="/hello" extends="struts-default">
<!-- action:配置action类
name:决定以Action访问资源名
class:actiond的完整类名
method:指定调用Action类中的呢哪个方法来处理请求
-->
<action name="HelloAction" class="cn.itheima.web.action.HelloAction" method="hello">
<!-- result:结果配置
name:标识结果处理的名称,与action方法的返回值对应
type:指定调用哪一个result类来处理结果,默认为转发
标签体:填写页面的相对路径
-->
<result name="success">/hello.jsp</result>
</action>
</package>
</struts>
- 将struts核心过滤器配置到web.xml文件中
<!-- 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>
- 运行测试
访问路径为:http://localhost:8080/struts2_01/hello/HelloAction, /struts2_01为web应用名称不用多说;/hello这个为struts.xml中配置的namespace属性,
<package name="hello" namespace="/hello" extends="struts-default">
这个属性配置为 / 的话就可以不用写,直接接后面的/HelloAction;
/HelloAction,这个为action中的name属性,意思是访问时指定的名字,class和method属性在struts.xml中有详解。
<action name="HelloAction" class="cn.itheima.web.action.HelloAction" method="hello">
运行成功后会跳转到hello.jsp页面,控制台会打印出“hello world!”,这样就说明我们的struts2框架环境搭建完毕了。