看到上面的标题,相信大家已经知道我们接下来要探讨的知识了,一共两点:1、package命名空间设置;2、三种Action的创建方式。下面我们开始本篇的内容:

  首先我们聊一聊命名空间的知识,namespace决定了action的访问路径,默认为"",可以接受所有路径的action,namespace可以写为/,或者/xxx,或者/xxx/yyy,对应的action访问路径为/index.action,/xxx/index.action,或者/xxx/yyy/index.action,namespace最好也用模块来进行命名。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <constant name="struts.devMode" value="true" /> <package name="default" namespace="/" extends="struts-default">
<action name="user" class="com.edu.action.User" method="login">
<result>/success.jsp</result>
</action>
</package> <!-- Add packages here --> <package name="hello" namespace="/hello" extends="struts-default">
<action name="login" class="com.edu.action.Hell" method="login">
<result>/hello.jsp</result>
</action>
</package> </struts>

  做过开发的朋友一定都知道package包的作用,这里的name使用了唯一标示package的名称,namespace则就是本篇我们要一起探讨内容,决定了我们访问的路径。以上两个action的访问路径分别为:http://localhost:8080/Struts/user与http://localhost:8080/Struts/hello/login


  下面我们一起来探讨一下action的三种创建方式:分别为一般Class类、实现Action接口、继承ActionSupport类,下面我们一起来探讨一下。

  第一种方式:

public class User1 {

    public String execute(){
System.out.println("Action1");
return "success";
}
}

  第二种方式:

public class User2 implements Action {

    public String execute() throws Exception {
System.out.println("Action2");
return "success";
} }

  第三种方式:

public class User3 extends ActionSupport {
@Override
public String execute() throws Exception {
System.out.println("Action3");
return SUCCESS;
}
}

  关于Struts的1、package命名空间设置;2、三种Action的创建方式介绍就结束了,后续内容持续更新中。。。

Struts2之命名空间与Action的三种创建方式的更多相关文章

  1. Action的三种实现方式,struts.xml配置的详细解释及其简单执行过程(二)

    勿以恶小而为之,勿以善小而不为--------------------------刘备 劝诸君,多行善事积福报,莫作恶 上一章简单介绍了Struts2的'两个蝴蝶飞,你好' (一),如果没有看过,请观 ...

  2. Action的三种编写方式

    -------------------siwuxie095 Action 的三种编写方式 在 Struts2 的应用开发中,Action 作为框架的核心类,实现 对用户请求的处理,Action 类被称 ...

  3. Django-多对多关系的三种创建方式-forms组件使用-cookie与session-08

    目录 表模型类多对多关系的三种创建方式 django forms 组件 登录功能手写推理过程 整段代码可以放过来 forms 组件使用 forms 后端定义规则并校验结果 forms 前端渲染标签组件 ...

  4. Django框架(十)--ORM多对多关联关系三种创建方式、form组件

    多对多的三种创建方式 1.全自动(就是平常我们创建表多对多关系的方式) class Book(models.Model): title = models.CharField(max_length=32 ...

  5. 多对多三种创建方式、forms组件、cookies与session

    多对多三种创建方式.forms组件.cookies与session 一.多对多三种创建方式 1.全自动 # 优势:不需要你手动创建第三张表 # 不足:由于第三张表不是你手动创建的,也就意味着第三张表字 ...

  6. 多对多的三种创建方式-forms相关组件-钩子函数-cookie与session

    多对多的三种创建方式 1.全自动(推荐使用的**) 优势:第三张可以任意的扩展字段 缺点:ORM查询不方便,如果后续字段增加更改时不便添加修改 manyToManyField创建的第三张表属于虚拟的, ...

  7. JavaScript 闭包的详细分享(三种创建方式)(附小实例)

    JavaScript闭包的详细理解 一.原理:闭包函数--指有权访问私有函数里面的变量和对象还有方法等:通俗的讲就是突破私有函数的作用域,让函数外面能够使用函数里面的变量及方法. 1.第一种创建方式 ...

  8. 2019年6月14日 Web框架之Django_07 进阶操作(MTV与MVC、多对多表三种创建方式、前后端传输数据编码格式contentType、ajax、自定义分页器)

    摘要 MTV与MVC 多对多表三种创建方式 ajax ,前后端传输数据编码格式contentType 批量插入数据和自定义分页器 一.MVC与MTV MVC(Model View Controller ...

  9. Django多对多表的三种创建方式,MTV与MVC概念

    MTV与MVC MTV模型(django): M:模型层(models.py) T:templates V:views MVC模型: M:模型层(models.py) V:视图层(views.py) ...

随机推荐

  1. tf.variable_scope

    转载:https://blog.csdn.net/gaoyueace/article/details/79079068 例如: #在名字为ae的命名空间内创建变量 with tf.variable_s ...

  2. python numpy 下载地址

    网上找了半天,终于把要安装的资料找到了.其他的不怎么全,就自己再次总结一下写.         我自己安装的是python 2.7.所以以下的东东都是针对2.7的软件. numpy :http://s ...

  3. 搭建交叉调试环境 arm-linux-gdb配合gdbserver

        在嵌入式开发中,有时候需要进行源码级别的调试,可以设置断点,单步执行,相比于每步打印printf或者printk来说,更加友好.下面就来介绍这种调试方法.     gdb交叉调试类似于网络浏览 ...

  4. vue的手机端框架mint-ui头部header组件实现返回到上一个浏览页面

    <mt-header title="中文号主页" fixed> <router-link to="" slot="left" ...

  5. apt 之 最强技能:【欺骗】,文雅点【偷梁换柱】!

    apt这种软件包管理系统,有个最大特点是:只照本宣科,而不管实际情况. 所以,我们用户就可以利用这一点,来欺骗它,达到我们的目的. ------------------------------好了,现 ...

  6. WebGL入门

    1.清空绘图区 清空绘图区是使用指定的背景颜色填充canvas,使用gl.clearColor设置背景色.gl.clearColor(red, green, blue, alpha).openGL的颜 ...

  7. CDbConnection failed to open the DB connection: could not find driver错误的处理

    在PHP.INI文件中extension=php_pdo_mysql.dll 去掉注释

  8. Centos7.3.1611安装mysql5.7.18 rpm教程 并设置datadir

    一.卸载MariaDB CentOS7默认安装MariaDB而不是MySQL,而且yum服务器上也移除了mysql相关的软件包.因为MariaDB和MySQL可能会冲突,故先卸载MariaDB. 1. ...

  9. GC--垃圾收集器

    把周末的文章放在现在才来写,是自己太忙了?还是堕落了? 好吧直接进入主题吧,简单干脆的理解会让自己记忆深刻: 首先说明:GC垃圾收集器关注两件事情: 第一件:查找所有存活对象. 第二件:抛弃死对象(不 ...

  10. 使用 CSV 文件存储

    将爬取到的数据以 CSV 文件形式存储: import csv import requests req = requests.get("http://www.baidu.com/" ...