`
java_hanyu
  • 浏览: 71365 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

struts学习笔记(一)

阅读更多
StrutsMVC框架

web应用的分层
交互层,表现数据,收集数据,也就是视图层,接受请求,通过处理层完成相应的响应。(V,C)
处理层,完成数据的处理,也就是业务层(M)。

MVC设计模式(应用观察者模式的框架模式)
M model,模型,操作数据的业务处理层。
V view,示图,采集和显示数据,为业务层提供数据,表现业务层输出的数据,只关心数据的类型,不管新数据的来源。
C ctrl,控制器,也就是视图层和模型层桥梁,控制数据的流向,接受视图层发出的事件,并重绘视图。

MVC框架的实现模型

模型一:
JSP+JavaBean,JSP既充当控制,又充当视图,以页面为核心,JSP使用jsp:useBean,他不能够实现不同的页面,显示不同的数据,需要借助于中间类来调用JavaBean的方法才能实现。

模型二:
JSP+Servlet+JavaBean,以控制为核心,JSP只负责显示和收集数据,sevlet,连接视图和模型,将视图层数据,发送给模型层,JavaBean,分为业务类和数据实体,业务类处理业务数据,数据实体,承载数据,基本上大多数的项目都是使用这种MVC的实现模式。

StrutsMVC框架

Struts是使用MVC的实现模式二来实现的,也就是以控制器为核心。

Struts提供了一些组件使用MVC开发应用程序:
Model:Struts没有提供model类。这个商业逻辑必须由Web应用程序的开发者以JavaBean或EJB的形式提供

View:Struts提供了action form创建form bean, 用于在controller和view间传输数据。
此外,Struts提供了自定义JSP标签库,辅助开发者用JSP创建交互式的以表单为基础的应用程序,
应用程序资源文件保留了一些文本常量和错误消息,可转变为其它语言,可用于JSP中。

Controller:Struts提供了一个核心的控制器ActionServlet,通过这个核心的控制器来调用其他用户注册
了的自定义的控制器Action,自定义Action需要符合Struts的自定义Action规范,
还需要在struts-config.xml的特定配置文件中进行配置,接收JSP输入字段形成Action form,然后调用一个Action控制器。
Action控制器中提供了model的逻辑接口。

写一个基于Struts的web应用

1,创建一个符合标准的web应用的结构,也就是一个有WEB-INF文件夹的应用文件夹,在应用中需要使用到Struts的一些jar文件,
要放到WEB-INF的lib文件夹下,这些jar文件都在struts的zip文件中的/struts-1.2.9-bin/lib下
还有struts-1.2.9-bin/contrib/struts-el/lib下的standard.jar、jstl.jar和struts-el.jar。
2,在web.xml中配置Struts的核心控制器ActionServlet,并指明Struts的配置文件的所在位置WEB-INF下,
在struts的文件中有一个样板的web.xml文件,使用这个web.xml文件来部署应用就可以了 ,
这个样板在struts的zip文件中的struts-1.2.9-src.zip文件中的web/examples/WEB-INF/web.xml就是样板文件。
部署应用看struts是否发布成功。
<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>
   
3,写jsp页面和业务,实体,和自定义控制器类Action,自定义Action是要继承于Action类
例:
import org.apache.struts.action.*;
import javax.servlet.http.*;

public class LoginAction extends Action{
public ActionForward execute(ActionMapping mapping, ActionForm form,
                   HttpServletRequest request,HttpServletResponse response) throws Exception
        {
        if(request.getParameter("username").equals("admin")&&
                              request.getParameter("passwd").equals("123")){
    return mapping.findForward("success");
    }
    return mapping.findForward("fail");
    }
}

在struts-config.xml文件中的配置,解析配置文件中,配置文件的action标签就会被映射成ActionMapping对象。

<struts-config>
  <form-beans>
     <form-bean name="xxx" type="ActionForm的类全名">
     <form-bean name="LoginForm" type="basic.LoginForm">
  </form-beans>
  <action-mappings>
     <action path="/basic/login"  type="alan.struts.basic.LoginAction"
                                  name="xxx" scope="request|sessio(默认值)">
        <forward name="success" path="/basic/success.jsp"/>
        <forward name="fail" path="/basic/fail.jsp" redirect="false"(重定向,默认false)/>
      </action>
    <action path="action的路径,在form的action中写的那个路径" type="action的类全名">
      <forward name="在自定义的Action中使用的findForward方法的参数" path="跳转页面的路径"/>
      <forward name="xxx" path="xxx/xxx.jsp"/>
    </action>
  </action-mappings>
</struts-config>

ActionForm是可以自动将表单中的数据封装成对象,当然,一个自定义ActionForm也是要遵守Struts规范的,
也就是要继承于ActionForm,并在以上的struts-config.xml进行配置。

ServletController(ActionServlet和自定义的Action),配置Ctrler需要配置struts-config.xml,
通过客户端form的action来查找调用相应的action,自定义action中的mapping对应的是配置文件中的forward标签,
通过forward的path属性来跳转到相应的路径。

基于struts的web应用的开发步骤
1,对应用环境进行配置
2,创建web应用的结构,需要将struts应用的jar文件进行部署。
3,在web服务器部署struts
4,配置struts-config.xml文件,配置Actoin
5,写自定义Action,实体,以及业务类
分享到:
评论

相关推荐

    struts学习笔记

    Struts2 学习笔记-part2: 实现用户登录功能 在上一部分中,我们了解了构建一个基于Struts2的Java Web项目所需的基本库和配置文件。现在,我们将逐步实现一个简单的用户登录功能。 一、创建Action类 在Struts2框架...

    struts2 学习重点笔记

    ### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...

    struts2学习笔记(完美总结)——转自OPEN经验库

    Struts2是一个强大的Java web应用程序开发框架,它遵循Model-View-Controller (MVC)设计模式,用于构建可维护性和可扩展性高的企业级应用。本文将深入探讨Struts2的核心概念,包括Action、Result、配置文件、OGNL与...

    Struts2学习笔记

    根据给定的文件信息,以下是对Struts2学习笔记中涉及的关键知识点的详细解析: ### Struts2框架概览 #### MVC模式的理解与演进 Struts2是基于MVC(Model-View-Controller)模式设计的一种Java Web开发框架。在MVC...

    struts2学习笔记总结

    本笔记将全面总结Struts2的核心概念、主要功能以及实际开发中的应用。 一、Struts2概述 Struts2是Apache软件基金会下的一个开源项目,它继承了Struts1的优点并解决了其存在的问题,如性能和灵活性。Struts2的核心是...

    struts2学习笔记黑马程序员

    ### Struts2学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...

    struts2四天的学习笔记

    13. ** strut2四天笔记**:这份学习笔记可能涵盖了以上所有知识点,包括如何创建Action,配置struts.xml,使用OGNL表达式,处理异常,以及实践中的各种技巧和最佳实践。 在四天的学习过程中,你应该通过实践和理解...

    struts2学习笔记

    struts2学习笔记struts2学习笔记struts2学习笔记

    struts 学习笔记(全)

    入门级的struts,适合新手入门

    struts学习笔记(四)

    Struts是Java Web开发中的一个开源框架,主要用来构建基于MVC(Model-View-...通过深入阅读“Struts学习笔记(四)”和配套的Struts.pdf文档,你将能够更好地掌握这一强大的工具,并将其应用于实际的项目开发中。

    张龙圣思园struts2学习笔记word

    张龙圣思园的Struts2学习笔记,无疑为Java开发者提供了一份宝贵的参考资料,它可能涵盖了Struts2的基础概念、核心组件、配置方式以及实战技巧。 首先,让我们深入了解Struts2的核心特性。Struts2是MVC(Model-View-...

    struts2学习笔记.doc

    ### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...

    struts2学习笔记(1)

    ### Struts2学习笔记知识点详解 #### 一、Struts2框架的基本引入步骤 ##### 1. 导入Struts2相关Jar包 在引入Struts2框架时,首先需要将Struts2的相关Jar包导入到项目的类路径中。这些Jar包通常包括核心库以及其他...

    struts2学习笔记3数据类型转换

    struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换

    Struts 学习笔记 Struts 中扩展JfreeChart 笔记

    Struts是Apache软件基金会下的一个开源框架,主要应用于Java Web应用程序的开发,它提供了一种组织应用程序代码的方式,使得开发者可以更有效地构建基于MVC(Model-View-Controller)架构的Web应用。JfreeChart则是...

    [摘]Struts 学习笔记之ActionForm

    博客文章"Struts学习笔记之ActionForm - xiaodaoxiaodao——蓝小刀的自言自语 - BlogJava.mht"可能包含更深入的实践示例和经验分享,包括如何处理ActionForm的生命周期、动态Form Beans、国际化等话题。通过阅读这篇...

    struts2.0学习笔记1

    struts2.0学习笔记1 自己动手做的还算可以的 ]struts2.0学习笔记1 自己动手做的还算可以的struts2.0学习笔记1 自己动手做的还算可以的struts2.0学习笔记1 自己动手做的还算可以的

    j2ee平台框架Struts学习笔记

    Struts是Java EE平台上的一款流行开源MVC框架,...学习Struts不仅有助于理解MVC模式,也能为其他类似的Web框架打下坚实的基础。通过深入研究和实践,开发者可以充分利用Struts的特性,构建出高效、稳定的Web应用程序。

Global site tag (gtag.js) - Google Analytics