【SSM分布式架构电商项目-10】搭建前台系统

所使用的技术

后台技术: Spring SpringMVC Mybatis(不用)?
前台技术:html、CSS、JS
如果不使用Mybatis,商品的数据从何而来? – 来源于Mysql数据库
获取数据的途径:
1、 从JDBC获取
a) 优点
i. 直接,获取的途径较短,简单
b) 缺点
i. 对后台系统团队而言,数据不安全(只要开放的账户是只读的账户即可)
ii. 前端系统团队需要有学习的成本,才能使用数据库
iii. 依赖、耦合度太高,后端团队将数据库结构修改,那么其他团队必须跟着修改逻辑,才能使用
iv. 直接走数据库查询,无法添加缓存逻辑
2、 通过后台系统接口获取
a) 优点
i. 耦合度降低,后端团队只要保证接口的返回数据格式不变化,其他团队就无需升级
ii. 数据安全
iii. 前端团队无需了解学习后端团队的底层数据库结构
iv. 后端团队可以在接口处添加缓存逻辑
b) 缺点
i. 获取的路径较长(不是真正的缺点)

创建taotao-web

【SSM分布式架构电商项目-10】搭建前台系统_第1张图片

导入依赖

<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>
  <parent>
        <groupId>com.taotao.parentgroupId>
        <artifactId>taotao-parentartifactId>
        <version>0.0.1-SNAPSHOTversion>
parent>
  <groupId>com.taotao.webgroupId>
  <artifactId>taotao-webartifactId>
  <version>0.0.1-SNAPSHOTversion>
  <packaging>warpackaging>


<dependencies>
        <dependency>
              <groupId>com.taotao-commongroupId>
             <artifactId>taotao-commonartifactId>
            <version>0.0.1-SNAPSHOTversion>
        dependency>

        
        <dependency>
            <groupId>junitgroupId>
            <artifactId>junitartifactId>
            <scope>testscope>
        dependency>

        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-webmvcartifactId>
        dependency>

        <dependency>
            <groupId>org.slf4jgroupId>
            <artifactId>slf4j-log4j12artifactId>
        dependency>

        
        <dependency>
            <groupId>com.fasterxml.jackson.coregroupId>
            <artifactId>jackson-databindartifactId>
        dependency>

        
        <dependency>
            <groupId>jstlgroupId>
            <artifactId>jstlartifactId>
        dependency>
        <dependency>
            <groupId>javax.servletgroupId>
            <artifactId>servlet-apiartifactId>
            <scope>providedscope>
        dependency>
        <dependency>
            <groupId>javax.servletgroupId>
            <artifactId>jsp-apiartifactId>
            <scope>providedscope>
        dependency>

        
        <dependency>
            <groupId>org.apache.commonsgroupId>
            <artifactId>commons-lang3artifactId>
        dependency>
        <dependency>
            <groupId>org.apache.commonsgroupId>
            <artifactId>commons-ioartifactId>
        dependency>
    dependencies>


    <build>
        <plugins>
            
            <plugin>
                <groupId>org.apache.tomcat.mavengroupId>
                <artifactId>tomcat7-maven-pluginartifactId>
                <configuration>
                    <port>8082port>
                    <path>/path>
                configuration>
            plugin>
        plugins>
    build>
project>

Web.xml


<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID" version="2.5">
    <display-name>taotao-webdisplay-name>

    <context-param>
        <param-name>contextConfigLocationparam-name>
        <param-value>classpath:spring/applicationContext*.xmlparam-value>
    context-param>

    
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>
    listener>

    
    <filter>
        <filter-name>encodingFilterfilter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilterfilter-class>
        <init-param>
            <param-name>encodingparam-name>
            <param-value>UTF8param-value>
        init-param>
    filter>
    <filter-mapping>
        <filter-name>encodingFilterfilter-name>
        <url-pattern>/*url-pattern>
    filter-mapping>

    
    <servlet>
        <servlet-name>taotao-webservlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
        <init-param>
            <param-name>contextConfigLocationparam-name>
            <param-value>classpath:spring/taotao-web-servlet.xmlparam-value>
        init-param>
        <load-on-startup>1load-on-startup>
    servlet>

    <servlet-mapping>
        <servlet-name>taotao-webservlet-name>
        
        <url-pattern>*.htmlurl-pattern>
    servlet-mapping>

    <welcome-file-list>
        <welcome-file>index.jspwelcome-file>
    welcome-file-list>

web-app>

Spring和SpringMVC配置文件

【SSM分布式架构电商项目-10】搭建前台系统_第2张图片

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
    xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
    http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">

    
    <bean
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        
        
        <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
        
        <property name="ignoreResourceNotFound" value="true" />
        
        <property name="locations">
            <list>
                <value>classpath:env.propertiesvalue>
            list>
        property>
    bean>

    
    <context:component-scan base-package="com.taotao"/>

beans>

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
    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-4.0.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">

    
    <mvc:annotation-driven/>

    
    <context:component-scan base-package="com.taotao.web.controller"/>

    
    
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/"/>
        <property name="suffix" value=".jsp"/>
    bean>

beans>

导入静态文件

【SSM分布式架构电商项目-10】搭建前台系统_第3张图片

编写IndexController

【SSM分布式架构电商项目-10】搭建前台系统_第4张图片

package com.taotao.web.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;


@RequestMapping("index")
@Controller
public class IndexController {


    /**
     * 首页
     * 
     * @return
     */
    @RequestMapping(method = RequestMethod.GET)
    public ModelAndView index() {
        ModelAndView mv = new ModelAndView("index");
        return mv;
    }

}

配置hosts和nginx

【SSM分布式架构电商项目-10】搭建前台系统_第5张图片

【SSM分布式架构电商项目-10】搭建前台系统_第6张图片

运行测试发现:
www.taotao.com会找不到页面:
【SSM分布式架构电商项目-10】搭建前台系统_第7张图片
www.taotao.com/index.html才找得到页面
【SSM分布式架构电商项目-10】搭建前台系统_第8张图片

因为输入www.taotao.com,默认找的是index.jsp,不满足*.html的规则。
【SSM分布式架构电商项目-10】搭建前台系统_第9张图片

【SSM分布式架构电商项目-10】搭建前台系统_第10张图片
修改后重新测试:
【SSM分布式架构电商项目-10】搭建前台系统_第11张图片

你可能感兴趣的:(SSM分布式架构电商项目)