精华内容
下载资源
问答
  • 关于Spring , Struts结合学习。一、前言刚刚接触了日本一个项目,用框架名称是Northland Framework,主要用到以下部分...二、Spring提供了三种整合Struts的方法:使用 Spring ActionSupport 类整合 Structs使用
    关于Spring , Struts结合学习。
    一、前言
    刚刚接触了日本一个项目,用的框架名称是Northland Framework,主要用到以下部分
    Struts、Spring、iBATISVelocityStrutsSpring如何结合在一起?
    二、Spring提供了三种整合Struts的方法:
    使用 Spring ActionSupport 类整合 Structs
    使用 Spring DelegatingRequestProcessor 覆盖 Struts RequestProcessor
    Struts Action 管理委托给 Spring 框架
    (参见Get a better handle on Struts actions, with Spring
    对应还有译文:
    三、我只关心第三种整合方法:
    这种方法通过Spring提供的两个和Struts相关类来实现:org.springframework.web.struts. DelegatingActionProxyorg.springframework.web.struts. ContextLoaderPlugIn
    ContextLoaderPlugIn实现StrutsPlugIn接口,只要在struts-config.xml中有如下配置:
     
    <action    path="/searchSubmit">
    type="ca.nexcel.books.actions.DelegatingActionProxy"
                 input="/searchEntry.do"
                   validate="true"
                   name="searchForm">
                  <forward name="success" path="/WEB-INF/pages/detail.jsp"/>
                  <forward name="failure" path="/WEB-INF/pages/search.jsp"/>
    </action>
    <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
        <set-property property="contextConfigLocation" value="/WEB-INF/beans.xml"/>
     </plug-in>
    ActionServlet装载的时候就可以顺便装载和Spring相关的beans.xml,和beans.xml中相关的一个东西叫做WebApplicationContext , (Spring里关键就是取得WebApplicationContext,取得这个也就可以用Spring管理业务),在ContextLoaderPlugIn中是这样保存WebApplicationContext
    String attrName = getServletContextAttributeName();
    getServletContext().setAttribute(attrName, wac);
    再看DelegatingActionProxy,它继承于StrutsAction,以后struts-config.xml中所有的
    Action-mapping都要指向它,只是每个Action-mappingpath不同,将来也是用这个path来区分究竟需要执行beans.xml中的那个类。如下代码:
    public ActionForward execute(){
                    Action delegateAction = getDelegateAction(mapping);
                    return delegateAction.execute(mapping, form, request, response);
            }
    这里的delegateAction就是beans.xml中一个相关的类(beans.xml也要求类继承于StrutsAction) 去看看怎么得到delegateAction
    protected Action getDelegateAction(ActionMapping mapping) throws BeansException {
    WebApplicationContext wac = getWebApplicationContext(getServlet(),
        mapping.getModuleConfig());
    String beanName = determineActionBeanName(mapping);
    return (Action) wac.getBean(beanName, Action.class);
    }
     
    是如何取得WebApplicationContext呢:
    wac=(WebApplicationContext)actionServlet.getServletContext().getAttribute(        ContextLoaderPlugIn.SERVLET_CONTEXT_PREFIX);
     
    SERVLET_CONTEXT_PREFIX 正是 前边提到的ContextLoaderPlugInattrName
    现在这个原理一目了然,ContextLoaderPlugInactionServlet初始化过程中保存
    起来留到后面供DelegatingActionProxy用。
     
    四、在另一篇文章中提到在上面的方法中OpenSessionInView Filter不能用
     (参照http://wyyhzc.itpub.net/),这个东西我也不熟悉,是不是有不少Spring的东西在这种方式中都不能用呢? 这就说到另一种取得Spring WebApplicationContext的方法:
    web.xml中配置ContextLoaderListener
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
          /WEB-INF/beans.xml
        </param-value>
     </context-param>
     <listener>
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
     </listener>
     <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
     </listener>
    对应的beans.xml和前边那个一样,Log4jConfigListener先不用管,去查看相关文档。
    Web服务启动的时候,我们去看看ContextLoaderListener作了什么:
    WebApplicationContext = createWebApplicationContext(servletContext, parent);
    servletContext.setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, this.context);
    同样是保存WebApplicationContext,但是keyROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE
     
    怎么才能不用ContextLoaderPlugIn而只用ContextLoaderListener下面我修改
    org.springframework.web.struts. DelegatingActionProxy 把它修改成
    ca.nexcel.books.actions. DelegatingActionProxy并且修改一下代码:
    修改getWebApplicationContext方法
    Return DelegatingActionUtils.findRequiredWebApplicationContext(actionServlet,
     moduleConfig); 换成下边方法 
     
    ServletContext sc = actionServlet.getServletContext();
    WebApplicationContext wac = null;
    wac = WebApplicationContextUtils.getWebApplicationContext(sc);
    return wac;
    并且在struts-config.xml中将actiontype指向自己的
    ca.nexcel.books.actions. DelegatingActionProxyPlugIn删除web.xml加上刚才提到的Listener,启动tomcat运行一切正常。
     
    五、我把northland的配置文件贴出来。
    Struts-config.xml
    <action-mappings>
        <action
            path="/list"
            input="/list.jsp"
            name="_list"
            scope="request"
            type="jp.co.nec.hnes.northland.web.struts.FlowAction"
            >
          <display-name>一覧画面</display-name>
        </action>
        <action
            path="/register"
            input="/register.jsp"
            name="_register"
            scope="request"
            type="jp.co.nec.hnes.northland.web.struts.FlowAction"
            >
          <display-name>登録画面</display-name>
        </action>
     
    Web.xml:
     <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
          classpath:flowConfig.xml,
          classpath:viewConfig.xml,
          classpath:applicationContext.xml,
         classpath:applicationContext-extra.xml
        </param-value>
     </context-param> 
    <listener>
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
     </listener>
     <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
     </listener>
     <servlet>
        <servlet-name>ActionServlet</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <init-param>
          <param-name>config</param-name>
          <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
     </servlet>
     
    从中可以看到
    其中的jp.co.nec.hnes.northland.web.struts.FlowAction
    ca.nexcel.books.actions. DelegatingActionProxy的功能差不多。
     
    展开全文
  • 用李善友提出新旧范式来思考问题的解决方式,寻找到一套科学的思考模式。即从第一范式转换到第二范式的改变。 第一范式(即原范式,类比中的锁头)改变,发生在某一系统内的改变,系统本身维持不变,但无论怎样变换...

    转载https://zhuanlan.zhihu.com/p/24517538

    当遇到一扇被锁着的门,应当去哪里找钥匙?
    锁头与钥匙是一个特别好的解决问题思考方式的类比。就是说,解决问题最好的方法往往不在问题本身。面对问题和难题时,如何跳开锁头,在哪里找的钥匙?

    用李善友提出新旧范式来思考问题的解决方式,寻找到一套科学的思考模式。即从第一范式转换到第二范式的改变。
    第一范式(即原范式,类比中的锁头)改变,发生在某一系统内的改变,系统本身维持不变,但无论怎样变换这些行为,就如在一个管道里,无论如何做功,只能是修修补补。
    第二范式(即新范式)改变,改变发生在原系统之外,控制系统整体的前提改变,使系统转换到完全不同的状态。就如管道改变了,问题自然而然就解决了,或者说原来问题变得无关紧要了。就是说锁头是第一范式,钥匙是第二范式。

    就以如何赚钱这事儿进行思考分析,身边很多朋友包括自己,一直在想怎样才能赚到更多的钱,开个什么店?做个什么产品,或者有什么投资的机会?这也是见面聊天最常见的话题。
    为解决这个问题,我们怎样才能从第一范式变成第二范式改变呢?
    促成改变思考的四个步骤:
    1、以具体词语清楚的界定问题。
    2、探究目前为止企图运用过的解决方案。
    3、对想要达成的具体改变有一个清晰的定义。
    4、形成与执行一个能产生这一改变的计划。
    按以上四个步骤来做一次推导:
    1、具体的词语清楚地界定问题,赚钱,怎样才能赚更多的钱?什么情况和条件下赚钱?什么情况和条件下不赚钱?
    2、目前运用过的解决方案,想开店,做产品,投资,实际均有难度,条件均不具备。那就放弃。
    3、对想要达成具体改变有一个清晰的定义。靠自己赚钱,即用自己的能力或特长赚钱。俗话说要有赚钱的本事。
    4、要达到赚钱的本事,必须盯着自己的能力看,盯着自己能力成长,打磨一项手艺。
    当思考清楚了,是不是这个问题就无关紧要了。乔布斯的苹果手机也是这样,当诺基亚手机还对手机键盘研究操作使用如何方便时,苹果手机直接没有操作键盘了,这个问题变得无关紧要了。
    要执行计划,确定目标,当下开始,积累能力打磨手艺。这就是运用锁与钥匙解决问题的正确思考方式。

    展开全文
  • 有人说 学习是一种模仿 一种吸取别人能力 将别人...我们当明白了如何去运算 运算逻辑是什么时候 我们应该就懂了 学习更多是授人以鱼不如授人以渔 的方法方式,不过一个班总有人学快 学慢.不过不管什...

           有人说 学习是一种模仿 一种吸取别人的能力 将别人的技能化为自己的技能 那么我们,这时候就在想 小时候我们学数学 学英语 学很多 知识的时候,老师是如何传授我们知识的了,或许你不会忘记 老师讲一个知识点的时候 比如100之内的加减法 我们当明白了如何的去运算 运算逻辑是什么时候 我们应该就懂了 学习更多的是授人以鱼不如授人以渔 的方法和方式,不过一个班总有人学的快 学的慢.不过不管什么样的方式 方法 或者每个人接受别人的知识的时候 所理解的方式不一样吧。不过想不通的是 我们是怎么一辈子都记住一些知识的了,那就应该是耳语目染 熟能生巧 这里要说的耳语目染 就是别人一个环境下 我们每天接触 或者我们每天重复着围绕一个知识 一个话题的 你可以回想一下,生活中 比如女生 会套路什么品牌的衣服 鞋子 化妆品 ,男生会讨论 游戏里面的装备 技能 我们是怎么操作的 怎么装备使自己角色变得厉害起来 这时候你就知道了,很多东西并不是我们笨 我们蠢 我们学不会 而是我们不敢兴趣  首先比如我们打游戏 如果对这个游戏很陌生的情况下 ,我们有可能几分钟就被杀死,我们大多数男生觉得一种挑战 我们需要继续下去,就这样我们从新手任务开始学习,慢慢地就熟能生巧了.短短时间过去了 我们也成为了游戏里面的大佬,反正我们的学习也是 正因为我们没有天赋 接受能力比别人慢 慢慢地 自然就听不懂 渐渐地 把游戏放在生活的第一位,荒废学业.而那些所谓的学霸 就是接受能力强,慢慢的对学习有了自信,然后越来越好 就跟游戏里面打boos一样.所以总结,不管做什么 首先让孩子有兴趣 培养了自信心 才有动力去努力 慢慢的自然就去专研了.人的一辈子都在进步 在学习 在努力 但是我们要如何的看待这个问题,应该把学习 把努力当作一个关 当作一个游戏 首先培养兴趣+自信+努力+坚持+方法=收获,上面我们说了 兴趣 自信的重要,接着努力和坚持也很重要,知识本身就是一个累积的过程 就小学我们开始学母语 学词语 学句子 到现在 能流利的说一口的普通话,加上环境的影响自然,孩子在小时候的模仿能力很强 很容易受到身边 周围的人影响 所以给孩子一个好的环境 一个好氛围也是很重要的,俗话说 龙生龙 凤生凤 老鼠的孩子会打洞,这大概就是像我们阐述了 我们身边应该多个优秀的人沟通 多向别人讨好的方法习惯.模仿他人 更加塑造自己 而方法也是每个人需要懂得的,所谓的方法就是吸收别人的好习惯 好的方式 总结自己的一套方法,也就是人家常说的 很多人天天努力 但没有效果。可能人家没发现 自己在学习别人的同时 没有找到一个符合自己的方式 ,方法.所以每当我们迷茫的时候,静下来心 想想你自己到底哪里错了,是否还是坚持自己的道心,去遵循的自己的。好了,今天就分享到这里,祝各位都有自己的思考,坚持每天每份希望 给未来的自己一份满意的答卷!

    转载于:https://www.cnblogs.com/zhangcaiwang1/p/9631929.html

    展开全文
  • 运用SWOT分析法定性分析我国发展低碳经济优势、劣势、面临机遇和挑战,对实施低碳经济所引起会计相关问题展开分析,初步探讨了碳排放量碳交易等会计要素确定、记录、计量方法,以及碳排放权、能源消耗强度等...
  • 关于职工思想状况调查与思考 随着国企改革不断深入,许多深层次矛盾日益凸现,不稳定因素不断增加,职工思想方式、交往方式、生活方式和价值观念正在发生变化。因此,要化解各种矛盾,消除不稳定因素,...
  • 面对一项工程或者事业,我们需要拥有一个确定且有效思维方式来指导我们去应对解决问题。这时“设计思维”这一全新思维方式出现在了我面前。通过一段时间学习,我对设计思维产生了一些初步理解与思考。 ...

    面对一项工程或者事业,我们需要拥有一个确定且有效的思维方式来指导我们去应对解决问题。这时“设计思维”这一全新的思维方式出现在了我的面前。通过一段时间的学习,我对设计思维产生了一些初步的理解与思考。

    什么是设计思维?

    在我看来“设计思维”不仅包含了完成一项事业所需的种种方法而且在更高的层次上指出了如何实现一项“完美”的事业。

    首先“设计思维”遵循以人为本的设计理念,也就是说作为一名设计师(不仅仅是各种工程设计师,也可以是老师、管理者甚至厨师等等与“设计”这一活动相关的职业)在设计的过程中所需考虑的不仅仅是设计的高超技巧而是所面对的人的现实的需求。这其中“洞察力”、“观察”、“换位思考”是重要的部分。通过“洞察力”不仅仅分析人与产品之间的问题,更要分析人与人之间的问题。同时在看待问题时要尽量保持客观公正,避免产生惯性思维或是先入为主。“观察”是指通过各种各样的方式来发现隐藏的信息为“洞察”提供有力的帮助。“换位思考”需要我们超出自己的个体去感受体会他人。这样的设计思路是一位优秀的设计人员的基本思考方式。也就是说优秀的设计人员要拥有着以人为本而不是以技术为本的世界观。

    团队的重要性,一个项目的实现往往需要一个团队的协作,设计思维要求能够充分的发挥出团队中每个人的思维创新能力。每个人都参与到设计的整体之中,每个人都可以自由的对自己擅长或是不熟悉的领域提出自己的想法与创意。每个人的思维之间互相碰撞互相启发进而带来最佳的设计效果。同时敢于失败的团队文化也是重要的一环。

    **乐观与勇于实验,**我们要坚信通过设计思维的指导能够完成一切面对的问题,不要害怕失败,敢于通过真实的实验来验证我们的设计。

    如何通过设计思维解决问题?
    思维矩阵是一个重要的思考方式,其中又分为发散性思维和汇聚性思维。在发散思维的过程中,充分的头脑风暴和视觉思维是重要的。异想天开的思考可以产生大量的思路和和想法,整个团队的思维风暴能够让我们发现全新的点子和方向。但是要注意不要偏题和借题发挥其他内容。之后通过整合产生的大量想法形成汇聚思维。通过便利贴标记和设置一些截止日期是提升效果和效率的有效方法。

    **“用手来思考”——发挥模型的作用。**快速简单的将一个想法形成一个简易的模型对我们的进一步设计大有好处,将一个抽象的想法变成鲜活的模型,既便于他人的理解,也可以帮助我们修改精化我们的想法。在制作模型时可以通过虚拟情景的描述或者真实的角色扮演来进行。但是要注意不要在一个模型里装入太多的想法,这会使简单的模型变成臃肿的负担。

    回归于客户,让客户成为设计者,让每个人都成为设计者,让每个人都发表自己的想法。再通过客户的反馈来进一步优化设计,最终实现符合每一位客户的实际情况与个性需求的完美设计。

    讲好故事。把想法传播出去,讲好自身的故事,为想法争取资源与支持者。我们看到苹果的发布会就是一个完美的故事,每一个设计都不是孤立冰冷产生的,而是与实际需要紧密联系的,自然就能讲出令人惊叹向往的故事。

    为什么“设计思维”会产生?
    我认为“设计思维”的实际应用价值是与生产力的大幅提高和信息的快速传播密不可分。在过去的生产力条件下,设计出一个好的产品或计划,能够快速大量复制是其成功的关键。但是现在,生产力的提高使每个人都能够个性化选择有了实现可能性,这时“设计思维”的优势就显现了出来。以人为本的设计理念使设计者在设计的过程中能够充分的尊重客户的各种需求。同时“设计思维”让每一个设计者都参与进了整个设计过程,每个人既是项目的操作者又是设计的设计者,而不是简单的每个人负责一部分。最后与客户的交互性进一步扩大了设计的创新创意来源并提高了用户的个性化体验。

    总之,在这个智能制造的时代“设计思维”一定是一家企业或个人能够产生优势的关键所在。以人为本的设计思想尊重了每一位客户需求与个性,这样的设计者同时也值得客户的尊重。希望每一位设计师都能够合理利用“设计思维”分析问题,解决问题,创新创业,成为一名卓越的设计工作者。

    展开全文
  • 在调研的过程中,我们一般会采用定量和定性的方式来采集需求,其中定性方式包括用户访谈和可用性测试,定量方式包括调查问卷和数据分析,数据分析和调查问卷一般用于用户数量庞大的C端产品,B端产品因用户量相对C端...
  • 高等教育实施扩招以来,我国的高等教育已经...但是社会、家长、学生对高等教育现状的不满却日益凸显,如何找准问题、理清思路并通过改进教学管理的方式方法,促进教育教学质量的提高,是当前高等学校亟待研究和解决的问题
  • 结构化思考方法

    千次阅读 2008-02-11 02:07:00
    可以用零件不同排放方式,来区分结构非结构整体思路框架根本差别。简单说,把零件组装成能正常运转机器,就是结构。把同样这些零件摆放在一起,没有联系起来,就是非结构。显然,分析问题用结构...
  • 原帖:实施TDD时常见问题, 下面东西是张逸兄在回帖中讨论引发一些牢骚。说实话,以我一个中国人习性, 不太看好ThoughtWorks这方面工作; 当然, 最后可能主要是一些财主在经历一些失败的方法试验后...
  • 为此,本文就线上教育的特点、形式和方法进行思考分析,同时进行了有益的探索和实践。 一 问题的提出 一场突如其来的疫情虽然打破了常规,但是我们教育人是战“疫”不停学,成长不止步。为此,教育部发出“停课不停...
  • 在一个团队中,这种实现差异体现了每个人各自理解不同,但是反过来思考,一个团队用了同样UI,同样框架,实现方式确实有差异,这其实就是工程化的问题。  回到React中父组件子组件之间数据传递...
  • 根据问题的特点选用特定的思想和方法论来分解、组合各类...思想指的是你对问题的分析方法思考模式,而语言只是一种具体的表达,比如对于一个具体的问题,你的思想决定了你对问题的看法、分析问题的方法,处理这个...
  •  还记得刚开始做项目时候,看到别人封装js工具类百思不得其解,看来看去看不懂,深挖一下,其实就是自己没有耐下心去看,但是遇到问题不解决,总会遇到,今天还是遇到了,就去找了找帖子,重新思考与实践一下...
  • 对不同数据源特征提取(详见上一篇博客问题进一步思考:所谓针对原始振动数据通过时频分析得到时频图,可以将它保存成图片,作为图片特征,另外针对原始数据通过时域、频域统计得到数据特征即数据,它俩...
  • 关于解题思路与方法

    千次阅读 2014-09-06 22:38:56
    很多学生问我这个问题,拿来一道题(或实际一个问题)解决它的思路和方法... 每个人的思考方式和习惯都不尽相同,解决同一个问题达到同一个效果的方式也是如此。下面列出我个人比较常用的解题方法和思路,供大家参考。
  •  前一段时间实验室的几个小伙伴在做这个问题,他们用的方法是我们下面称之为方法的方式做的,大概思想就是用0标记空指针域,然后用先序遍历的方式序列和反序列。而当时我看到这个问题的第一反应就是利用二叉树的...
  • void addBSTreeNode(BSTreeNode *&pCurrent,int value) 这个函数参数是 BSTreeNode *&pCurrent 而不是...C++Java中参数传递方式及相关问题 在C++中市面上说法是有三种传递方法: 1、值传递 2、指针传递
  • 职场中他人沟通不紧张的方法 随着职位不断攀升,职场中面临的问题也越来越多,我们开始不断的思考,怎么才能在职场中游刃有余处理好上下级关系,今天小编给大家分享一些职场中他人沟通不紧张的方法,...
  • 思维方式与认知框架

    千次阅读 2017-06-13 23:28:35
    做事思维 偶尔为之的事情,需要可行解; 常常要做的事情,需要尽可能最优解/长远性的解 ...对自己有收获,且未来存在很多类似的事情时——寻找解决该类问题的方案/方法论 将事情区分优先级 紧急且重要的事情; 紧急
  • 11-OOP 面向对象编程[对象与方法,对象创建]①.初识面向对象- 面向对象编程(Object-Oriented Programming OOP)②.方法回顾与加深-方法调用③....物以类聚,分类思考方式思考问题首先会解
  • 沟通换位思考演讲稿600字 生活中我们需要学会...从多种角度看待问题,也许是一种绝处逢生的方法。 “沧浪之水清兮,可以濯吾缨;沧浪之水浊兮,可以濯吾足。”清澈水可以用来洗我衣服,浑浊水则用来洗脚。...
  • 绪论 习题与思考

    2020-11-19 13:08:23
    1什么是工程技术? 工程技术,指是工程实用技术。...正面给人们生活带来便利,使过去和现在生活方式带来很大不同,负面使环境污染愈发严重,耗费了大量资源,使资源短缺的问题愈发严重。
  • 在后台管理系统设计中,往往会遇到多层级查询展示。如何能更直观地展示数据,并且让用户体验更佳,是在设计过程中需要仔细考虑的问题。...经过一番思考和对比,确定了一个比较好展示方式——横纵交错。如第...
  • 跟几位 10+ 年经验技术软件架构师面试下来,感觉技术能力都很过关, 尤其是对新技术,能从架构师角度思考问题,对架构设计有成体系理解输出。 但是,当我在围绕着一些比较宏观灵活解决方案架构方法与思维...
  • 所需功能:给定一个课程名,获得该课程下所有的主题、分面以及碎片,并且以RDF的形式组织。即主题-分面-碎片。...在一开始实现的时候,采用的是多次读数据库的方式,每次需要查父分面或子分面时,都是去查数...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 824
精华内容 329
关键字:

思考问题的方式与方法