企业级应用,如何实现服务化五(dubbo综合案例)

  这是企业级应用,如何实现服务化第五篇。在上一篇企业级应用,如何实现服务化四(基础环境准备)中。已经准备好了zookeeper注册中心,和dubbo管理控制台。这一篇通过一个综合案例,看一看在企业级应用中,如何将dubbo整合应用起来。

1.案例架构

项目模块说明:

#描述项目模块:
    1.父/聚合项目:spring-dubbo-master
        统一管理依赖版本信息,用于快速构建各个项目模块

    2.实体类子项目:spring-dubbo-domain
        用于放置实体类

    3.持久层子项目:spring-dubbo-dao
        用于放置持久层dao

    4.业务层子项目:spring-dubbo-service
        用于放置业务层service实现类

    5.web层子项目:spring-dubbo-web
        用于放置表现层Controller,以及表现层资源

    6.公共接口层项目:spring-dubbo-interface
        用于放置公共服务接口,把公共接口抽象出来,方便业务层和web层引用

2.服务器规划

3.创建项目模块

  3.1.创建父/聚合项目

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<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.0</modelVersion>

    <groupId>com.anan</groupId>
    <artifactId>spring-dubbo-master</artifactId>
    <version>1.0-SNAPSHOT</version>

    <!--父项目,聚合项目打包方式设置为pom-->
    <packaging>pom</packaging>

    <!--聚合其他模块-->
    <modules>
        <module>spring-dubbo-domain</module>
        <module>spring-dubbo-dao</module>
        <module>spring-dubbo-interface</module>
        <module>spring-dubbo-service</module>
        <module>spring-dubbo-web</module>
    </modules>

    <!--统一管理依赖版本-->
    <properties>
        <!--spring 版本-->
        <spring.version>5.0.2.RELEASE</spring.version>
        <!-- log4j日志包版本 -->
        <slf4j.version>1.7.7</slf4j.version>
        <log4j.version>1.2.17</log4j.version>
        <!-- jstl标签版本 -->
        <jstl.version>1.2</jstl.version>
        <!--servlet版本-->
        <servlet.version>2.5</servlet.version>
        <!--jsp版本-->
        <jsp.version>2.0</jsp.version>
        <!-- mybatis版本号 -->
        <mybatis.version>3.4.5</mybatis.version>
        <!--mysql驱动版本-->
        <mysql.version>5.1.30</mysql.version>
        <!-- mybatis-spring整合包版本 -->
        <mybatis.spring.version>1.3.1</mybatis.spring.version>
        <!--druid版本-->
        <druid.version>1.0.29</druid.version>
        <!-- aspectj版本号 -->
        <aspectj.version>1.6.12</aspectj.version>
        <!--dubbo相关版本号-->
        <dubbo.version>2.7.0</dubbo.version>
        <zookeeper.version>3.4.7</zookeeper.version>
        <zkclient.version>0.1</zkclient.version>
        <curator.version>2.11.1</curator.version>
    </properties>

    <!--统一管理依赖-->
    <dependencyManagement>
        <dependencies>
            <!--spring依赖包-->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <!-- spring web包 -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-web</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <!-- spring mvc包 -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <!--spring jdbc包-->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jdbc</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <!--spring tx包-->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-tx</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <!--aspectj包-->
            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjweaver</artifactId>
                <version>${aspectj.version}</version>
            </dependency>

            <!-- jstl标签类 -->
            <dependency>
                <groupId>jstl</groupId>
                <artifactId>jstl</artifactId>
                <version>${jstl.version}</version>
            </dependency>
            <!--servlet依赖-->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
                <version>${servlet.version}</version>
                <scope>provided</scope>
            </dependency>
            <!--jsp依赖-->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>jsp-api</artifactId>
                <version>${jsp.version}</version>
                <scope>provided</scope>
            </dependency>
            <!-- mybatis核心包 -->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>${mybatis.version}</version>
            </dependency>
            <!-- mybatis-spring整合包 -->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis-spring</artifactId>
                <version>${mybatis.spring.version}</version>
            </dependency>
            <!-- mysql数据库依赖 -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql.version}</version>
                <scope>runtime</scope>
            </dependency>
            <!--数据库连接池druid-->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>${druid.version}</version>
            </dependency>
            <!-- log4j包 -->
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>${log4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <!--dubbo相关依赖-->
            <dependency>
                <groupId>org.apache.dubbo</groupId>
                <artifactId>dubbo</artifactId>
                <version>${dubbo.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.zookeeper</groupId>
                <artifactId>zookeeper</artifactId>
                <version>${zookeeper.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.sgroschupf</groupId>
                <artifactId>zkclient</artifactId>
                <version>${zkclient.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.curator</groupId>
                <artifactId>curator-recipes</artifactId>
                <version>${curator.version}</version>
            </dependency>

        </dependencies>
    </dependencyManagement>

</project>

  3.2.创建实体类子项目

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<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">
    <parent>
        <artifactId>spring-dubbo-master</artifactId>
        <groupId>com.anan</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <modelVersion>4.0.0</modelVersion>

    <artifactId>spring-dubbo-domain</artifactId>

    <packaging>jar</packaging>

</project>

  3.3.创建持久层子项目

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<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">
    <parent>
        <artifactId>spring-dubbo-master</artifactId>
        <groupId>com.anan</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>spring-dubbo-dao</artifactId>
    <packaging>jar</packaging>

    <!--配置依赖-->
    <dependencies>
        <!--依赖domain-->
        <dependency>
            <groupId>com.anan</groupId>
            <artifactId>spring-dubbo-domain</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <!--依赖数据库驱动包-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <!--依赖数据库连接池包-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
        </dependency>
        <!--依赖mybatis框架包-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
        </dependency>
        <!--mybatis-spring整合包-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
        </dependency>
    </dependencies>

</project>

  3.4.创建公共接口项目

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<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">
    <parent>
        <artifactId>spring-dubbo-master</artifactId>
        <groupId>com.anan</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>spring-dubbo-interface</artifactId>
    <packaging>jar</packaging>

    <!--配置依赖-->
    <dependencies>
        <!--依赖domain-->
        <dependency>
            <groupId>com.anan</groupId>
            <artifactId>spring-dubbo-domain</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

</project>

  3.5.创建业务层子项目

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>

<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">
    <parent>
        <artifactId>spring-dubbo-master</artifactId>
        <groupId>com.anan</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>spring-dubbo-service</artifactId>
    <packaging>war</packaging>

    <!--配置依赖-->
    <dependencies>
        <!--依赖interface-->
        <dependency>
            <groupId>com.anan</groupId>
            <artifactId>spring-dubbo-interface</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <!--依赖dao-->
        <dependency>
            <groupId>com.anan</groupId>
            <artifactId>spring-dubbo-dao</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <!--依赖spring-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
        </dependency>
        <!--依赖dubbo-->
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
        </dependency>
        <dependency>
            <groupId>com.github.sgroschupf</groupId>
            <artifactId>zkclient</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-recipes</artifactId>
        </dependency>
        <!--log4j日志依赖-->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
        </dependency>
    </dependencies>

    <build>
        <finalName>spring-dubbo-service</finalName>
    </build>
</project>

  3.6.创建web层子项目

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>

<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">
    <parent>
        <artifactId>spring-dubbo-master</artifactId>
        <groupId>com.anan</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>spring-dubbo-web</artifactId>
    <packaging>war</packaging>

    <!--配置依赖-->
    <dependencies>
        <!--依赖interface-->
        <dependency>
            <groupId>com.anan</groupId>
            <artifactId>spring-dubbo-interface</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <!--依赖spring-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
        </dependency>
        <!--依赖servlet-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <!--依赖jsp-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jsp-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <!--依赖jstl-->
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
        <!--依赖dubbo-->
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
        </dependency>
        <dependency>
            <groupId>com.github.sgroschupf</groupId>
            <artifactId>zkclient</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-recipes</artifactId>
        </dependency>
        <!--log4j日志依赖-->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
        </dependency>
    </dependencies>

    <build>
        <finalName>spring-dubbo-web</finalName>
    </build>
</project>

  3.7.业务层子项目开发

    3.7.1.service实现类

package com.anan.service.impl;

import com.anan.dao.UserDao;
import com.anan.po.User;
import com.anan.service.UserService;
import org.apache.dubbo.config.annotation.Service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Service(timeout = 8000)
public class UserServiceImpl implements UserService {

    // 定义用户dao
    @Autowired
   private UserDao userDao;

    /**
     * 查询用户列表
     */
    public List<User> findAllUsers() {
        System.out.println("【findAllUsers】");
        return userDao.findAllUsers();

    }

    /**
     * 根据用户Id查询用户
     *
     * @param userId
     */
    public User findUserByUserId(Long userId) {
        System.out.println("【findUserByUserId】方法执行中......id="+userId);
        return userDao.findUserByUserId(userId);

    }

    /**
     * 更新用户
     *
     * @param user
     */
    @Transactional(propagation = Propagation.REQUIRED,readOnly = false)
    public void updateUser(User user) {
        System.out.println("【updateUser】方法执行中......");
        userDao.updateUser(user);
    }

    /**
     * 查看用户详情信息
     *
     * @param userId
     */
    public User findUserDetailByUserId(Long userId) {
        System.out.println("【findUserDetailByUserId】方法执行中......id="+userId);
        return userDao.findUserDetailByUserId(userId);

    }
}

    3.7.2.核心配置

<?xml version="1.0" encoding="UTF-8"?>
<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="spring-dubbo-service" />

    <!--使用zookeeper注册中心-->
    <dubbo:registry address="zookeeper://192.168.80.100:2181,192.168.80.101:2181,192.168.80.102:2181"
     file="${catalina.home}/dubbo-registry/dubbo-registry.properties" />

    <!--用dubbo协议在20885端口暴露服务-->
    <dubbo:protocol name="dubbo" port="20885"></dubbo:protocol>

    <!--扫描service包-->
    <dubbo:annotation package="com.anan.service.impl" />

</beans>

  3.8.web层子项目开发

    3.8.1.Controller控制器

    

package com.anan.controller;

import com.anan.po.User;
import com.anan.service.UserService;
import org.apache.dubbo.config.annotation.Reference;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.List;

/**
 * 用户controller
 */
@Controller
public class UserController {

    // 定义用户service
    @Reference
    private UserService userService;

    /**
     * 查询用户列表数据
     */
    @RequestMapping("/list.do")
    public String list(Model model){
        // 查询用户列表
        List<User> userList = userService.findAllUsers();
        model.addAttribute("userList",userList);

        return "user/list";

    }

    /**
     * 根据用户id查询用户
     */
    @RequestMapping("/get.do")
    public String get(Model model,Long id){
        // 根据用户Id查询用户
        User user = userService.findUserByUserId(id);
        model.addAttribute("user",user);

        return "user/edit";

    }

    /**
     * 保存修改用户信息
     */
    @RequestMapping("/edit.do")
    public String edit(User user){

        // 更新保存用户信息
        userService.updateUser(user);

        return "redirect:/list.do";
    }

    /**
     * 查看用户详情信息
     */
    @RequestMapping("/show.do")
    public String show(Model model,Long id){
        // 查看用户详情信息
        User user = userService.findUserDetailByUserId(id);
        model.addAttribute("user",user);

        return "user/show";

    }
}

    3.8.2.核心配置

<?xml version="1.0" encoding="UTF-8"?>
<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:dubbo="http://dubbo.apache.org/schema/dubbo"
       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/mvc
       http://www.springframework.org/schema/mvc/spring-mvc.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context.xsd
       http://dubbo.apache.org/schema/dubbo
       http://dubbo.apache.org/schema/dubbo/dubbo.xsd">

    <!--配置包扫描controller-->
    <context:component-scan base-package="com.anan.controller"/>

    <!--注解驱动方式配置处理器映射器和处理器适配器-->
    <mvc:annotation-driven></mvc:annotation-driven>

    <!--配置视图解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!--配置前缀:页面的公共目录路径-->
        <property name="prefix" value="/WEB-INF/jsp/"></property>
        <!--配置后缀:页面的扩展名称-->
        <property name="suffix" value=".jsp"></property>
    </bean>

    <!--消费方应用信息,用于计算依赖关系-->
    <dubbo:application name="spring-dubbo-web"/>

    <!--使用zookeeper注册中心-->
    <dubbo:registry address="zookeeper://192.168.80.100:2181,192.168.80.101:2181,192.168.80.102:2181"
     file="../dubbo-registry/dubbo-registry.properties"/>

    <!--配置包扫描controller中Reference-->
    <dubbo:annotation package="com.anan.controller"/>

</beans>

  

4.项目部署

说明:将项目打包,部署到tomcat。

  4.1.node02节点

  tomcat_1:

  tomcat_2:

  4.2.node03节点

  tomcat_1:

5.测试

说明:启动tomcat,进行测试。

  5.1.dubbo管理控制台

    5.1.1.服务提供者

 

    5.1.2.服务消费者

  5.2.访问服务

  访问地址:http://192.168.80.101:8081/spring-dubbo-web/list.do

  

  5.3.service服务后台执行日志

6.小结

  通过综合案例,实现了一个完整的高可用、负载均衡的web应用。按照项目三层架构:web层-->业务层service-->持久层dao。其中:

web应用高可用、负载均衡方案:
    1.nginx:keepalive,DNS轮询
    2.web层:nginx,F5
    3.service层:微服务框架,dubbo或者spring cloud
    4.dao层:主备+读写分离,可选择通过mycat中间件实现(后续专门针对dao层高可用,写一个系列)

原文地址:https://www.cnblogs.com/itall/p/10971477.html

时间: 2024-11-13 07:00:14

企业级应用,如何实现服务化五(dubbo综合案例)的相关文章

实验五 数据结构综合应用

20162317袁逸灏 实验五 数据结构综合应用 实验内容 实验五-1-编译.运行.测试 git clone 小组项目 编译项目,提交编译成功截图(全屏,要有学号信息) 提交运行过程中的截图(全屏,要有学号信息) 实验五-2-代码修改 在小组项目中,找一个合适的地方添加一个按钮,点击显示自己的学号 提交运行截图(全屏,要有学号信息) 实验要求 分析系统架构 编译.运行.测试系统 修改系统 分析数据结构.排序.查找算法的应用 实验过程 实验五-1-编译.运行.测试 这个实验考察的是学生对于代码项目

实验五 数据结构综合应用 20162305

实验五 数据结构综合应用 20162305 0 分析系统架构 我们本次做的是一个飞机大战的游戏,本次游戏是想让使用者通过操控一个飞机进行击毁敌机和躲避敌机的操作.这个APP总体是基于精灵类ISpirte实现了战斗机类,走直线的精灵类和爆炸类,这些类构成了整个APP的整体架构,所有的功能都集中在这几个类中. 战斗机类CombatAircraft: 战斗机类,定义一个由玩家操控的战斗机,这个战斗机每隔7帧发射子弹,并且设定方法确定战斗机一直处在界面中.战斗机如果被击中,执行爆炸效果.具体来说,首先隐

Solr综合案例深入练习

1. 综合案例 1.1. 需求 使用Solr实现电商网站中商品信息搜索功能,可以根据关键字.分类.价格搜索商品信息,也可以根据价格进行排序,并且实现分页功能. 界面如下: 1.2. 分析 开发人员需要的文档:静态页面(根据UI设计由美工给出).数据库设计.原型设计 1.2.1. UI分析 1.2.2. 架构分析 架构分为: (1).solr服务器.(已经做完,同入门示例) (2).自己开发的应用(重点) (3).数据库mysql 自己开发的应用 Controller      负责和前端页面进行

solr综合案例

1.  综合案例 1.1. 需求 使用Solr实现电商网站中商品信息搜索功能,可以根据关键字.分类.价格搜索商品信息,也可以根据价格进行排序,并且实现分页功能. 界面如下: 1.2分析 开发人员需要的文档:静态页面(根据UI设计由美工给出).数据库设计.原型设计 1.2.1 UI 分析 1.2.2    架构分析 架构分为: (1).solr服务器.(已经做完,同入门示例) (2).自己开发的应用(重点) (3).数据库mysql 自己开发的应用 Controller      负责和前端页面进

Ext.js入门:常用组件与综合案例(七)

一:datefield简单示例 二:timefield简单示例 三:numberfield简单示例 四:FormPanel提交 datefield简单示例: <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <link href="Ext/resources/css/ext-all.css&

综合案例-整合办公系统后台模块

综合案例-整合办公系统后台模块 1.配置虚拟主机(如www.think.com) 2.配置hosts文件并重启Apache服务器 3.复制ThinkPHP核心文件到项目的目录中(如think目录) 4.创建Zend工程 5.创建index.php入口文件(编写四步走) 6.划分项目前后台模块 设置配置文件(./Application/Common/Conf/config.php) 7.创建Public控制器并定义login方法 编写控制器三步走 8.设置URL调度模式 9.复制模板资源到Publ

Winform开发框架中的综合案例Demo

在实际的系统开发中,我们往往需要一些简单的的案例代码,基于此目的我把Winform开发框架中各种闪光点和不错的功能,有些是我们对功能模块的简单封装,而有些则是引入了一些应用广泛的开源组件进行集成使用,因此把它们做了一个Demo进行展示,以方便我们随时了解和参考,并能够快速应用相应的场景到具体的项目中. 1.闪屏展示界面及主体界面 在很多系统里面,提供一个设计不错的图片作为程序界面展示的效果是挺不错的,这个小程序也不例外,基本上整合了一些WInform界面常用的各种功能. 而整个案例的界面的界面以

DOM综合案例、SAX解析、StAX解析、DOM4J解析

今日大纲 1.DOM技术对xml的增删操作 2.使用DOM技术完成联系人管理 3.SAX和StAX解析 4.DOM4J解析 5.XPATH介绍 1.DOM的增删操作 1.1.DOM的增加操作 /* * 演示使用dom技术给xml中添加标签 * <book> <name id="b001">SSH</name> <author>老于</author> <price>152</price> </boo

JavaEE Tutorials (30) - Duke综合案例研究示例

30.1Duke综合应用的设计和架构456 30.1.1events工程458 30.1.2entities工程459 30.1.3dukes—payment工程461 30.1.4dukes—resources工程461 30.1.5Duke商店工程461 30.1.6Duke货运工程46530.2构建和部署Duke综合案例研究应用467 30.2.1使用NetBeans IDE构建和部署Duke综合应用467 30.2.2使用Maven构建和部署Duke综合应用46730.3运行Duke综合