zoukankan      html  css  js  c++  java
  • 创建 SpringMVC项目 模拟 Dubbo消费端

    (神奇,明明记得之前记录过一篇,整合tomcat jar、war。。的文章,找不到了,所有特意记录一下,以下摘自txt记录文档)

    先自己新建了项目,把dubbo-consumer.xml 配置 和 mvc 配置 是分开的,,,坑来了。。。

    1、启动不了,报各种错的那种,log、lifeCycle。。。

    先是自己各种配置Artifact、deployed都是启动报错

    后面用在IDEA配tomcat里面,用提示自动配的好了。。。。


    》》》Project Setting -- Artifacts:

    (a)先:+ Web Application -- Exploded(第二个) -- From Modules -- 选中,(选完里面把路径改到target下)

    》》》(大功告成)项目报500了。。。,而且压根不必要配别的,就是接下来的Artifacts的那个

    500的错还算明显,mvc.xml里面配了限制文件上传bean,却没有用到的地方。。。

    ---------后面,maven clean了一次之后,又全部404了,,,,,且tomcat webapp下面没有看到war包什么的。。。

    (b)于是,+ Web Application -- Exploded(第三个) -- From 上面的exploded -- 选中(第一次忘了改路径,还是404),
    路径改到target下面后,还是404,且tomcat webapp 和 target下面文件没有变化(即没有出现war包什么的)

    再于是,把tomcat里面的配置改成了(b)配置的war包,并改路径 / 。。。。还是404

    =============苦逼脸,,,,最后包jar包配置全部删了,又配成了(a)一样的,包括tomcat,启动,都OK了,dubbo也是好的(最终解决方案)
    =======有很多神奇的东西,是无法用人类来解释的,,,(大概怀疑是tomcat存在缓存机制,但是一脸懵逼啊2019-07-10 18:45)

    2、又遇到了下一个问题:全部报404

    在mvc.xml 里面加上了两行配置,且同时把tomcat配置里面,Deploy里面,长长的jar包名称改成 单斜杆 / 了;
    <mvc:default-servlet-handler/>
    <mvc:annotation-driven />

    3、、、、、、好了,controller可以正常访问了,但是 NPE 它来啦。。。

    最终解决参考:https://www.cnblogs.com/taohaijun/p/9039684.html,就是把 mvc 和 dubbo 的 xml 配置放一起,,,开始循环404、404、404。。。

    =============上面的只是在一个demo上的测试,于是把上面的配置移到了公司的项目里面(配置多、maven多层那种),,,NPE,,,它又来了,,,

    发现把dubbo的配置放在 mvc 扫描 之前,还是不行,,,

    第二天早上来,又通读了几篇博文,发现最终的解决办法是漏了一个注解启动标签:<dubbo:annotation />,所以最终spring-mvc.xml整合dubbo的配置是:

    <!--<mvc:annotation-driven />-->
    
        <!-- 这里一定不能少,但demo项目并没有也是OK的,大神请赐教 -->
        <dubbo:annotation />
        <!-- 提供方应用信息,用于计算依赖关系 -->
        <dubbo:application name="meerkat-web-consumer"  />
        <!-- 使用zookeeper注册中心暴露服务地址 -->
        <dubbo:registry address="zookeeper://localhost:2181" />
        <dubbo:annotation package="com.meerkat.web.control.*"/>
    
        <context:component-scan base-package="com.meerkat.*" />
    MVC整合dubbo的配置

    解决的思路参考:https://blog.csdn.net/qq_16414307/article/details/50328481

    另外,对spring启动配置文件加载顺序不了解的可以看看这篇:https://blog.csdn.net/lchpersonal521/article/details/81837583,而且这篇文章讲的是如何用JavaBean的配置dubbo

    当然,最后也附上有关pom配置:

    <!-- dubbo集成包-->
            <dependency>
                <groupId>com.101tec</groupId>
                <artifactId>zkclient</artifactId>
                <version>0.3</version>
            </dependency>
            <dependency>
                <groupId>org.apache.zookeeper</groupId>
                <artifactId>zookeeper</artifactId>
                <version>3.4.12</version>
            </dependency>
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>dubbo</artifactId>
                <version>2.6.0</version>
            </dependency>
            <!-- 自己打包发布的服务接口,api -->
            <dependency>
                <groupId>com.example</groupId>
                <artifactId>dubbo-api</artifactId>
                <version>1.2.0</version>
            </dependency>
    引入dubbo有关的pom包
  • 相关阅读:
    Django简介和安装
    CVE-2011-0104:Microsoft Office Excel 中的栈溢出漏洞调试分析
    Struts2漏洞
    JSONP跨域资源共享的安全问题
    如何以最简单的方式安装 KALI 渗透测试框架系统
    CVE-2010-3333:Microsoft RTF 栈溢出漏洞调试分析
    CVE-2010-2883:基于样本分析 PDF SING表字符溢出漏洞
    针对缓冲区保护技术(ASLR)的一次初探
    利用 ROP 技术绕过 DEP 保护的一次简单尝试
    缓冲区溢出之栈溢出利用(手动编写无 payload 的 Exploit)
  • 原文地址:https://www.cnblogs.com/zz-3m23d-begining/p/11165856.html
Copyright © 2011-2022 走看看