在Struts中,承担MVC中Controller角色的是一个Servlet,叫ActionServlet。ActionServlet是一个通用的控制组件。这个控制组件提供了处理所有发送到Struts的HTTP请求的入口点。
web.xml文件中对ActionServlet的配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<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>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
Struts的核心是:ActionSevlet
ActionSevlet的核心是:Struts-config.xml
模型以JavaBean的形式存在。这些bean分为三类:ActionForm、Action、JavaBean 。
ActionForm通常称之为FormBean,用来封装页面的表单信息。(Struts设置)
Action通常称之为ActionBean,做出相关的业务处理。(Struts设置)
JavaBean主要负责数据库操作类或用来装数据的“容器”。(自己设置)
配置struts-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
<struts-config>
<data-sources />
<form-beans >
<form-bean name="loginForm" type="aa.form.LoginForm" />
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings >
<action
input="login.jsp"
name="loginForm"
path="/login"
type="aa.action.LoginAction" />
</action-mappings>
<message-resources parameter="aa.ApplicationResources" />
</struts-config>
Action配置详解
input:指明那个页面发出的请求
name:指明和该Action配合的ActionForm名称
path:Action的名称
type:Action的实现类
ActionMapping 帮助控制器将请求映射到操作
ActionForward 用来指示操作转移的对象
ActionForm配置详解
<form-beans >
<form-bean name="loginForm" type="aa.form.LoginForm" />
</form-beans>
name:ActionForm的名称
type:ActionForm的实现类
<action-mappings >
<action input="login.jsp“ name="loginForm“ path="/login" type="aa.action.LoginAction">
<forward name=“success" path=“success.jsp"/>
</action>
</action-mappings>
在Action的execute方法中,返回return mapping.findForward(“success”);即可转向success.jsp页面。