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

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

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

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

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

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

  

Struts2的历史

  1、 servelet

  2、 struts1

    1、 写action

    2、 写了一个中控的servlet

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

   3、webwork

1、使得action与servlet容器完全松耦合

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

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

4、struts1+webwork=struts2

第一个例子

  编写步骤:

    1 创建一个Web project

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

    

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

    

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

    

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

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

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

     

    

  

 

struts快速入门第一篇 —— struts相关XML配置映射及讲解的更多相关文章

  1. 版本控制工具Git工具快速入门-Linux篇

    版本控制工具Git工具快速入门-Linux篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.版本管理系统的介绍 1>.版本管理系统的特点 1.1>.自动生成备份: ...

  2. Flink入门-第一篇:Flink基础概念以及竞品对比

    Flink入门-第一篇:Flink基础概念以及竞品对比 Flink介绍 截止2021年10月Flink最新的稳定版本已经发展到1.14.0 Flink起源于一个名为Stratosphere的研究项目主 ...

  3. 版本控制工具Git工具快速入门-Windows篇

    版本控制工具Git工具快速入门-Windows篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 最近在学习Golang语言,之前的开发环境在linux上开发的,后来由于办公用的是w ...

  4. ElasticSearch入门 第一篇:Windows下安装ElasticSearch

    这是ElasticSearch 2.4 版本系列的第一篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...

  5. ElasticSearch入门 第二篇:集群配置

    这是ElasticSearch 2.4 版本系列的第二篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...

  6. webpack快速入门——实战技巧:webpack模块化配置

    首先在根目录,新建一个webpack_config文件夹,然后新建entry_webpack.js文件,代码如下: const entry ={}; //声明entry变量 entry.path={ ...

  7. 从零开始使用git第一篇:下载安装配置

    从零开始使用git 第一篇:下载安装配置 第一篇:从零开始使用git第一篇:下载安装配置 第二篇:从零开始使用git第二篇:git实践操作 第三篇:从零开始使用git第三篇:git撤销操作.分支操作和 ...

  8. Activiti第一篇【介绍、配置开发环境、快速入门】

    Activiti介绍 什么是Activiti? Activiti5是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理.工作流.服务协作等领域的一个开 ...

  9. SpringBoot学习(四)-->SpringBoot快速入门,开山篇

    Spring Boot简介 Spring Boot的目的在于创建和启动新的基于Spring框架的项目.Spring Boot会选择最适合的Spring子项目和第三方开源库进行整合.大部分Spring ...

随机推荐

  1. C# Dictionary根据Key排序

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...

  2. Maven项目pom.xml文件报xxx\target\classes\META-INF\MANIFEST.MF (系统找不到指定的路径)

    在今天的学习Maven项目中遇到的这个错误:pom.xml文件报xxx\target\classes\META-INF\MANIFEST.MF (系统找不到指定的路径) 在Maven项目学习中,缓存问 ...

  3. 代码管理 ,git 命令整理

    //先要理解这四个概念,这是一个提交代码的流动轨迹:1.工作区(编辑器)-经过add到2- 2.暂存区 (缓存)- 经过commit3-3.本地仓库 (本地项目)-经过 push4-4.远程仓库 (线 ...

  4. JS 转换数字为大写

    function toUpper(n) { n = n+''; var unit = '十百千万'; var num = '一二三四五六七八九 '; var array = new Array(); ...

  5. TensorBoard 使用和问题解决

    TensorBoard 使用和问题解决 一.启动TensorBoard 1) python tensorflow/tensorboard/tensorboard.py --logdir=path/to ...

  6. hadoop单机版安装及基本功能演示

    本文所使用的Linux发行版本为:CentOS Linux release 7.4.1708 (Core) hadoop单机版安装 准备工作 创建用户 useradd -m hadoop passwd ...

  7. Sencha Cmd 6 和 Ext JS 6 指南文档(部分官方文档中文翻译)

    近期组织了几个程序员网友,正在翻译一部分官方的Sencha Cmd 6 和 Ext JS 6 指南文档. 眼下还没翻译完,大家能够先看看 Sencha Cmd 6 和 Ext JS 6 指南文档  ( ...

  8. ASP.NET Core WebApi 返回统一格式参数

    业务场景: 业务需求要求,需要对 WebApi 接口服务统一返回参数,也就是把实际的结果用一定的格式包裹起来,比如下面格式: { "response":{ "code&q ...

  9. 四、Spring Boot 多数据源 自动切换

    实现案例场景: 某系统除了需要从自己的主要数据库上读取和管理数据外,还有一部分业务涉及到其他多个数据库,要求可以在任何方法上可以灵活指定具体要操作的数据库.为了在开发中以最简单的方法使用,本文基于注解 ...

  10. 一 、Spring Boot 学习之项目搭建

    一.简介 spring 官方网站本身使用Spring 框架开发,随着功能以及业务逻辑的日益复杂,应用伴随着大量的XML配置文件以及复杂的Bean依赖关系. 随着Spring 3.0的发布,Spring ...