zoukankan      html  css  js  c++  java
  • struts快速入门第一篇 —— struts相关XML配置映射及讲解

      我们回忆一下在学习JavaWeb过程中(Jsp + servlet编程)所感受到的Servlet的不足:

        1 Servllet很多时,web.xml中的代码会很多。这样一来,维护起来就不方便,不利于团队合作;

        2 一个Servlet的入口只有doGet或doPost方法,如果需要定义其它方法,就必须得在前两者中调用它们。这样会导致代码结构很乱;

        3 let类与servlet容器高度耦合,每个方法中都有两个参数requestresponse。如果服务器不启动,这两个参数没有办法初始化。这会给 单元测试 带来麻烦。

        4 如果在servlet中的一个方法中,有很多功能,这个时候,会导致该方法比价复杂,以致于不利于维护

        在servlet中如果要获取页面上表单中的数据,那么在方法中会写很多行

      

    Struts2的历史

      1、 servelet

      2、 struts1

        1、 写action

        2、 写了一个中控的servlet

        3、 actionForm 和页面上表单中的内容一致

         3webwork

             1、使得actionservlet容器完全松耦合

         2、属性驱动和模型驱动获取页面上表单中的数据

         3、利用了拦截器的概念把servlet容器的第4个缺点克服掉了

        4struts1+webwork=struts2

    第一个例子

      编写步骤:

        1 创建一个Web project

        2 从struts的jar包中拷贝web.xml放入到上述项目中

        

        3 创建一个普通的Java类,我们习惯将它名字的最后一个单词写为Action。如HelloWorldAction。它应该提供返回值为String的方法。

        

        4 在src文件夹下创建struts.xml[名字必须是这个] 并将struts-2.3.1.2appsstruts2-blankWEB-INFclasses目录下struts2.xml的部分代码拷贝至其中。改写如下:

        

     1 <?xml version="1.0" encoding="UTF-8" ?>
     2 <!DOCTYPE struts PUBLIC
     3     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
     4     "http://struts.apache.org/dtds/struts-2.0.dtd">
     5 
     6 <struts>
     7     <package name="helloworld" namespace="/" extends="struts-default">
     8         <action name="HelloWorldAction" method="greet"
     9             class="com.struts2.action.HelloWorldAction">
    10             <result name="index">index.jsp</result>    
    11         </action>
    12     </package>
    13 </struts>

            5 部署到Tomcat上后,开启服务器并访问

    http://localhost:8080/struts2_helloworld/HelloWorldAction.action

         

        

      

     

    觉得不错请点个赞 若有想法随意评论 问题难解就联系我 互相帮助才是网络
  • 相关阅读:
    一本通1273货币系统(方案数背包)
    背包体积循环正序和逆序的区别
    Python字典的底层原理和优缺点
    Linux各目录及每个目录的详细介绍
    openwrt 下python程序后台运行,并将打印信息保存文件
    pycharm同一目录下无法import其他文件
    python sqlite3学习笔记
    python sqlite3查询表记录
    Pycharm快捷键的使用
    Python3 Address already in use 解决方法
  • 原文地址:https://www.cnblogs.com/UzumakiNaruto/p/5656674.html
Copyright © 2011-2022 走看看