美文网首页
taotao-服务层taotao-rest搭建,表现层taota

taotao-服务层taotao-rest搭建,表现层taota

作者: 小小蒜头 | 来源:发表于2018-12-13 23:14 被阅读24次
前台系统搭建

查询商品信息,pc端可以查询,移动端也可以查看商品。展示内容一样,只是展示方式不一样。可以把业务逻辑提取出来,发布服务,供pc、移动端公用。

好处:
  1、提高代码复用度
  2、可以灵活的进行分布式部署。
  3、系统之间耦合度低
  4、团队之间开发不冲突
缺点:
  1、需要发布Webservice,系统之间需要远程调用
  2、工作量增加
  3、需要系统之间协作才能完成整个业务流程,系统之间调用变的复杂

需要创建两个工程
服务层----taotao-rest没有表现层,只有业务逻辑。需要发布服务。
表现层----taotao-portal只有表现层,没有业务逻辑,不需要连接数据库。

表现层和服务层通信,使用Webservice进行通信。Restful形式的Webservice。Webservice实质上就是http传递json或者XML等数据。

1. 创建工程----服务层taotao-rest

功能:前台系统服务层,功能是发布服务,便于适配Android,iOS和PC等不同的portal门户

1.1 使用的技术

1、Mybatis
2、Spring
3、发布服务:cxf、springmvc(二选一,这里选择springmvc)

1.2 taotao-rest搭建

参考taotao-manager-web模块的创建。taotao-rest打包方式是war包,继承taotao-parent,在taotao-parent上右键New → Module → Next,如下图1、图2、图3所示

图1 图2 图3

1.3 框架整合

SSM框架的整合。参考taotao-manager的框架整合,直接拷贝里面的配置文件和web.xml放到taotao-rest工程里面。

框架结构
  1. client.conf文件上传文件需要,文件上传大部分都在后台完成,这个工程主要是前台展示,所以现在用不到,不需要。
  1. resource.properties这个文件需要留着,后面配置一些参数之类的
  2. applicationContext-dao.xml中的MapperScannerConfigurer配置需要注意,此时因为taotao-manager-dao被打成jar包,就可以直接在pom.xml文件中添加依赖
  3. applicationContext-service.xml中的com.taotao.service包没有,需要新建,这里更名为com.taotao.rest.service
  4. applicationContext-trans.xml中的pointcut包名也更为com.taotao.rest.service
  5. springmvc.xml中的包扫描器更为com.taotao.rest.controller;静态资源映射不需要,因为没有静态资源;多媒体文件解析器也不需要,不需要上传图片;视图解析器也没必要

taotao-rest的pom文件:添加spring的依赖、配置tomcat插件

<?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>taotao-parent</artifactId>
        <groupId>com.taotao</groupId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../taotao-parent/pom.xml</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>taotao-rest</artifactId>
    <packaging>war</packaging>

    <name>taotao-rest Maven Webapp</name>
    <!-- FIXME change it to the project's website -->
    <url>http://www.example.com</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.7</maven.compiler.source>
        <maven.compiler.target>1.7</maven.compiler.target>
    </properties>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>

        <!-- 添加数据库访问工程依赖 -->
        <dependency>
            <groupId>com.taotao</groupId>
            <artifactId>taotao-manager-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-beans</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-aspects</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
        </dependency>
        <!-- JSP相关 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jsp-api</artifactId>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <build>
        <finalName>taotao-rest</finalName>
        <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
            <plugins>
                <plugin>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>3.0.0</version>
                </plugin>
                <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.0.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.7.0</version>
                </plugin>
                <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.20.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>
                <plugin>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>2.5.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>2.8.2</version>
                </plugin>
                <!-- 配置Tomcat插件 -->
                <plugin>
                    <groupId>org.apache.tomcat.maven</groupId>
                    <artifactId>tomcat7-maven-plugin</artifactId>
                    <version>2.2</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

</project>

2. 创建工程---表现层taotao-portal

taotao-portal结构

2.1 使用的技术

不需要连接数据库,不用mybatis。打包方式是war包,因为用作网站页面展示。

1、Spring
2、Springmvc

2.2 taotao-rest搭建

搭建方式与taotao-rest一样

依赖的jar包:
1、taotao-manager-pojo
2、Spring
3、Tomcat插件

2.3 框架整合

