欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

京淘项目总结day16之前台搭建

程序员文章站 2024-01-25 21:45:34
...

1 前台项目搭建

1.1 架构设计图

京淘项目总结day16之前台搭建

1.2 jt-web项目创建

1.2.1 创建jt-web服务器

京淘项目总结day16之前台搭建

1.2.2 添加继承/依赖/插件

<?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>
    <artifactId>jt-web</artifactId>
    <!--打war包-->
    <packaging>war</packaging>

    <!--父级工程-->
    <parent>
        <artifactId>jt2007</artifactId>
        <groupId>com.jt</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <!--添加依赖项-->
    <dependencies>
        <dependency>
            <groupId>com.jt</groupId>
            <artifactId>jt-common</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

    <!--4.添加maven插件-->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

1.2.3 导入静态资源文件

1.2.4 关于主启动类说明

(1)jt-web服务器启动时会加载数据源的自动化配置,但是web服务器没有配置数据源,所以报错。
京淘项目总结day16之前台搭建
(2)在启动类上添加数据源启动
京淘项目总结day16之前台搭建

1.2.5 配置工作目录

京淘项目总结day16之前台搭建

1.3 域名反向代理

需求: 要求用户通过http://www.jt.com 访问localhost:8092服务器。

1.3.1 修改hosts文件

京淘项目总结day16之前台搭建

1.3.2 修改nginx配置文件

#配置前台服务器
	server {
		listen 80;
		server_name www.jt.com;

		location / {
			proxy_pass http://localhost:8092;
		}
	}

修改之后,重启nginx服务器
京淘项目总结day16之前台搭建

1.3.3 页面效果展现

京淘项目总结day16之前台搭建

1.4 谷歌浏览器禁用HTTPS

 chrome://net-internals/#hsts:

京淘项目总结day16之前台搭建
修改完成之后,先清空缓存之后重启浏览器

1.5 开启后缀类型匹配

例如:由于京东商城的商品展现时通过
url:https://item.jd.com/10021377498920.html,京东的访问是根据.html进行拦截,之后通过restFul结构动态获取商品的ID号,之后查询数据库进行的回显.所以需要对后缀进行拦截.有了如下的配置。

@Configuration
public class MvcConfigurer implements WebMvcConfigurer{
	
	//开启匹配后缀型配置
	@Override
	public void configurePathMatch(PathMatchConfigurer configurer) {
		
		configurer.setUseSuffixPatternMatch(true);
	}
}

http://www.jt.com/index (该请求会被Controller进行拦截)
http://www.jt.com/index.html (该请求默认条件下表示获取静态资源文件,不会被拦截)
一般条件下:Controller只拦截前缀类型的请求.。如果需要拦截后缀类型的请求需要单独配置。

2 登录注册页面跳转

2.1 实现通用页面跳转

(1)url1: http://www.jt.com/user/login.html 跳转页面 login.jsp
(2)url2: http://www.jt.com/user/register.html 跳转页面 register.jsp
需求: 能否利用一个Controller方法.实现通用页面的跳转?

package com.jt.controller;

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

@Controller
@RequestMapping("/user")
public class UserController {

    /**
     * 实现用户登录/注册页面的跳转
     * url1: http://www.jt.com/user/register.html
     * url2: http://www.jt.com/user/login.html
     */
    @RequestMapping("/{moduleName}")
    public String module(@PathVariable String moduleName){

        return moduleName;
    }
}

2.2 伪静态

伪静态是相对真实静态来讲的,通常我们为了增强搜索引擎的友好性,都将文章内容生成静态页面,但是有的朋友为了实时的显示一些信息。或者还想运用动态脚本解决一些问题。不能用静态的方式来展示网站内容。但是这就损失了对搜索引擎的友好性。怎么样在两者之间找个中间方法呢,这就产生了伪静态技术。伪静态技术是指展示出来的是以html一类的静态页面形式,但其实是用ASP一类的动态脚本来处理的。