精华内容
下载资源
问答
  • nginx配置访问本地静态资源

    万次阅读 多人点赞 2019-04-11 18:07:39
    nginx作为一款高性能的服务器,用途很多,除了可以做后端服务器的代理,负载均衡之外你,还有一个用途就是做静态资源的缓存服务器,比如在前后端分离的项目中,为了加速前端页面的响应速度,我们可以将前端的相关...

    nginx作为一款高性能的服务器,用途很多,除了可以做后端服务器的代理,负载均衡之外你,还有一个用途就是做静态资源的缓存服务器,比如在前后端分离的项目中,为了加速前端页面的响应速度,我们可以将前端的相关资源,例如html,js,css或者图片等放到nginx指定的目录下,访问的时候只需要通过IP加路径就可以实现高效快速的访问,

    下面说说如何在windows下使用nginx作为静态资源服务器,
    1、修改config目录下,这个配置文件,基本上所有的配置都在这里面做,
    在这里插入图片描述

    2、主要的配置参数如下,一些无关的参数我直接去掉了,注意,里面的location可以配置多个,这样可以根据业务的需要指定相关的路径方便后续的运维和管理,

    server {
    
            listen       80;                #nginx监听的端口
            server_name  localhost;         #拦截的用户访问路径
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            # 访问本地绝对路径下的静态html    
            location / {
                #
    展开全文
  • Spring Boot 静态资源处理

    万次阅读 多人点赞 2016-01-12 09:23:50
    Spring Boot 默认为我们提供了静态资源处理,使用 WebMvcAutoConfiguration 中的配置各种属性。建议大家使用Spring Boot的默认配置方式,如果需要特殊处理的再通过配置进行修改。如果想要自己完全控制WebMVC,就需要...

    Spring Boot 默认为我们提供了静态资源处理,使用 WebMvcAutoConfiguration 中的配置各种属性。

    建议大家使用Spring Boot的默认配置方式,如果需要特殊处理的再通过配置进行修改。

    如果想要自己完全控制WebMVC,就需要在@Configuration注解的配置类上增加@EnableWebMvc(@SpringBootApplication 注解的程序入口类已经包含@Configuration),增加该注解以后WebMvcAutoConfiguration中配置就不会生效,你需要自己来配置需要的每一项。这种情况下的配置还是要多看一下WebMvcAutoConfiguration类。

    我们既然是快速使用Spring Boot,并不想过多的自己再重新配置。本文还是主要针对Spring Boot的默认处理方式,部分配置在application 配置文件中(.properties 或 .yml)

    默认资源映射

    我们在启动应用的时候,可以在控制台中看到如下信息:

    2016-01-08 09:29:30.362  INFO 24932 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
    2016-01-08 09:29:30.362  INFO 24932 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
    2016-01-08 09:29:30.437  INFO 24932 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
    

    其中默认配置的 /** 映射到 /static (或/public、/resources、/META-INF/resources)
    其中默认配置的 /webjars/** 映射到 classpath:/META-INF/resources/webjars/
    PS:上面的 static、public、resources 等目录都在 classpath: 下面(如 src/main/resources/static)。

    如果我按如下结构存放相同名称的图片,那么Spring Boot 读取图片的优先级是怎样的呢?
    如下图:
    这里写图片描述

    当我们访问地址 http://localhost:8080/fengjing.jpg 的时候,显示哪张图片?这里博主可以直接告诉大家,优先级顺序为:META-INF/resources > resources > static > public
    如果我们想访问pic2.jpg,请求地址 http://localhost:8080/img/pic2.jpg

    自定义资源映射

    上面我们介绍了Spring Boot 的默认资源映射,一般够用了,那我们如何自定义目录?
    这些资源都是打包在jar包中的,然后实际应用中,我们还有很多资源是在管理系统中动态维护的,并不可能在程序包中,对于这种随意指定目录的资源,如何访问?

    自定义目录

    以增加 /myres/** 映射到 classpath:/myres/** 为例的代码处理为:
    实现类继承 WebMvcConfigurerAdapter 并重写方法 addResourceHandlers (对于 WebMvcConfigurerAdapter 上篇介绍拦截器的文章中已经有提到)

    package org.springboot.sample.config;
    
    import org.springboot.sample.interceptor.MyInterceptor1;
    import org.springboot.sample.interceptor.MyInterceptor2;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
    import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
    
    @Configuration
    public class MyWebAppConfigurer 
    		extends WebMvcConfigurerAdapter {
    
    	@Override
    	public void addResourceHandlers(ResourceHandlerRegistry registry) {
    		registry.addResourceHandler("/myres/**").addResourceLocations("classpath:/myres/");
    		super.addResourceHandlers(registry);
    	}
    
    }
    
    

    访问myres 文件夹中的fengjing.jpg 图片的地址为 http://localhost:8080/myres/fengjing.jpg
    这样使用代码的方式自定义目录映射,并不影响Spring Boot的默认映射,可以同时使用。

    如果我们将/myres/** 修改为 /** 与默认的相同时,则会覆盖系统的配置,可以多次使用 addResourceLocations 添加目录,优先级先添加的高于后添加的。

    // 访问myres根目录下的fengjing.jpg 的URL为 http://localhost:8080/fengjing.jpg (/** 会覆盖系统默认的配置)
    // registry.addResourceHandler("/**").addResourceLocations("classpath:/myres/").addResourceLocations("classpath:/static/");
    

    其中 addResourceLocations 的参数是动参,可以这样写 addResourceLocations(“classpath:/img1/”, “classpath:/img2/”, “classpath:/img3/”);

    使用外部目录

    如果我们要指定一个绝对路径的文件夹(如 H:/myimgs/ ),则只需要使用 addResourceLocations 指定即可。

    // 可以直接使用addResourceLocations 指定磁盘绝对路径,同样可以配置多个位置,注意路径写法需要加上file:
    registry.addResourceHandler("/myimgs/**").addResourceLocations("file:H:/myimgs/");
    

    通过配置文件配置

    上面是使用代码来定义静态资源的映射,其实Spring Boot也为我们提供了可以直接在 application.properties(或.yml)中配置的方法。
    配置方法如下:

    # 默认值为 /**
    spring.mvc.static-path-pattern=
    # 默认值为 classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/ 
    spring.resources.static-locations=这里设置要指向的路径,多个使用英文逗号隔开,
    

    使用 spring.mvc.static-path-pattern 可以重新定义pattern,如修改为 /myres/** ,则访问static 等目录下的fengjing.jpg文件应该为 http://localhost:8080/myres/fengjing.jpg ,修改之前为 http://localhost:8080/fengjing.jpg
    使用 spring.resources.static-locations 可以重新定义 pattern 所指向的路径,支持 classpath: 和 file: (上面已经做过说明)。
    注意 spring.mvc.static-path-pattern 只可以定义一个,目前不支持多个逗号分割的方式。

    注意: 关于 spring.resources.static-locations 特别要说明的是: 这个地方配置的多个目录的顺序决定了当多个目录中出现了相同的文件的时候哪个文件才是会输出的文件,顺序在前的优先。
    例如:spring.resources.static-locations=file:/opt/static/,classpath:/static/ 这样的配置情况下,两个 static 目录中都有 shanhy.html 这个文件,那么当你访问这个文件的时候,显示的是放在前面的 file:/opt/static/ 中的,反之亦然。

    页面中使用

    上面几个例子中也已经说明了怎么访问静态资源,其实在页面中使用不管是jsp还是freemarker,并没有什么特殊之处,也我们平时开发web项目一样即可。
    下面是我的index.jsp:

    <body>
    	<img alt="读取默认配置中的图片" src="${pageContext.request.contextPath }/pic.jpg">
    	<br/>
    	<img alt="读取自定义配置myres中的图片" src="${pageContext.request.contextPath }/myres/fengjing.jpg">
    </body>
    

    使用webjars

    先说一下什么是webjars?我们在Web开发中,前端页面中用了越来越多的JS或CSS,如jQuery等等,平时我们是将这些Web资源拷贝到Java的目录下,这种通过人工方式拷贝可能会产生版本误差,拷贝版本错误,前端页面就无法正确展示。
    WebJars 就是为了解决这种问题衍生的,将这些Web前端资源打包成Java的Jar包,然后借助Maven这些依赖库的管理,保证这些Web资源版本唯一性。

    WebJars 就是将js, css 等资源文件放到 classpath:/META-INF/resources/webjars/ 中,然后打包成jar 发布到maven仓库中。

    简单应用

    以jQuery为例,文件存放结构为:

    META-INF/resources/webjars/jquery/2.1.4/jquery.js
    META-INF/resources/webjars/jquery/2.1.4/jquery.min.js
    META-INF/resources/webjars/jquery/2.1.4/jquery.min.map
    META-INF/resources/webjars/jquery/2.1.4/webjars-requirejs.js
    

    Spring Boot 默认将 /webjars/** 映射到 classpath:/META-INF/resources/webjars/ ,结合我们上面讲到的访问资源的规则,便可以得知我们在JSP页面中引入jquery.js的方法为:

    <script type="text/javascript" src="${pageContext.request.contextPath }/webjars/jquery/2.1.4/jquery.js"></script>
    

    想实现这样,我们只需要在pom.xml 文件中添加jquery的webjars 依赖即可,如下:

    <dependency>
    	<groupId>org.webjars</groupId>
    	<artifactId>jquery</artifactId>
    	<version>2.1.4</version>
    </dependency>
    

    版本号统一管理

    但是我们实际开发中,可能会遇到升级版本号的情况,如果我们有100多个页面,几乎每个页面上都有按上面引入jquery.js 那么我们要把版本号更换为3.0.0,一个一个替换显然不是最好的办法。
    如何来解决?按如下方法处理即可。

    首先在pom.xml 中添加依赖:

    <dependency>
    	<groupId>org.webjars</groupId>
    	<artifactId>webjars-locator</artifactId>
    </dependency>
    

    然后增加一个WebJarsController:

    package org.springboot.sample.controller;
    
    import javax.servlet.http.HttpServletRequest;
    
    import org.springframework.core.io.ClassPathResource;
    import org.springframework.http.HttpStatus;
    import org.springframework.http.ResponseEntity;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    import org.springframework.web.servlet.HandlerMapping;
    import org.webjars.WebJarAssetLocator;
    
    /**
     * 处理WebJars,自动读取版本号
     *
     * @author   单红宇(365384722)
     * @myblog  http://blog.csdn.net/catoop/
     * @create    2016年1月8日
     */
    @Controller
    public class WebJarsController {
    	
    	 private final WebJarAssetLocator assetLocator = new WebJarAssetLocator();
    	 
    	@ResponseBody
    	@RequestMapping("/webjarslocator/{webjar}/**")
    	public ResponseEntity<Object> locateWebjarAsset(@PathVariable String webjar, HttpServletRequest request) {
    	    try {
    	    	String mvcPrefix = "/webjarslocator/" + webjar + "/"; // This prefix must match the mapping path!
    	    	String mvcPath = (String) request.getAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE);
    	        String fullPath = assetLocator.getFullPath(webjar, mvcPath.substring(mvcPrefix.length()));
    	        return new ResponseEntity<>(new ClassPathResource(fullPath), HttpStatus.OK);
    	    } catch (Exception e) {
    	        return new ResponseEntity<>(HttpStatus.NOT_FOUND);
    	    }
    	}
    }
    
    

    最后在页面中使用的方式:

    <script type="text/javascript" src="${pageContext.request.contextPath }/webjarslocator/jquery/jquery.js"></script>
    

    静态资源版本管理

    Spring 默认提供了静态资源版本映射的支持。
    当我们的资源内容发生改变时,由于浏览器缓存,用户本地的资源还是旧资源,为了防止这种情况发生导致的问题。我们可能会选择在资源文件后面加上参数“版本号”或其他方式。

    使用版本号参数,如:

    <script type="text/javascript" src="${pageContext.request.contextPath }/js/common.js?v=1.0.1"></script>
    

    使用这种方式,当我们文件修改后,手工修改版本号来达到URL文件不被浏览器缓存的目的。同样也存在很多文件都需要修改的问题。或者有的人会增加时间戳的方式,这样我认为是最不可取的,每次浏览器都要请求为服务器增加了不必要的压力。

    然而Spring在解决这种问题方面,提供了2种解决方式。
    ** 资源名称md5方式 **

    1. 修改 application.properties 配置文件(或.yml)
    spring.resources.chain.strategy.content.enabled=true
    spring.resources.chain.strategy.content.paths=/**
    

    所有 /** 请求的静态资源都会被处理。

    1. 创建 ResourceUrlProviderController 文件
    package org.springboot.sample.config;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.ControllerAdvice;
    import org.springframework.web.bind.annotation.ModelAttribute;
    import org.springframework.web.servlet.resource.ResourceUrlProvider;
    
    /**
     * 处理静态资源URL
     *
     * @author 单红宇(365384722)
     * @myblog http://blog.csdn.net/catoop/
     * @create 2016年1月8日
     */
    @ControllerAdvice
    public class ResourceUrlProviderController {
    
    	@Autowired
    	private ResourceUrlProvider resourceUrlProvider;
    
    	@ModelAttribute("urls")
    	public ResourceUrlProvider urls() {
    		return this.resourceUrlProvider;
    	}
    }
    
    
    1. 在页面中使用的写法
    <script type="text/javascript" src="${pageContext.request.contextPath }${urls.getForLookupPath('/js/common.js') }"></script>
    

    当我们访问页面后,HTML中实际生成的代码为:

    <script type="text/javascript" src="/myspringboot/js/common-c6b7da8fffc9be141b48c073e39c7340.js"></script>
    

    其中 /myspringboot 为我这个项目的 contextPath

    ** 资源版本号方式 **
    该方式本人觉得并无多大意义,也不做详细说明,这是对所有资源的统一版本控制,不像上面一个md5是针对文件的。
    除了在 application.properties(或.yml)中的配置有所区别,页面使用和md5的一样。

    spring.resources.chain.strategy.fixed.enabled=true
    spring.resources.chain.strategy.fixed.paths=/js/**,/v1.0.0/**
    spring.resources.chain.strategy.fixed.version=v1.0.0
    

    这样配置后,以上面 common.js 为例,实际页面中生成的HTML代码为:

    <script type="text/javascript" src="/myspringboot/v1.0.0/js/common.js"></script>
    

    ** md5与版本号方式的处理原理 **
    页面中首先会调用urls.getForLookupPath方法,返回一个/v1.0.0/js/common.js或/css/common-c6b7da8fffc9be141b48c073e39c7340.js
    然后浏览器发起请求。
    当请求的地址为md5方式时,会尝试url中的文件名中是否包含-,如果包含会去掉后面这部分,然后去映射的目录(如/static/)查找/js/common.js文件,如果能找到就返回。

    当请求的地址为版本号方式时,会在url中判断是否存在/v1.0.0 ,如果存在,则先从URL中把 /v1.0.0 去掉,然后再去映射目录查找对应文件,找到就返回。

    总结

    有这么多方式来管理我们的资源文件,然而在实际应用中虽然也都有可能用到(存在就有存在的道理嘛),但是凭借个人经验来说。

    1. 我们使用第三方的库时,建议使用webjars的方式,通过动态版本号(webjars-locator 的方式)来使用(因为第三方库在项目开发中变动频率很小,即便是变动也是版本号的修改)。
    2. 我们使用自己存放在静态资源映射目录中的资源的时候,建议使用md5 资源文件名的方式来使用(项目开发中一些css、js文件会经常修改)。
    3. 项目素材文件建议放到 classpath:/static (或其他)目录中,打包在项目中,通过CMS维护的一些图片和资源,我们使用配置引用到具体的磁盘绝对路径来使用。
    4. 注意使用md5文件名方式的时候,Spring 是有缓存机制的,也就是说,在服务不重启的情况下,你去变动修改这些资源文件,其文件名的md5值并不会改变,只有重启服务再次访问才会生效。如果需要每次都获取实际文件的md5值,需要重写相关类来实现,我们不建议这样做,因为一直去计算文件md5值是需要性能代价的。
    展开全文
  • 玩转springboot:默认静态资源和自定义静态资源实战

    万次阅读 多人点赞 2018-07-25 16:29:53
    在web开发中,静态资源的访问是必不可少的,如:图片、js、css 等资源的访问。 spring Boot 对静态资源访问提供了很好的支持,基本使用默认配置就能满足开发需求 一、默认静态资源映射 Spring Boot 对静态资源...

    点个赞,看一看,好习惯!本文 GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了3个月总结的一线大厂Java面试总结,本人已拿腾讯等大厂offer。
    另外,原创文章首发在我的个人博客:blog.ouyangsihai.cn,欢迎访问
    原文链接:blog.ouyangsihai.cn >> 玩转springboot:默认静态资源和自定义静态资源实战

    在web开发中,静态资源的访问是必不可少的,如:图片、js、css 等资源的访问。
    spring Boot 对静态资源访问提供了很好的支持,基本使用默认配置就能满足开发需求

    一、默认静态资源映射

    Spring Boot 对静态资源映射提供了默认配置

    Spring Boot 默认将 /** 所有访问映射到以下目录:

    classpath:/static
    classpath:/public
    classpath:/resources
    classpath:/META-INF/resources

    如:在resources目录下新建 public、resources、static 三个目录,并分别放入 a.jpg b.jpg c.jpg 图片

    这里写图片描述

    浏览器分别访问:

    http://localhost:8080/a.jpg
    http://localhost:8080/b.jpg
    http://localhost:8080/c.jpg

    均能正常访问相应的图片资源。那么说明,Spring Boot 默认会挨个从 public resources static 里面找是否存在相应的资源,如果有则直接返回。
    这里写图片描述

    二、自定义静态资源访问

    静态资源路径是指系统可以直接访问的路径,且路径下的所有文件均可被用户直接读取。

    在Springboot中默认的静态资源路径有:classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,从这里可以看出这里的静态资源路径都是在classpath中(也就是在项目路径下指定的这几个文件夹)

    试想这样一种情况:一个网站有文件上传文件的功能,如果被上传的文件放在上述的那些文件夹中会有怎样的后果?

    • 网站数据与程序代码不能有效分离;
    • 当项目被打包成一个.jar文件部署时,再将上传的文件放到这个.jar文件中是有多么低的效率;
    • 网站数据的备份将会很痛苦。

    此时可能最佳的解决办法是将静态资源路径设置到磁盘的基本个目录

    第一种方式

    1、配置类

    **
     * @author 欧阳思海
     * @date 2018/7/25 15:42
     */
    @Configuration
    public class WebMvcConfig extends WebMvcConfigurerAdapter {
    
        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
            //将所有C:/Users/gzpost05/Desktop/springboot博客/ 访问都映射到/myTest/** 路径下
            registry.addResourceHandler("/myTest/**").addResourceLocations("file:C:/Users/gzpost05/Desktop/springboot博客/");
        }
    }
    
    

    上面的意思就是://将所有C:/Users/gzpost05/Desktop/springboot博客/ 访问都映射到**/myTest/**** 路径下

    2、重启项目

    例如,在**C:/Users/gzpost05/Desktop/springboot博客/**中有一张1.png图片

    在浏览器输入:http://localhost:8080/myTest/1.png 即可访问。

    这里写图片描述

    第二种方式

    首先,我们配置application.properties

    application.properties配置文件

    web.upload-path=C:/Users/gzpost05/Desktop/test/
    
    spring.mvc.static-path-pattern=/**
    spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,\
      classpath:/static/,classpath:/public/,file:${web.upload-path}
    

    注意:

    web.upload-path:这个属于自定义的属性,指定了一个路径,注意要以/结尾;

    spring.mvc.static-path-pattern=/**:表示所有的访问都经过静态资源路径;

    spring.resources.static-locations:在这里配置静态资源路径,前面说了这里的配置是覆盖默认配置,所以需要将默认的也加上否则static、public等这些路径将不能被当作静态资源路径,在这个最末尾的file:${web.upload-path}之所有要加file:是因为指定的是一个具体的硬盘路径,其他的使用classpath指的是系统环境变量

    编写测试类上传文件

    /**
     * @author 欧阳思海
     * @date 2018/7/25 16:17
     */
    @SpringBootTest
    @RunWith(SpringRunner.class)
    public class FileUploadTest {
    
        @Value("${web.upload-path}")
        private String path;
    
        /** 文件上传测试 */
        @Test
        public void uploadTest() throws Exception {
            File f = new File("C:/Users/gzpost05/Desktop/springboot博客/1.png");
            FileCopyUtils.copy(f, new File(path+"/aaa.png"));
        }
    
        @Test
        public void listFilesTest() {
            File file = new File(path);
            for(File f : file.listFiles()) {
                System.out.println("fileName : "+f.getName());
            }
        }
    }
    

    注意:这里将C:/Users/gzpost05/Desktop/springboot博客/1.png上传到配置的静态资源路径下。

    可以到得结果:

    这里写图片描述

    说明文件已上传成功,静态资源路径也配置成功。

    参考:
    https://blog.csdn.net/zsl129/article/details/52906762

    最后,再分享我历时三个月总结的 Java 面试 + Java 后端技术学习指南,这是本人这几年及春招的总结,已经拿到了大厂offer,整理成了一本电子书,拿去不谢,目录如下:

    现在免费分享大家,在下面我的公众号 程序员的技术圈子 回复 面试 即可获取。

    有收获?希望老铁们来个三连击,给更多的人看到这篇文章

    1、老铁们,关注我的原创微信公众号「程序员的技术圈子」,专注于Java、数据结构和算法、微服务、中间件等技术分享,保证你看完有所收获。

    2、给俺点个赞呗,可以让更多的人看到这篇文章,顺便激励下我继续写作,嘻嘻。

    3、另外,原创文章首发在我的个人博客:blog.ouyangsihai.cn,欢迎访问。

    点赞是对我最大的鼓励
    ↓↓↓↓↓↓

    展开全文
  • web服务器缓存静态资源,更新静态资源的规则,静态资源如css,js文件 HTTP CODE 304.zip
  • nginx学习:搭建静态资源服务器

    万次阅读 多人点赞 2018-06-12 16:03:22
    1.搭建静态资源服务器我电脑上的work文件夹下面有很多图片,我想通过nginx搭建静态资源服务器,通过在地址栏输入ip+port的方式完成目录的映射找到nginx安装目录,打开/conf/nginx.conf配置文件,添加一个虚拟主机 ...

    以windows为例,linux其实一样;

    1.搭建静态资源服务器

    我电脑上的work文件夹下面有很多图片,我想通过nginx搭建静态资源服务器,通过在地址栏输入ip+port的方式完成目录的映射

    找到nginx安装目录,打开/conf/nginx.conf配置文件,添加一个虚拟主机

        添加监听端口、访问域名

    重点是添加location,

    映射-URL:/work/;

    注意:如果当前server模块中已有一个location且URL为“/”,那么新建的location的url应为匹配路径,不得再为“/”,此时,映射路径可不是随便写的,首先是你的root目录下面必须有这个URL目录,否则会报404(这一规则当时可是害惨我了);

    如果没有,URL可以写成“/”,如下图:

    添加root目录(就是你想要展示静态资源的根目录,层级之间使用正斜杠“/”):D:/pic_resource/;

    开启浏览目录权限:autoinedx on,默认是off;

    然后保存,启动nginx;

    windows下的nginx命令:首先是cmd命令模式进入nginx目录,

    启动:start nginx.exe;

    加载最新配置:./nginx.exe -s reload;

    停止:./nginx.exe -s quit;

    如果检查是否已启动,可查看nginx目录下的logs文件下是否有nginx.pid文件,有则表示成功启动。

    若没有可以查看logs目录下的error.log错位日志,会提醒你出错的地方。

    在地址栏输入:127.0.0.1:8008/work/,即可看到下图,表示配置成功。

     

     

     

    展开全文
  • SpringBoot配置本地静态资源

    万次阅读 2019-11-30 20:43:09
    @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/img/**").addResourceLocations("file:C:/images/");...首先在配置类中配置静态文件的地址,...
  • Nginx服务器的强大功能可以有很多用途,例如不仅可以做静态资源的web服务器,还可以以集群方式处理动态资源的请求,本文就大致建立这些功能;一,利用Nginx做动静态资源分离,处理静态资源和动态资源目的是利用nginx...
  • 了解SpringBoot自动配置的都应该知道在...SpringBoot对静态资源处理也一样,直接看源码 WebMvcAutoConfiguration类中定义了一个静态内部类WebMvcAutoConfigurationAdapter,该类有一个addResourceHandlers方法,该方...
  • Nginx发布静态资源

    千次阅读 多人点赞 2021-01-14 10:45:17
    Nginx发布静态资源
  • 静态资源CDN

    千次阅读 2017-07-28 09:03:17
    静态资源(static resources) : js , css , img 等非服务器动态运行生成的文件 在一般的网站中,静态资源使用频率高,流量占用大。对于有追求(访问量稍大)的网站,都会把静态资源放置到CDN服务器,不占用业务...
  • 为了减轻服务端下载的压力,我们可以把一些静态资源放置在服务器中,通过配置nginx进行资源下载。 通过访问下面地址直接下载静态资源picture.png和BiJieClient.apk: http://example.com/wallpaper/picture.png ...
  • 在SpringBoot中,对静态资源的访问路径作了约定,SpringBoot的默认静态资源路径包括classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/  因此,在引用静态资源的...
  • Nginx实现静态资源服务器

    万次阅读 多人点赞 2017-05-31 21:33:16
    我们在上一篇文章中已经分析了实现静态资源服务器的多种思路。本篇文章记录 使用Nginx实现静态资源服务器的步骤。首先需要安装Nginx和了解Nginx的配置文件。CentOS系统可参考如下帖子:Nginx-------Nginx的安装和多...
  • SpringMVC指定静态资源路径

    千次阅读 2019-04-17 20:35:20
    指定静态资源路径 当SpringMVC的DispatcherServlet配置的映射路径是/时,所有的请求都将被SpringMVC拦截,如果我们想访问某个路径下的静态资源其实是不能直接访问的。基于这种情况,SpringMVC提供了<mvc:...
  • 超市管理系统静态资源,smbms静态资源,超市管理系统静态资源,smbms静态资源 超市管理系统静态资源,smbms静态资源
  • 本篇文章主要介绍了SpringBoot加载静态资源的方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 今天打开eclipse 运行之前基于Spring+SpringMvc+Mybatis的一个测试练习项目,跑起来之后在页面访问所有的引入资源都没有...但是依然不起作用,突然想到了自己搭建的是ssmx项目是不是把静态资源给拦截了啊!!! 在...
  • SpringBoot之静态资源访问

    万次阅读 多人点赞 2018-05-04 13:51:20
    SpringBoot之静态资源访问 1.springboot访问静态资源的几种方式 (1)在src/main/resources/目录下创建 static文件夹 (2)在src/main/resources/目录下创建 resources文件夹 (3)在src/main/resources/目录下...
  • SpringMVC 静态资源访问

    千次阅读 2018-10-13 23:07:12
    一、SpringMVC 静态资源访问 1.问题引出 2.问题解决 3. resources属性 4.default-servlet-handler属性 一、SpringMVC 静态资源访问 1.问题引出 在SpringMVC中,配置DispatcherServlet的时候拦截模式为/,这样...
  • 关于IDEA没有将项目静态资源拷贝到tomcat的问题 因为没有将放置静态资源的目录设置为资源目录,所以没有被拷贝至tomcat下 解决方法 File -> Project Structure… -> Modules 选择静态资源目录(一般叫Web...
  • 本篇文章主要介绍了详解springmvc拦截器拦截静态资源,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
  • JavaWeb静态资源分离思路

    千次阅读 2017-05-23 18:01:49
    JavaWeb 开发过程中我们的静态资源img和css和js等都是放在项目中一起打包到war包里发布到Web服务器tomcat中运行的。如果用户要上传和下载文件的话 一般上传文件也是放在tomcat目录或者Web服务器中。但是随着用户上传...
  • IDEA+SpringBoot项目下静态资源访问路径陷阱:静态资源访问404今天使用SpringBoot项目的时候遇到静态资源访问不到的问题——404。接下来就是这篇博客所说的问题了——>静态资源访问不到,404。 今天使用...
  • Egg 静态资源路径

    千次阅读 2019-07-30 11:47:00
    egg 的静态资源放在 public 文件夹下,路径显示为 http:localhost:7001/public/1.png
  • SpringBoot 直接访问静态资源

    千次阅读 2020-09-12 18:16:13
    一般现在都前后端分离方式,SpringBoot主要提供接口服务,但有时候有一些小项目就希望一个jar前后端都搞定,因此一些页面等静态资源都放入SpringBoot中。 这里记录一下静态资源访问方式和引入shiro后的修改。 ...
  • 主要介绍了详解nginx静态资源服务器简单配置,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • spring静态资源配置

    千次阅读 2018-08-21 13:05:23
    由于早期的Spring MVC不能很好地处理静态资源,所以在web.xml中配置DispatcherServlet的请求映射,往往使用 *.do 、 *.xhtml等方式。这就决定了请求URL必须是一个带后缀的URL,而无法采用真正的REST风格的URL。 ...
  • springboot 静态资源无法访问 在一个项目中WebMvcConfigurationSupport只能存在一个,多个的时候,只有一个会生效。(按名称排序后第一个的) 1.SpringBoot 的 @EnableAutoConfiguration 会启用自动配置类 2....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 818,399
精华内容 327,359
关键字:

静态资源