欢迎访问昆山宝鼎软件有限公司网站! 设为首页 | 网站地图 | XML | RSS订阅 | 宝鼎邮箱 | 后台管理


新闻资讯

MENU

软件开发知识

SpringBoot | 番外: 图纸加密 利用小能力合集

点击: 次  来源:宝鼎软件 时间:2018-09-18

原文出处: oKong

媒介

最近事情较量忙,工作也较量多。加班回抵家都十点多了,洗个澡就想睡觉了。所觉得了不绝更太多天,偷懒写个小能力合集吧。之后有时间城市举办文章更新的。原创不易,码字不易,还但愿各人多多支持!话不多说,开始本日的能力合集吧~

配置网站图标

本来我们在利用tomcat开拓时,配置网站图片时,即icon图标时,一般都是直接替换root包下的favicon.ico替换本钱身的,可能在网页的头部配置link的ref为icon然后配置其href值。而在SpringBoot中,替换图片也是很简朴的,只需要将自界说图片安排在静态资源目次下即可,即默认有staticpublicresources/META-INF/resources可能自界说的静态目次下即可。

目次布局:

目次布局

结果

答允跨域会见

CORS是一个W3C尺度,全称是”跨域资源共享”(Cross-origin resource sharing)。它答允欣赏器向跨源(协议 + 域名 + 端口)处事器,发出XMLHttpRequest请求,从而降服了AJAX只能同源利用的限制。

简朴来说,跨域问题是可以通过nginx来办理的,可能通过jsonp(只支持get请求)来办理。而SpringBoot中也提供了设置要领。
0.操作@CrossOrigin注解,可放至在类上可能要领上。类上代表整个节制层所有的映射要领都支持跨域请求。

@CrossOrigin(origins = "http://blog.lqdev.cn", maxAge = 3600)
@RestController
public class demoController{

   @GetMapper("/")
   public String index(){
      return "hello,CORS";
   }
}

1.设置全局CORS设置。官网也有给出实例,详细如下:

@Configuration
public class MyConfiguration {

    @Bean
    public WebMvcConfigurer corsConfigurer() {
        return new WebMvcConfigurerAdapter() {
            @Override
            public void addCorsMappings(CorsRegistry registry) {      registry.addMapping("/api/**").allowedOrigins("https://blog.lqdev.cn");
            }
        };
    }
}

独立Tomcat运行

讲授了这么久,一般上我们都是通过jar包的方法举办启动的应用的。所以陈设在独立的tomcat时,需要如何办理呢?其实也简朴,只需要将项目打包方法修改为war包,然后修改下启动类设置即可。

0.修改pom打包方法为war,同时解除了内置的tomcat

<packaging>war</packaging>

<!-- 解除内置的tomcat -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>compile</scope>
        </dependency>
<!-- 若直接有利用servlet工具时(这是空话,⊙﹏⊙‖∣),需要将servlet引入,本例是没有的~ -->
       <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>javax.servlet-api</artifactId>
          <scope>provided</scope>
       </dependency>

1.改革下启动类,使其担任SpringBootServletInitializer,同时包围configure要领。

@SpringBootApplication
@Slf4j
public class ChapterApplication extends SpringBootServletInitializer{

    public static void main(String[] args) {
        SpringApplication.run(ChapterApplication.class, args);
    //    new SpringApplicationBuilder().sources(ChapterApplication.class).web(false).run(args);
    //之后这里配置业务逻辑 好比挂起一个线程 可能配置一个按时任务。担保不退出
        //否则它就是一个启动类,启动后就遏制了。
        log.info("jar,chapter启动!");
    } 
    
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        log.info("外部tomcat,chapter启动!");
        return application.sources(ChapterApplication.class);
    }
}

2.maven打包成war(mvn clean install),然后放入tomcat中,启动运行即可。

外部Servlet启动

其实这样配置的话,在开拓时直接运行启动类也照旧可以直接运行的,利便.

原始方法启动

启动不配置端口