java中的action是啥,DAO又是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中的action是啥,DAO又是啥?相关的知识,希望对你有一定的参考价值。

老看到建立一个action类,不明白这个action类是干什么用的?为什么要创建它。我今天突然理解action是不是就是from表单里的那个action?它需要提交给一个类,这个类就称为action类了?还经常看到DAO,这个又是什么?

Action类 是[获得Form表单数据,并处理逻辑的类]
DAO(Data Access Object) 是一个接口实现[通过SessionFactory获得操作数据库的会话,并实现一些基本的删除 添加 修改数据,在servlet中更实际化业务操作]
参考技术A action是struts的组件,
相当于servlet,功能是一样的。

dao表示数据层,
也就是直接操作数据库,

应该还有的就是jsp,是表示层!

action和actionform(绑定数据)----就可以让表示层与数据层分离
参考技术B Action 是struts中的一个组件 代表一个用户操作

dao是数据访问层 也就是说Dao中的代码是进行数据库访问的
这样做层次分明 符合mvc模式
参考技术C action 代表控制器,接收用户输入信息,调用后台逻辑
dao 代表业务逻辑,处理前端发来的请求和数据逻辑操作
参考技术D dao表示数据层,
也就是直接操作数据库,

Python 的 argparse 中的 metavar 和 action 是啥意思?

【中文标题】Python 的 argparse 中的 metavar 和 action 是啥意思?【英文标题】:What does metavar and action mean in argparse in Python?Python 的 argparse 中的 metavar 和 action 是什么意思? 【发布时间】:2013-10-08 02:12:38 【问题描述】:

我正在阅读argparse 模块。我被 metavar 和 action 的含义卡住了

>>> parser.add_argument('integers', metavar='N', type=int, nargs='+',
...                     help='an integer for the accumulator')
>>> parser.add_argument('--sum', dest='accumulate', action='store_const',
...                     const=sum, default=max,
...                     help='sum the integers (default: find the max)')

我可能错过了,但从我阅读的内容来看,我找不到 metavar 的定义和 action (action="store_const", etc)。它们究竟是什么意思?

【问题讨论】:

【参考方案1】:

Metavar:它为帮助消息中的可选参数提供不同的名称。为 add_argument() 中的 metavar 关键字参数提供一个值。

>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('--foo', metavar='YYY')
>>> parser.add_argument('bar', metavar='XXX')
>>> parser.parse_args('X --foo Y'.split())
Namespace(bar='X', foo='Y')
>>> parser.print_help()
usage:  [-h] [--foo YYY] XXX

positional arguments:
  XXX

optional arguments:
  -h, --help  show this help message and exit
  --foo YYY

参考:http://www.usatlas.bnl.gov/~caballer/files/argparse/add_argument.html

动作:参数可以触发不同的动作,由add_argument()的动作参数指定。遇到参数时可以触发六种内置操作:

    store:保存该值,可选择将其转换为其他类型。如果没有明确指定,这是默认操作。

    store_true/store_false:保存相应的布尔值。

    store_const:保存定义为参数规范的一部分的值,而不是来自正在解析的参数的值。这通常用于实现非布尔值的命令行标志。

    append:将值保存到列表中。如果参数重复,则会保存多个值。

    append_const:将参数规范中定义的值保存到列表中。

    version:打印有关程序的版本详细信息,然后退出。

参考:http://bioportal.weizmann.ac.il/course/python/PyMOTW/PyMOTW/docs/argparse/index.html

【讨论】:

我要补充一点:store_true 表示如果指定了 true,则设置参数值,否则将其保留为 None。如果还指定了default,则将 param 设置为该值,而不是将其保留为 None。 7. help:打印帮助然后退出。【参考方案2】:

metavar 用于帮助消息中的预期参数位置。在此处查看 FOO 是默认的 metavar

>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('--foo')
>>> parser.add_argument('bar')
>>> parser.parse_args('X --foo Y'.split())
Namespace(bar='X', foo='Y')
>>> parser.print_help()
usage:  [-h] [--foo FOO] bar
...

action 定义了如何处理命令行参数:将其存储为常量、附加到列表中、存储布尔值等。有几个可用的内置操作,而且很容易编写自定义操作。

【讨论】:

顺便说一句,这两者有什么区别? parser.add_argument('cd_data', metavar='.dat', type = str, nargs='+')parser.add_argument('-cd_data', metavar='.dat', type = str, nargs='+')。只有一个变化是cd_data-cd_data - 是可选参数,参见docs。 你能看看这篇文章并提出你的建议吗? http://***.com/questions/19126399/why-args-add-argument-works-when-given-in-two-separate-statements-but-not-one-in

以上是关于java中的action是啥,DAO又是啥?的主要内容,如果未能解决你的问题,请参考以下文章

java中的Dao类是啥意思?

java项目中都有哪些层?我知道有dao、service、util,还有啥?作用都是啥?

请问java项目 里的DAO,model,service, IMPL 是啥意思,以及有啥关系

请问java项目 里的DAO,model,service, IMPL 是啥意思,以及有啥关系

java中bean类,action类,model类,util类,dao等的作用是啥啊?

java中500是啥错误,404又是啥错误?