一、是什么
开发Web应用的开源MVC框架。
二、Struts体系结构
browser:web容器将对来自HTTP的每个请求创建一个request对象,并用一个response对象作出响应
controller:控制器接收来自浏览器的请求,在struts中,是由一个servlet来充当控制器的角色,struts-config.xml文件配置控制器
model:在struts中,由Action类充当业务逻辑的包装器,ActionForm是程序的状态
view:JSP文件
三、Struts开发流程及配置方法
1、用Eclipse创建一个J2EE Web应用项目
2、下载并解压Struts项目
*从Apache网站下载struts最新版
*将压缩包解压到一个目录,此目录为STRUTS_HOME目录
3、将STRUTS_HOME/lib目录下的所有.jar文件拷贝到刚创建的web项目的WebContent/WEB-INF/lib目录下
4、配置ActionServlet, 修改web项目的web.xml文件,添加如下Servlet映射配置
web.xml配置:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<!-- Standard Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
struts-config.xml中内部配置:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
<form-beans>
<form-bean name="loginForm" type="com.bjpowernode.struts.LoginActionForm"/>
</form-beans>
<action-mappings>
<action path="/login"
type="com.bjpowernode.struts.LoginAction"
name="loginForm"
scope="request"
>
<forward name="success" path="/login_success.jsp" />
<forward name="error" path="/login_error.jsp"/>
</action>
</action-mappings>
</struts-config>
执行流程:
当在浏览器输入URL后,Tomact会根据Web.xml配置,将请求发送相应servlet,然后servlet根据struts-config.xml配置,调用action去处理请求,在此之前,它会将页面表单请
求数据封装到actionForm,并传递给LoginAction。
LoginAction返回一个ActionForward对象,包含了将要转向的路径信息
ActionServlet根据这个ActionForward对象所包含的路径信息,调用相应的页面去执行响应。参考流程图: