struts1执行流程及环境搭建
2013-08-19 09:40
627 查看
struts是应用在web层的一个MVC框架。主要包含actionServlet、Action、ActionForm、ActionForward、ActionMapping这几个组件和struts-config.xml配置文件。其运行流程如下图:
***的标志的是需要用户自己实现的类。
actionServlet:是struts1的核心控制器。其主要功能是截取url,读取struts-config.xml的配置信息,把表单数据赋值给actionForm。
action:完成业务逻辑,确定要跳转的页面(return mapping.findForward("要返回页面对应的name"))。
actionForm:接收表单数据,并能够自动完成数据类型转换。
actionMapping:根据截取的url映射到相应的action,并且将action和对应的form相关联。
actionForward:封装转发路径
下面搭建一个简单登录的struts实例:
1. 下载struts的jar包,http://struts.apache.org/
2. 引入struts1运行必须的jar包,项目整个目录如下:
3. web.xml中配置ActionServlet入口
4. struts1核心配置文件struts-config.xml
在使用框架之前,没有action,只有servlet,每个servlet的实例是根据url到web.xml中进行匹配的。而现在web.xml中只有一个核心servlet,它控制,那程序怎么知道具体要使用哪个action呢?这就需要在配置文件中进行一一对应了。action标签中的path就是截取到的url,type就是对应的action全路径,name是这个action对应的form。
<form-benas>中可以配置多个form,<action-mappings>中可以配置多个action
5. 定义Form
6. Action实现类
form必须继承ActionForm,action必须继承Action。logon.jsp页面中用户名和密码标签的name属性值必须和form类中set方法后的名字一致(首字母小写)。
这样,一个struts1的运行环境就搭建好了。
以上面的登录为例介绍一下struts1的执行流程:
1. 项目启动后,根据web.xml的配置信息,初始化ActionServlet。
2. ActionServlet初始化时读取struts-config.xml的信息。
3. 客户端发送请求,ActionServlet截取url(截取到logon),根据读取的配置信息,找到logon对应的action的配置。
4.通过action中的name属性得到对应的ActionForm,实例化form,将表单数据赋值给form,并调用form的validate方法进行验证。
5.验证通过后,实例化相应的action,并执行action中指定的方法
6. 根据action中方法的返回值,从配置信息中找到对应的转向信息(jsp页面或者是其他的action方法)。
***的标志的是需要用户自己实现的类。
actionServlet:是struts1的核心控制器。其主要功能是截取url,读取struts-config.xml的配置信息,把表单数据赋值给actionForm。
action:完成业务逻辑,确定要跳转的页面(return mapping.findForward("要返回页面对应的name"))。
actionForm:接收表单数据,并能够自动完成数据类型转换。
actionMapping:根据截取的url映射到相应的action,并且将action和对应的form相关联。
actionForward:封装转发路径
下面搭建一个简单登录的struts实例:
1. 下载struts的jar包,http://struts.apache.org/
2. 引入struts1运行必须的jar包,项目整个目录如下:
3. web.xml中配置ActionServlet入口
<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> <load-on-startup>2</load-on-startup> </servlet>
4. struts1核心配置文件struts-config.xml
在使用框架之前,没有action,只有servlet,每个servlet的实例是根据url到web.xml中进行匹配的。而现在web.xml中只有一个核心servlet,它控制,那程序怎么知道具体要使用哪个action呢?这就需要在配置文件中进行一一对应了。action标签中的path就是截取到的url,type就是对应的action全路径,name是这个action对应的form。
<form-benas>中可以配置多个form,<action-mappings>中可以配置多个action
<struts-config> <form-beans> <form-bean name="logonForm" type="com.tgb.struts1.form.LogonActionForm"></form-bean> </form-beans> <action-mappings> <action path="/logon" type="com.tgb.struts1.LogonAction" name="logonForm" scope="request"> <forward name="success" path="/success.jsp"></forward> <forward name="error" path="/error.jsp"></forward> </action> </action-mappings> </struts-config>
5. 定义Form
public class LogonActionForm 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; } }
6. Action实现类
public class LogonAction extends Action { @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { LogonActionForm logonActionForm =(LogonActionForm)form; String userName =logonActionForm.getUserName(); String passWord =logonActionForm.getPassWord(); return mapping.findForward("success"); } }
form必须继承ActionForm,action必须继承Action。logon.jsp页面中用户名和密码标签的name属性值必须和form类中set方法后的名字一致(首字母小写)。
这样,一个struts1的运行环境就搭建好了。
以上面的登录为例介绍一下struts1的执行流程:
1. 项目启动后,根据web.xml的配置信息,初始化ActionServlet。
2. ActionServlet初始化时读取struts-config.xml的信息。
3. 客户端发送请求,ActionServlet截取url(截取到logon),根据读取的配置信息,找到logon对应的action的配置。
4.通过action中的name属性得到对应的ActionForm,实例化form,将表单数据赋值给form,并调用form的validate方法进行验证。
5.验证通过后,实例化相应的action,并执行action中指定的方法
6. 根据action中方法的返回值,从配置信息中找到对应的转向信息(jsp页面或者是其他的action方法)。
相关文章推荐
- struts1执行流程及环境搭建
- 第28天(就业班) 自定义mvc框架、Struts入门及执行流程、环境搭建
- 自己实现Struts2(一)Struts流程介绍和环境搭建
- struts开发流程,环境搭建,加入jar包的原因分析.
- struts2执行流程及环境搭建
- Struts2.5的的环境搭建及跑通流程
- springMVC执行流程及环境搭建
- Struts2执行流程及环境搭建
- struts2执行流程及环境搭建
- adb环境搭建和monkey操作流程
- struts 环境的搭建
- spring环境搭建以及和struts整合
- CentOS下搭建PHP环境与WordPress博客程序的全流程总结
- Struts2第二篇【开发步骤、执行流程、struts.xml讲解、defalut-struts讲解】
- Struts执行流程和拦截器之美
- Struts 2 Spring Hibernate三大框架的执行流程以及原理
- Eclipse下搭建struts、spring、hibernate开发环境 搭建环境
- struts原理及环境搭建
- Android JNI(NDK)简单学习(环境搭建,创建一个JNI项目的基本流程)