taotao-portal的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>taotao-parent</artifactId>
        <groupId>com.taotao</groupId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../taotao-parent/pom.xml</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>taotao-portal</artifactId>
    <packaging>war</packaging>

    <name>taotao-portal Maven Webapp</name>
    <!-- FIXME change it to the project's website -->
    <url>http://www.example.com</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.7</maven.compiler.source>
        <maven.compiler.target>1.7</maven.compiler.target>
    </properties>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>com.taotao</groupId>
            <artifactId>taotao-manager-pojo</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-beans</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-aspects</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
        </dependency>
        <!-- JSP相关 -->
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jsp-api</artifactId>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <build>
        <finalName>taotao-portal</finalName>
        <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
            <plugins>
                <plugin>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>3.0.0</version>
                </plugin>
                <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.0.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.7.0</version>
                </plugin>
                <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.20.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>
                <plugin>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>2.5.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>2.8.2</version>
                </plugin>
                <!-- 配置Tomcat插件 -->
                <plugin>
                    <groupId>org.apache.tomcat.maven</groupId>
                    <artifactId>tomcat7-maven-plugin</artifactId>
                    <configuration>
                        <port>8082</port>
                        <path>/</path>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
</project>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         id="taotao" version="2.5">
  <display-name>taotao-portal</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>

  <!-- log4j配置文件位置 -->
  <context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>classpath:properties/log4j.properties</param-value>
  </context-param>

  <!-- 利用spring来使用log4j -->
  <listener>
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
  </listener>

  <!-- 初始化spring容器 -->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:spring/applicationContext-*.xml</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>

  <!-- 解决post乱码 -->
  <filter>
    <filter-name>CharacterEncodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>utf-8</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>CharacterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>


  <!-- springmvc的前端控制器 -->
  <servlet>
    <servlet-name>taotao-portal</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!-- contextConfigLocation不是必须的, 如果不配置contextConfigLocation, springmvc的配置文件默认在:WEB-INF/servlet的name+"-servlet.xml" -->
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:spring/springmvc.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>taotao-portal</servlet-name>
    <!-- 伪静态化 -->
    <url-pattern>*.html</url-pattern>
  </servlet-mapping>
</web-app>

2.4 访问首页

创建一个Controller,当访问http://localhost:8082/跳转到首页
请求的url:/index

IndexCOntroller

package com.taotao.portal.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * 首页访问Controller
 * Created by yvettee on 12/15/18.
 */
@Controller
public class IndexController {

    @RequestMapping("/index")
    public String showIndex() {
        return "index";
    }
}
首页访问

新增 taotao-rest 模块增加或者修改的文件:参考

新增 taotao-portal 模块增加或者修改的文件(commit message写错了):参考

上篇:taotao-保存规格参数
源代码:https://github.com/yvettee36/taotao

相关文章

  • taotao-服务层taotao-rest搭建,表现层taota

    查询商品信息,pc端可以查询,移动端也可以查看商品。展示内容一样,只是展示方式不一样。可以把业务逻辑提取出来,发布...

  • 5、前台工程搭建、首页商品类目显示

    一、前台系统搭建 1、Taotao-rest:服务层没有 jsp 页面。2、Taotao-portal:前台门户,...

  • 03登录

    将Token写入Cookie服务层做不到,只能由表现层来做. 服务层 表现层

  • dubbo简单使用

    首先来看看Maven分层分模块架构 表现层调用服务层关系紊乱,一个服务层被多个表现层调用那是不是又可以抽出来?如果...

  • Spring MVC简介

    Java适合做B/S(浏览器/服务器)架构 服务器的三层架构: 1、表现层(SpringMVC等框架) 2、业务层...

  • 大数据处理知识点复习

    应用层:专注于业务 表现层 会话层: 传输层:稳和快,两大类应用:web服务和在线直播 网络层:怎么标识通信的各方...

  • 2019-06-09 Spring MVC的学习笔记(一)

    三层架构与MVC模型 B/S交互:浏览器和服务器端,将服务器端分为三层架构 第一层:表现层(Spring MVC)...

  • Java后台-Spring 概述-2020-12-08

    三层架构 A 表现层 web层 MVC是表现层的一个设计模型 B 业务层 service层 C 持久层...

  • SpringMVC

    SpringMVC是一个基于三层处理架构的表现层处理框架。三层架构是指:表现层、业务层、数据访问层。表现层对应于业...

  • 表现层定义

    使用多种感知方式,包括听觉、视觉,保证对比和一致性,比如视觉元素的大小和颜色,做好配色和排版。

网友评论

      本文标题:taotao-服务层taotao-rest搭建,表现层taota

      本文链接:https://www.haomeiwen.com/subject/hqwkhqtx.html