Structs1基础知识

来源:互联网 发布:苏州大学网络认证服务 编辑:程序博客网 时间:2024/06/04 18:04

MVC设计模式答:1) MODEL: 封装了所有的商业逻辑以及规则。通常被JavaBean或EJB实现。

2) VIEW: 使用商业逻辑处理后的结果并构建呈现给客户端的响应。通常被JSP实现。 3) CONTROLLER:管理和控制所有用户和应用程序间的交互。通常是一个servlet接收用户的请求并把所有的输入转交给实际工作的MODEL。最后调用JSP返回输出。struts: 核心思想是MVC模式 1) 它将逻辑层从表现层以及控制层中清晰地分隔出来,实现组件重用; 2) 它允许使用三层结构,逻辑层和表现层分置于不同的服务器上,可应用不同的安全模式;

3) 它使一个开发团队更加的明确分工,页面设计与商业逻辑开发无缝地结合; 4) 控制器提高了应用程序的灵活性和可配置性.struts工作流程在web应用启动时就会加载并初始化ActionServlet,ActionServlet从struts-config.xml文件中读取配置信息,把它们存放到各种配置对象中.action继承org.apache.struts.action.Action类,实现execute方法.接收到请求:

1.检索和用户请求匹配的ActionMapping实例,如果请求不存在,返回用户请求路径无效的信息.

2.如果ActionForm不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm.

3.根据配置信息决定是否需要表单验证.如果需要验证,调用ActionForm的validate()方法.

4.如果validate()方法返回null或返回一个不包含AcionMessage的ActionErrors对象,就是验证成功.(不成功ActionServlet直接将请求转发给包含用户提交表单的JSP,不再创建Action对象并调用execute()).

5.ActionServlet根据ActionMapping实例包含的映射信息决定将请求转发给哪个Action.如果相应的Action实例不存在,就先创建实例,然后调用Action的execute()方法.

6.execute()方法返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指向的JSP.

7.ActionForward对象指向的JSP生成动态网页,返回给用户.多个业务逻辑在同一个Action当中的实现LookupDispatchAction1.jsp页面<html:form method="post" action="adddelAction.do"><html:submit property="ac"><bean:message key="submit.add"/></html:submit> <html:submit property="ac"><bean:message key="submit.delete"/></html:submit>ApplicationResources_zh.propertiessubmit.add=Addsubmit.delete=Delete2.struts-config.xml<action input="/Adddel.jsp" name="adddelForm" parameter="ac" path="/adddelAction" scope="session" type="strutsdemoapp.AdddelAction" validate="true"> <forward name="method" path="/method.jsp" /> </action>3.java后台public class AdddelAction extends LookupDispatchActionpublic Map getKeyMethodMap() { Map map = new HashMap(); map.put("submit.add", "add"); map.put("submit.delete", "delete"); return map; }public ActionForward add(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {)public ActionForward delete(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {)DispatchAction<action input="/Adddel.jsp" name="adddelForm" parameter="method" path="/adddelAction" scope="session" type="strutsdemoapp.AdddelAction" validate="true"> <forward name="method" path="/method.jsp" /> </action> </action><html:link href="/adddelAction.do?method=add">add</html:link><br><html:link href="/adddelAction.do?method=delete">delete</html:link>

原创粉丝点击