架构设计

在分布式的条件下,有web服务器向后端的业务服务器获取数据.通过http请求协议利用远程调用的方式获取业务数据,将来采用更加通用的json方式返回.实现跨系统之间的数据访问.

并且每个节点根据用户访问量的不同搭建不同规模的集群.从而实现用户的高并发的访问.

tomcat 经过调优大约可以支持 1000/秒 跳大tomcat运行的内存即可.

步骤

1.创建项目
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>
    <!--设定打包方式-->
    <packaging>war</packaging>

    <!--添加继承-->
    <parent>
        <artifactId>jt</artifactId>
        <groupId>org.example</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>

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

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

3.导入静态资源
4.配置web资源启动项--idea能启动mvc
5.关于web项目配置数据源的说明:
SpringBoot特点: 开箱即用!!!
报错说明:由于jt-web继承jt所以web服务器启动时,会加载数据源的自动化配置.但是由于web不需要链接数据库,所以导致程序异常.
解决方案:在启动类注解上添加属性
@SpringBootApplication(exclude=DataSourceAutoConfiguration.class)
6.配置Nginx
用户通过url的方式访问服务器localhost:8092,修改之后重启nginx即可.

#搭建jt-web服务器
    server {
        listen 80;
        server_name www.xx.com;

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

7.修改hosts文件,添加127.0.0.1 www.xx.com

谷歌浏览器禁用https

步骤说明:
1.浏览器键入 chrome://net-internals/#hsts
在Domain Security Policy 选项中 Delete domain security policies 选项中输入对应域名重启浏览器

添加web的配置类

编辑配置类:
作用:要求springMVC可以拦截以.html为结尾的请求.

@Configuration                          //配置web.xml配置文件
public class MvcConfigurer implements WebMvcConfigurer{
    
    //开启匹配后缀型配置,为了将来程序实现静态页面的跳转而准备的
    @Override
    public void configurePathMatch(PathMatchConfigurer configurer) {
        
        configurer.setUseSuffixPatternMatch(true);
    }
}

之所以需要拦截以.html为结尾的请求--是由于搜索引擎得原因

搜索引擎工作原理

关于.html说明

一般搜索引擎只能检索静态页面信息不能检索.jsp等动态的页面结构,所以一般为了提高网站的曝光率,使得商品更加容易的被用户检索,所以一般的商品页面都是.html的.

搜索引擎的工作原理

需求:假设数据库中有1亿条记录,搜索引擎如何能够在1秒之后检索所有的数据,并且有效的返回呢?
倒排索引: 根据分词后得关键字检索文章的位置.

由于搜索引擎规定:只搜索.html文件

伪静态

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


迈克丝
85 声望5 粉丝

一步一步学技术,踏踏实实涨经验,兴趣广泛,广交好友,希望大家多多指正/批评.


下一篇 »
跨域访问