热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

struts配置与详解

struct简单介绍:(1)Struts就是符合JSPModel2开发规范的MVC的Web开发框架(2)基于MVC开发开发规范的web框架MVC分层开发模式的优点&

 struct简单介绍:

              (1)Struts就是符合JSP Model2开发规范的MVC的Web开发框架

              (2)基于MVC开发开发规范的web框架

MVC分层开发模式的优点: 

             (1)代码可重用
             (2)实现层间的的松耦合
             (3)每一层各自独立,自包含,彼此间耦合度低
                   优点:易于管理,灵活配置,方便修改
                   缺点:交互点少,交互集中,有时感觉交互不方便
                   实现:强隔绝,将交互点减少并集中,并且使用接口技术处理需要发生的耦合(关键字:接口) 强耦合的不易于修改,但是有些地方也需要,管理学就需要 ,层间松耦合可实现数据与现实逻辑,与业务逻辑间彼此隔离。

框架:

              (1) 项目开发的高阶工具 (本质)             

              (2) 提供了预备的软件架构和相关软件包

         优点:

                   (1) 集中更多精力于软件开发;
                   (2 定制很多重复部分,避免出错,易于维护;
                   (3 规范化了开发流程,大大加快维护修改速度,简化维护过程,提高效率,缩短周期。

 

     

 

  一)struts框架:
 作用:用户表单   前台数据的封装   参数的传递   参数接受  web动作(转 定 包) 结果数据的显示
  二)特点:
          1) Apache组织的一个开源项目:Jakarta-Struts ;
          2) 基于MVC设计模式,有MVC所有优点;
          3) 符合SUN JSP Model2 开发规范;
          4) 重型、可扩展Web框架;
          5) 可综合利用 Servlet | JSP 技术的优点;
 三)工作流程:
   
            JSP------------ActionForm------------Action---------BO---------DAO----------PO.............DB

 四)操作步骤:
  动作I)[Web项目上 添加Struts Capabilities]
     方案一:MyEclipce的插件添加
      ①项目名--右key--Myeclipse---Add struts capabilities
      维护升级---struct1.1---1.2----tomcat安装目录----webINF----lib----把里面的jar包替换成1.2的就行了
     方案二:手工添加
      ①src下,新开一个包名路径:
      ②在com.hj.struts下建立一个ApplicationResources.properties;
      ③Install struts jar 包:直接到camcat安装目录---webINF---lib---里copy到WEN-INF\lib下;
      ④建struts-config.xml:法2)。。。。。。。--new xml(basic templates)-----from a DTD File---XML Catalog Entry---Apache DTD Struts Config 1.2---ok
      ⑤从jar包中获得validator-rules.xml 并copy到WEB-INF下;
      ⑥从jar包中获得struts的标签库:六大.tld文件放入WEB-INF下;
       注意:1.1是6个tld文件;1.2是5个tld文件;//少templates库;
      ⑦配web.xml:
       法二)使用《web.xml》的design工具,配置Servlet、Init-Param(config、debug: 3,自动出load-on-startup:0、detail:3)

 动作II)Web项目上 添加Struts组件
  核心三组件:  【JSP】、   【ActionForm】、    【Action】
   [创建组件的三种方法]:
                法Ⅰ)  项目名---右key---new---other---MyEclipse---web struts---struts1.1/1.2---九项---Action、Form、Form and Action & JSP、...、Message Resources等
                法Ⅱ)  :《struts-config.xml》---design---new
  
 各自组件独立创建
   (一)创建JSP组件
      方案一) 用常规JSP标签
      (1)建JSP页: 选Template模板---“Default JSP Template”
      (2) 添加Form:打开snippets工具:
         注意:Form元素属性key名将要和 ActionForm中的属性名 一致
        (3)添加Form中的action=..目标url
        action="/Web项目名/Action动作逻辑名.do"
    
      方案二):使用struts标签的JSP
      (1)建JSP页:选Template模板:
        “Standard JSP using Struts 1.2” 1.1(自动添加的模板)
      (2)添加Form:   使用snippets工具添加:(在Html templates---双击 input form template)
      (3)添加Form中的action=..目标urlaction= "  /Action动作逻辑名"
        Struts标签需先在server上运行,解析为普通的html以后,再去IE执行,未配置后台时,页面会报错。
     
   (二)配置《Struts-config.xml》
       ①jsp
       ②配《struts-config.xml》中配置下的

                                                  parameter="flag"
                             attribute="fptjForm"
                             name="fptjForm"
                             scope="request"
                             type="org.springframework.web.struts.DelegatingActionProxy"
   >

        path="/Action逻辑名" //与          name="ActionForm逻辑名" //必须与某个         ③配《struts-config.xml》中

         
        ---属性封装Form元素数据和validate()方法可执行格式验证;


       ④配《struts-config.xml》中 <  attribute&#61;"key名"
        //ActionForm对象存放在scope中的key名&#xff0c;一般与ActionForm的逻辑名相同&#xff1b;

       ⑤。。。。。。。。。。。。。。。scope&#61;"request|session";(只有两个scope)
       ⑥建立ActionForm类&#xff1b;
        (1)在src下&#xff1a;建包名路径&#xff1a;com.hj.struts.form
        (2)写类 extends AcionForm //抽象类
        (3)写全局属性,设置为私有private&#xff1a;
        (4)重写validate()方法(根据项目需求)
          内容&#xff1a;格式验证逻辑,
          返回值情况&#xff1a;返回的ActionErrors为null时或者为空时&#xff0c;表示格式验证成功&#xff1b;
                含ActionError|ActionMessage对象时&#xff0c;表示格式验证失败&#xff1b;
                失败去

         (5)Action中重写reset()方法
          this.属性名&#61;null;//设置属性为初始化值&#xff1b;
         //功能&#xff1a;属性重置为null&#xff0c;用于恢复ActionForm前台Bean的属性为缺省值&#xff0c;以便属性封装新的数据&#xff1b;

         (6)配《struts-config.xml》中<  validate&#61;"false|true" //ActionForm对象中&#xff0c;validate()方法是否执行&#xff1b;

         (7)配《struts-config.xml》中<  input&#61;"失败报错页url";
        
         (8)。。。。。。。。。。。。。<  type&#61;"包名.Action类名"---ActionForm对象中validate()方法验证成功后&#xff0c;所去Action类。

         (9)写Action类
          (1)new class
          (2) extends Action
          (3)重写execute()方法, 如果是自己写的方法&#xff0c;必须要继承DispatchAction类
          (4)书写各种业务功能&#xff1a;
           //技术点1&#xff1a;接收前台Form数据
            LoginForm lf&#61;(LoginForm)form;(或者利用request.getParameter("name")来或者前台的数据)
            String username &#61; lf.getUsername();
            String password &#61; lf.getPassword();
            System.out.println(username);
            System.out.println(password);
          5)Action结束转发动作&#xff1a;
           需返回一个ActionForward对象&#xff0c;以确定下一步转发目标&#xff1b;
            //ActionForward对象生成方式1&#xff1a;
          
  )
            //通过配置对象找到struts-config.xml中配置的forward标签信息&#xff0c;
                       //从而获得转发目标URL
       ⑾伴随添加配 《struts-config.xml》中
            一条该Tag配置&#xff0c;会自动生成一个ActionForward配置对象&#xff0c;并被放入ActionMapping中&#xff0c;且传给Action&#xff0c;以便在所属Action中使用&#xff1b;

        ⑿写结果页&#xff1b;
             配合目标页url

 


   

        


推荐阅读
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • Android系统移植与调试之如何修改Android设备状态条上音量加减键在横竖屏切换的时候的显示于隐藏
    本文介绍了如何修改Android设备状态条上音量加减键在横竖屏切换时的显示与隐藏。通过修改系统文件system_bar.xml实现了该功能,并分享了解决思路和经验。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • Day2列表、字典、集合操作详解
    本文详细介绍了列表、字典、集合的操作方法,包括定义列表、访问列表元素、字符串操作、字典操作、集合操作、文件操作、字符编码与转码等内容。内容详实,适合初学者参考。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
author-avatar
zhoujielcl_767
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有