1.web应用框架,也就是说struts2的运行环境是一个web容器,运行于Web容器中的程序就必须遵循基本开发标准和规范:servlet标准和JSP标准(不同的Web服务器对于servlet标准和JSP的标准是不一样的),对于struts2而言,它支持的Servlet标准最低版本要求是2.4,相对于JSP的最低版本要求是2.0。struts2作为开发框架的运行环境提出了要求,要求其必须运行在JDK1.5版本以上。
2.轻量级,相对于重量级而言,指的是struts2在运行时,对web服务器的资源相对消耗较少,但是运行速度会相对快一些。
二、Struts2项目的开发
1.添加Struts2的依赖库
2.在web.xml配置文件中添加Filter
Struts2的入口点就是一个过滤器,Struts2就需要按过滤器的方式来配置。在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>
3.我们需要一个Jsp页面来显示信息
struts2的标签库,也是框架的一部分,是为了解决页面显示数据,封装简单页面逻辑而产生类似于HTML标记的组件(也可以用jstl来写)。
使用struts2标签,需要在页面添加如下的定义:
<% taglib prefix="s" uri="/struts-tags" %>
页面代码如下所示:
<% taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Hello World!</title>
</head>
<body>
<h2><s:property value="message"/></h2>
</body>
</html>
4.编写我们的action类
为了让用户开发的Action更加规范,Struts2为我们提供了一个Action的接口,是为了使我们的Action处理类更加的规范。
public class IndexAction extends ActionSupport {
//定义一个常量 给HW赋值
public static final String HW="Struts is up and running!";
private String message;
public void setMessage(String message){
this.message=message;
}
public String getmassage(String message){
return message
}
public String execute(){
//给message添加一个字符串
setMassage(HW);
//2.返回的字符串,要跟配置文件一一对应,用于跳转到指定的jsp页面
return "success";
}
}
Struts2还为Action提供了一个实现类:ActionSupport。为了方便实现action一般情况下都会继承ActionSupport类,并重载execute方法。
5.创建struts.xml的配置文件(必须要创建在src的目录下):
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<!-- 第1步:先定义一个包 ( 包名自定义)-->
<package name="mypck" extends="struts-default">
<!-- 第2步:定义一个action,用于配置我们的跳转信息 class对应我们创建的action类(包名.类名)method默认调用的是action类的默认方法execute方法-->
<action name="index" class="ssh.IndexAction" method="execute">
<result name="success">WEB-INF/jsp/HelloWord.jsp</result>
</action></package>
</struts>