• [原]Java web学习系列之 Java web开发中的Struts框架结构


    Control层

          Action,这个类通常由用户提供,该控制器负责接收来自ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。  

    Model部分

      由ActionForm和JavaBean组成,其中ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionFrom里面的请求参数处理用户的请求。

      JavaBean则封装了底层的业务逻辑,包括数据库访问等。

    View部分

      该部分采用JSP实现。

      Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。

    添加Struts架包支持:

        图片

    添加完架包就会自动生成一个Struts—config.xml配置文件

    <struts-config>

    //显示模块数据
    <form-beans />
    <global-exceptions />

    //用来指示操作转移的对象
    <global-forwards />

    //帮助控制器将请求映射到操作
    <action-mappings />
    <message-resources parameter="org.clarck.struts.ApplicationResources" />
    </struts-config>

    接着在视图窗中添加action:右键—>新建—>action、form、jsp

    图片

    图片

    图片

    图片

    struts—config会出现对应的配置信息:

    <struts-config>
    <form-beans >
    <form-bean name="loginForm" type="org.clarck.struts.form.LoginForm" />

    </form-beans>

    <global-exceptions />
    <global-forwards /> //属性 描述

    <action-mappings > //映射路径

    <action
    attribute="loginForm" //作用域名称
    input="/login.jsp" // input 输入表单的路径
    name="loginForm" //名称
    path="/login" //Action类的相对路径
    scope="request" //ActionForm bean的作用域(请求或会话)
    type="org.clarck.struts.action.LoginAction"> //连接到本映射的Action类的全称(可有包名)
    <forward name="index" path="/index.jsp" /> //操作类访问ActionForward时所用的逻辑名和响应转发的目标资源的路径
    </action>

    </action-mappings>

    <message-resources parameter="org.clarck.struts.ApplicationResources" />
    </struts-config>

    LoginAction类中的相应操作:

    public class LoginAction extends Action {
    public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) {
    LoginForm loginForm = (LoginForm) form;// TODO Auto-generated method stub
    //获得上下文请求参数
    String name=request.getParameter("username");
    String pwd=request.getParameter("password");
    //转发
    return mapping.findForward("index");
    }
    }

    笔记记于:2010-8-25 13:54

  • 相关阅读:
    【疑难系列】 是程序卡住了还是怎么了?
    【疑难系列】 一个看起来是数据库死锁的问题
    求求别再这么用log4x了
    如何动态在spring mvc中增加bean
    java中被各种XXUtil/XXUtils辅助类恶心到了,推荐这种命名方法
    少搞点语法糖,多写点功能
    记一次在java中的日期parse错误
    《自控力》读后感·一
    实现数据权限控制的一种方法
    10个必会的 PyCharm 技巧
  • 原文地址:https://www.cnblogs.com/tanlon/p/2371370.html
Copyright © 2020-2023  润新知