web项目调用dubbo的provider
来源:互联网 发布:淘宝留言 编辑:程序博客网 时间:2024/05/17 18:16
上一篇文章中消费者是在Maven项目中调用,接下来,我将使用web项目来调用提供者的接口
首先新建一个web工程(如何创建Maven的web项目自行上网百度),项目结构如下:
首先来看下pom.xml(可以拷贝上一篇文章中消费者的)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.wys</groupId><artifactId>test</artifactId><version>0.0.1-SNAPSHOT</version><name>test Maven Webapp</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><springversion>3.1.1.RELEASE</springversion><junitversion>3.8.1</junitversion></properties><dependencies><!-- 项目依赖 --><dependency><groupId>test-web</groupId><artifactId>test-pubilc-interface</artifactId><version>0.0.1-SNAPSHOT</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>${junitversion}</version><scope>test</scope></dependency><dependency><groupId>com.alibaba</groupId><artifactId>dubbo</artifactId><version>2.5.3</version><exclusions><exclusion><groupId>org.springframework</groupId><artifactId>spring</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>${springversion}</version><type>jar</type><scope>compile</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-asm</artifactId><version>${springversion}</version><type>jar</type><scope>compile</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>${springversion}</version><type>jar</type><scope>compile</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>${springversion}</version><type>jar</type><scope>compile</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${springversion}</version><type>jar</type><scope>compile</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId><version>${springversion}</version><type>jar</type><scope>compile</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${springversion}</version><type>jar</type><scope>compile</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-expression</artifactId><version>${springversion}</version><type>jar</type><scope>compile</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${springversion}</version><type>jar</type><scope>compile</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jms</artifactId><version>${springversion}</version><type>jar</type><scope>compile</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-orm</artifactId><version>${springversion}</version><type>jar</type><scope>compile</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-oxm</artifactId><version>${springversion}</version><type>jar</type><scope>compile</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>${springversion}</version><type>jar</type><scope>compile</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${springversion}</version><type>jar</type><scope>compile</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${springversion}</version><type>jar</type><scope>compile</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>${springversion}</version><type>jar</type><scope>compile</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version><type>jar</type><scope>compile</scope></dependency><dependency><groupId>commons-collections</groupId><artifactId>commons-collections</artifactId><version>3.1</version></dependency><dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.1</version></dependency><dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.3.3</version></dependency><dependency><groupId>com.github.sgroschupf</groupId><artifactId>zkclient</artifactId><version>0.1</version></dependency></dependencies><build><finalName>tan-springmvc-book</finalName></build></project>
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd"><mvc:annotation-driven /><context:annotation-config /><dubbo:annotation package="com.cl.user.*"/><context:component-scan base-package="com.tan.*" /><dubbo:application name="hehe_consumer" /><dubbo:registry address="zookeeper://172.30.9.173:2181" /><dubbo:reference id="userService" interface="com.cl.user.servicei.UserService" /><beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/" /><property name="suffix" value=".jsp" /></bean></beans>
log4j.properties
log4j.rootLogger=DEBUG,CONSOLE,Alog4j.addivity.org.apache=falselog4j.appender.CONSOLE=org.apache.log4j.ConsoleAppenderlog4j.appender.CONSOLE.Threshold=DEBUGlog4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} -%-4r [%t] %-5p %x - %m%nlog4j.appender.CONSOLE.Target=System.outlog4j.appender.CONSOLE.Encoding=UTF-8log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayoutlog4j.appender.A=org.apache.log4j.DailyRollingFileAppender log4j.appender.A.File=${catalina.home}/logs/FH_log/PurePro_log4j.appender.A.DatePattern=yyyy-MM-dd'.log'log4j.appender.A.layout=org.apache.log4j.PatternLayout log4j.appender.A.layout.ConversionPattern=[FH_sys] %d{yyyy-MM-dd HH\:mm\:ss} %5p %c{1}\:%L \: %m%nlog4j.logger.com.ibatis=debuglog4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debuglog4j.logger.com.ibatis.common.jdbc.ScriptRunner=debuglog4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debuglog4j.logger.java.sql.Connection=debuglog4j.logger.java.sql.Statement=debuglog4j.logger.java.sql.PreparedStatement=debug,stdout
web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><display-name></display-name><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><!-- Spring的log4j监听器 --><context-param> <param-name>log4jConfigLocation</param-name> <param-value>/WEB-INF/log4j.properties</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>book</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/applicationContext.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>book</servlet-name><url-pattern>/</url-pattern></servlet-mapping><servlet-mapping><servlet-name>book</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping></web-app>
MyController.java
package com.tan.controller;import javax.annotation.Resource;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.servlet.ModelAndView;import com.cl.user.servicei.UserService;@Controllerpublic class MyController {@Resource(name="userService")private UserService userService;@RequestMapping(method=RequestMethod.GET, value="/test/{id}",produces="text/plain;charset=UTF-8")@ResponseBodypublic String say(@PathVariable String id){return userService.sayHello("4");}@RequestMapping(method=RequestMethod.GET, value="/test1/{id}",produces="text/plain;charset=UTF-8")@ResponseBodypublic String test(@PathVariable String id){return userService.test(2,3);}@RequestMapping(method=RequestMethod.GET, value="/test2",produces="text/plain;charset=UTF-8")@ResponseBodypublic String test2(){return userService.test2(); }@RequestMapping("login.do")@ResponseBody public ModelAndView login(String username,String password){String result=userService.login(username, password);System.out.println("result===>"+result); return new ModelAndView(result,"username",username); } }
接下去在将项目部署在Tomcat下,启动,打开浏览器输入网址:http://localhost:8080/tan-springmvc-book/test/1 就可以看到provider返回的数据:
provider接口实现:
这里输入的网址还可以根据MyController中不同方法进行不同调用,如还可以访问:http://localhost:8080/tan-springmvc-book/test1/1
好了 ,本次就讲到这里,这篇是基于上一篇的改造,比较简单,所以就直接贴出代码,具体可以下载源码在研究研究
源码下载:http://pan.baidu.com/s/1pLg4ivx 密码:a05p
0 0
- web项目调用dubbo的provider
- 一个电商项目的Web服务化改造7:Dubbo服务的调用,4个项目
- dubbo 项目调用
- 关于dubbo服务找不到provider的原因
- 构建 Zookeeper + Dubbo + Spring Boot 的分布式调用项目
- 构建 Zookeeper + Dubbo + Spring Boot 的分布式调用项目
- dubbo(二)普通项目dubbo服务化改造+provider构建为jar包运行
- Dubbo容器--Provider
- DUBBO provider启动
- Dubbo Provider无法找到
- dubbo源码分享-provider
- Dubbo provider.java的 java.lang.IllegalArgumentException 求大神指教
- dubbox Duplicate provider configs: <dubbo:provider
- dubbo起步搭建Spring+SpringMVC+dubbo的开发环境(2,provider工程构建)
- Dubbo基础篇_03_简单的Dubbo提供者provider与消费者consumer
- 服务端调用dubbo的方式
- 服务端调用dubbo的方式
- 服务端调用dubbo的方式
- 如何看待微信小程序和谷歌小程序?
- oracle数据库设置一个自增量主键
- R语言因子分析
- java获取http网页预警信息
- svn中使用图形化工具对比及merge
- web项目调用dubbo的provider
- android 选取本地视频或图片
- 迭代器
- 【UML 建模】在线UML建模工具 ProcessOn 使用详解
- Android monkey的基本命令使用说明
- 【录教程必备】推荐几款屏幕录制工具(可录制GIF)
- 基于java\jdk6\tomcat6 的linux系统部署操作
- Android加密解惑
- Ajax中Put和Delete请求传递参数无效的解决方法(Restful风格)