1.新建Model不使用maven框架

2.User类
- package com.it.dubbo.entity;
-
- import java.io.Serializable;
-
- public class User implements Serializable {
- private Integer id;
- private String name;
-
- @Override
- public String toString() {
- return "User{" +
- "id=" + id +
- ", name='" + name + '\'' +
- '}';
- }
-
- public Integer getId() {
- return id;
- }
-
- public void setId(Integer id) {
- this.id = id;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
- }
3.UserService
- package com.it.dubbo.service;
-
- import com.it.dubbo.entity.User;
-
- public interface UserService {
- /**
- * 根据用户标识获取用户的信息
- * @param id
- * @return
- */
- User queryUserById(Integer id,String name);
- }
1.新建model使用maven的archetype-webapp的框架

2.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/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0modelVersion>
-
- <groupId>com.it.dubbogroupId>
- <artifactId>007-zk-userservice-providerartifactId>
- <version>1.0-SNAPSHOTversion>
- <packaging>warpackaging>
-
- <dependencies>
-
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-contextartifactId>
- <version>4.3.16.RELEASEversion>
- dependency>
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-webmvcartifactId>
- <version>4.3.16.RELEASEversion>
- dependency>
-
- <dependency>
- <groupId>com.alibabagroupId>
- <artifactId>dubboartifactId>
- <version>2.6.2version>
- dependency>
-
- <dependency>
- <groupId>com.it.dubbogroupId>
- <artifactId>006-zk-interfaceartifactId>
- <version>1.0-SNAPSHOTversion>
- dependency>
-
- <dependency>
- <groupId>org.apache.curatorgroupId>
- <artifactId>curator-frameworkartifactId>
- <version>4.1.0version>
- dependency>
-
- dependencies>
-
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-compiler-pluginartifactId>
- <version>3.1version>
- <configuration>
- <source>1.8source>
- <target>1.8target>
- configuration>
- plugin>
- plugins>
- build>
-
- project>
3.UserServiceImpl类
- package com.it.dubbo.service.impl;
-
- import com.it.dubbo.entity.User;
- import com.it.dubbo.service.UserService;
-
- import java.util.UUID;
-
- public class UserServiceImpl implements UserService {
-
- @Override
- public User queryUserById(Integer id, String name) {
- User user = new User();
- user.setId(id);
- user.setName(name);
- return user;
- }
- }
4.dubbo-zk-userservice-provider.xml配置文件
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
-
-
- <dubbo:application name="007-zk-userservice-provider"/>
-
- <dubbo:protocol name="dubbo" port="20880"/>
-
- <dubbo:registry address="zookeeper://localhost:2181"/>
-
- <dubbo:service interface="com.it.dubbo.service.UserService" ref="userServiceImpl"/>
-
- <bean id="userServiceImpl" class="com.it.dubbo.service.impl.UserServiceImpl"/>
-
- beans>
5.web.xml配置文件
- <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
- version="4.0">
- <context-param>
- <param-name>contextConfigLocationparam-name>
- <param-value>classpath:dubbo-zk-userservice-provider.xmlparam-value>
- context-param>
- <listener>
- <listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>
- listener>
-
- web-app>
1.新建Model使用archetype-webapp框架

2.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/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0modelVersion>
-
- <groupId>com.it.dubbogroupId>
- <artifactId>008-zk-consumerartifactId>
- <version>1.0-SNAPSHOTversion>
- <packaging>warpackaging>
-
- <dependencies>
-
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-contextartifactId>
- <version>4.3.16.RELEASEversion>
- dependency>
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-webmvcartifactId>
- <version>4.3.16.RELEASEversion>
- dependency>
-
- <dependency>
- <groupId>com.alibabagroupId>
- <artifactId>dubboartifactId>
- <version>2.6.2version>
- dependency>
-
- <dependency>
- <groupId>com.it.dubbogroupId>
- <artifactId>006-zk-interfaceartifactId>
- <version>1.0-SNAPSHOTversion>
- dependency>
-
- <dependency>
- <groupId>org.apache.curatorgroupId>
- <artifactId>curator-frameworkartifactId>
- <version>4.1.0version>
- dependency>
-
- dependencies>
-
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-compiler-pluginartifactId>
- <version>3.1version>
- <configuration>
- <source>1.8source>
- <target>1.8target>
- configuration>
- plugin>
- plugins>
- build>
-
- project>
3.UserController类
- package com.it.dubbo.web;
-
- import com.it.dubbo.entity.User;
- import com.it.dubbo.service.UserService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.web.bind.annotation.RequestMapping;
-
- @Controller
- public class UserController {
-
- @Autowired
- private UserService userService;
- @RequestMapping(value = "/userDetail")
- public String userDetail(Integer id,String name, Model model){
- User user = userService.queryUserById(id, name);
- model.addAttribute("user",user);
- return "userDetail";
- }
- }
4.applicationContext.xml配置文件
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:context="http://www.springframework.org/schema/context"
- xmlns:mvc="http://www.springframework.org/schema/mvc"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
-
-
- <context:component-scan base-package="com.it.dubbo.web"/>
-
- <mvc:annotation-driven/>
-
- <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
- <property name="prefix" value="/"/>
- <property name="suffix" value=".jsp"/>
- bean>
- beans>
5.dubbo-zk-consumer.xml文件
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd">
-
-
- <dubbo:application name="008-zk-consumer"/>
-
- <dubbo:registry address="zookeeper://localhost:2181"/>
-
- <dubbo:reference id="userService" interface="com.it.dubbo.service.UserService"/>
- beans>
6.web.xml文件
- <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
- version="4.0">
-
- <servlet>
- <servlet-name>dispatcherServletservlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
- <init-param>
- <param-name>contextConfigLocationparam-name>
- <param-value>classpath:applicationContext.xml,classpath:dubbo-zk-consumer.xmlparam-value>
- init-param>
- servlet>
- <servlet-mapping>
- <servlet-name>dispatcherServletservlet-name>
- <url-pattern>/url-pattern>
- servlet-mapping>
-
- web-app>
7.userDetail.jsp文件
- <%--
- Created by IntelliJ IDEA.
- User: lijianglin
- Date: 2022/8/13
- Time: 8:33
- To change this template use File | Settings | File Templates.
- --%>
- <%@ page contentType="text/html;charset=UTF-8" language="java" %>
- <html>
- <head>
- <title>用户详情title>
- head>
- <body>
- <div>用户编号:${user.id}div>
- <div>用户姓名:${user.name}div>
- body>
- html>
服务器配置


功能测试:

