struts 框架实现的功能属于mvc模式中的controller(控制层),以1.x版本为例,其包含了五大重要组件即Action、ActionServlet、ActionMapping、ActionForward、ActionForm,而这都是一些类,下面就这个版本的配置过程做一个小节。

首先要新建一个Dynamic Web Project 并导入相关的jar 包如何

oidc java框架_struts


并且也要引入 关于struts的配置文件,struts-config.xml文件。在这个文件中就是关于action、form-bean以及global-forward、forward的配置

接下来,就是写相关的formBean及Action,其中Action相当于servlet其实也就是对servlet的封装,而要写一个Action就是要写一个类让它继承Action这个类就是处理表单数据、完成页面跳转的,当然在继承的同时也要重写Action类的execute方法,具体的实现方法如下:

public class MyAction extends Action {

    @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
            HttpServletResponse response) throws Exception {
        //这里处理数据及调用业务逻辑等        
        return mapping.findForward("forword");//页面跳转
    }

}

Action 写完后我们还要写一个formBean,这里就是对表单信息的封装,它要继承自ActionForm类,里面的数据成员要和页面中的表单name字段属性值一样同时要生成setter和getter方法具体的类信息如下

public class FormBean extends ActionForm {
    private String username;
    private String password;
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
}

类写完后就要对这个两个类进行配置了。
在对这两个类进行配置前,我们还要对struts中大的控制器进行配置,因为这个大的控制器就是struts的入口,有点像过虑器。这个大的控制器就是ActionServlet,而我们上面所说的Action就是小的控制是处理具体业务逻辑的,ActionServlet的配置如下:
这个是在web.xml中配置的

<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>
  </servlet>
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>

其实本质上ActionServlet就是一个servlet。在这里需要注意的是param-name的值必须是config,还有就是*.do代表以.do接尾的路径都要调用这个大控制器。
以上步骤完成后就要在struts-config.xml中 对Action和formBean进行配置了。具体的配置如下:

<struts-config> 
    <form-beans>
        <form-bean name="formbean" type="com.ev.bean.FormBean" />
    </form-beans>
    <action-mappings>
        <action path="/login" type="com.ev.action.MyAction" name="formbean" >
            <forward path="/home.jsp" name="forword"></forward>
        </action>
    </action-mappings>
</struts-config>

其中的type属性是引用的类名称,action中的path表示调用该action时所用到的路径,name属性是对它所关联的formBean的引用;forward的 path是要跳转的页面地址;form-bean就对ActionForm进行配置其中的name属性是当和某个Action关联时要用到。
最后就是要在页面中调用了。调用如下

<form action="/teststruts1.3.10/login.do" method="post">
        用户名:<input type="text" name="username" value=""/><br/>
        密码: <input type="password" name="password" value=""/>
        <input type="submit" value="提交" />
    </form>

以上就是大概的配置步骤。