首先看一下我的项目目录吧

1,添加拦截器

我们做项目肯定要用到拦截器这个功能哈,没登录的话一些页面我们是不能访问的哈,这里是用到了HandlerInterceptor。

分别在图中的位置创建2个目录和2个文件:
WebConfig:

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.InterceptorRegistration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;@Configuration//标识这是一个配置类
public class WebConfig implements WebMvcConfigurer {/*** 重写addCorsMappings()解决跨域问题* 配置:允许http请求进行跨域访问*/@Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**")//指哪些接口URL需要增加跨域设置.allowedOriginPatterns("*")//指的是前端哪些域名被允许跨域.allowCredentials(true)//需要带cookie等凭证时,设置为true,就会把cookie的相关信息带上.allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS")//指的是允许哪些方法.maxAge(3600);//cookie的失效时间,单位为秒(s),若设置为-1,则关闭浏览器就失效}/*** 重写addInterceptors()实现拦截器* 配置:要拦截的路径以及不拦截的路径**/@Overridepublic void addInterceptors(InterceptorRegistry registry) {//注册Interceptor拦截器(Interceptor这个类是我们自己写的拦截器类)InterceptorRegistration registration = registry.addInterceptor(new GlobalInterceptor());//addPathPatterns()方法添加需要拦截的路径registration.addPathPatterns("/**");                      //所有路径都被拦截//excludePathPatterns()方法添加不拦截的路径registration.excludePathPatterns(                         //添加不拦截路径"/login.html",            //登录页面的地址【不拦截】"/","/login","/toLogin",//"/**/*.html",            //html静态资源"/**/*.js",              //js静态资源"/**/*.css"              //css静态资源);}
}

GlobalInterceptor:

import org.springframework.web.servlet.HandlerInterceptor;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;/*** 拦截器*/
public class GlobalInterceptor implements HandlerInterceptor {/*** 在请求处理之前进行调用(Controller方法调用之前)*/@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {System.out.println("执行了Interceptor的preHandle方法");try {//统一拦截(查询当前session是否存在loginName用户信息)(这里loginName会在每次登陆成功后,写入session)String loginName = (String)request.getSession().getAttribute("loginName");if (loginName != null) {return true;}else{//这里设置拦截以后重定向的页面,一般设置为登陆页面地址request.getContextPath() +response.sendRedirect("/toLogin");return false;}} catch (IOException e) {e.printStackTrace();}return true;//如果设置为false时,被请求时,拦截器执行到此处将不会继续操作//如果设置为true时,请求将会继续执行后面的操作}
}

2,设置controller跳转

设置输入端口就直接能进入我们的login.html页面(或者你想要进的首页)

@RequestMapping("/")
public ModelAndView login(){ModelAndView mv = new ModelAndView("login.html");return mv ;
}

这里设置后,我们输入localhost:80回车就能进入login.html,不需要输入localhost:80/login.html。(当然这个80端口是在application文件里面配置,大家应该知道吧)

3,打jar包发布到Linux服务器

打jar包发布到Linux服务器,需要配置pom文件,不然的话发布到服务器上会报404,。

<build><resources><resource><directory>${basedir}/src/main/webapp</directory><targetPath>META-INF/resources</targetPath><includes><include>**/**</include></includes></resource><resource><directory>src/main/resources</directory><filtering>false</filtering><includes><include>**/**</include></includes></resource></resources>
</build>

就是在里添加这些配置信息,指定页面位置

开发springboot项目,遇到的一些问题总结相关推荐

  1. Kotlin开发springboot项目(一)

    Kotlin开发springboot项目(一) Kotlin语言与Xtend语言有很多相似之处 为什么会存在这么多JVM语言? 现存的语言提供了太过受限制的功能,要不就是功能太过繁杂,导致语言的臃肿和 ...

  2. 在win10本地开发springboot项目能上传图片,并能通过URL直接从浏览器访问,但是部署到服务器上后能上传文件,但是通过浏览器无法访问图片

    在win10本地开发springboot项目能上传图片,并能通过URL直接从浏览器访问,但是部署到服务器上后能上传文件,但是通过浏览器无法访问图片 1.首先springboot项目在Window和Li ...

  3. 使用IntelliJ IDEA 2020 高效开发 springboot项目

    文章目录 一.快速开发基础配置 1. 全局配置 2. maven 3. 自动导入包 4. 取消大小写敏感 一.快速开发基础配置 前置知识: 有些时候明明都设置好了一些配置,但是新建项目之后,就恢复默认 ...

  4. 前后端开发-springboot项目/java搭配vue获取谷歌验证码

    效果如上 1.添加依赖 <!-- 谷歌验证码依赖--><dependency><groupId>com.github.axet</groupId>< ...

  5. SpringBoot项目的几种创建方式,启动、和访问

    最常用的4种方式,但除了这些以外,还有其他方式: ①在线创建 ②STS构建 ③Intell  Idea内置构建工具 ④Maven创建 STS官网:https://start.spring.io  .S ...

  6. 通过Maven插件wagon-maven-plugin实现快速部署SpringBoot项目至服务器

    通过Maven插件wagon-maven-plugin实现快速部署SpringBoot项目至服务器 一.wagon-maven-plugin概述 二.代码实例 2.1 配置 Linux 服务器用户名和 ...

  7. springboot项目中pom文件parent报错的解决方法

    springboot项目中pom文件parent报错的解决方法 1:首先配置maven环境 2:修改maven的settings.xml文件 3:用编辑器修改settings文件 4:设置Eclips ...

  8. IDEA 编写 SpringBoot 项目自动编译刷新

    测试运行 需求背景 IDEA 编写传统 web 应用使用外置的 Tomcat 时,前端代码修改后是可以自动编译,页面刷新就能看到效果的. 而开发 SpringBoot 项目时,因为它使用的是内置的 T ...

  9. 【Springboot项目中pom文件parent报错的解决方法】~ ~ 详细教程

    目录 (一)问题说明 (二)解决方法 (1)配置maven环境 (2)修改settings.xml文件 (3)修改的方法 (4)配置maven信息 (5)选中修改的文件 (6)update maven ...

最新文章

  1. 一个App卖了4亿美元,这家听声识曲公司为何得到Apple的青睐?
  2. springcloud完整项目_.net core+Spring Cloud学习之路 一
  3. 校园送礼风为何难刹住 “送了没个完,不送没个底”
  4. 京东发力金融AI,欲再招50位金融AI顶级科学家 转载 2017年12月04日 00:00:00 42 12月1日,京东金融AI实验室在美国硅谷正式投入运营。亦在同一天,京东金融宣布,美国伊利诺伊大
  5. 分享《组播技术白皮书》
  6. 解决JavaFX报错缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序
  7. 简易的素描图片转换流程与实现
  8. 利用SetConsoleTextAttribute函数设置控制台颜色
  9. Linux删除特殊字符文件
  10. C++中宏与内联函数
  11. 口译比赛用计算机,[079][连载]口译与生活:一枚计算机系在校生在口译路上的摸爬滚打(15)...
  12. 学习了pr后的收获_零基础如何学习PR影视剪辑以及调色?
  13. 最新抓包工具BurpSuite2022.2.3 pj版
  14. 类人猿手游内存技术教程
  15. 怎么读取cf卡id_CF卡传输程序的步骤解析
  16. Java流处理之高效读写的缓冲流
  17. 软件测试周刊(第37期):不能随便生气
  18. Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day39】—— 数据库6
  19. 零信任兴起:从理念到实践
  20. 修改《植物大战僵尸》的游戏存档

热门文章

  1. 做计算机工作的要专用手机吗,怎么在手机上完成工作?原来没有电脑手机还可以这样用...
  2. html5把六张图片做成立方体,HTML5绘制在立方体上的几何曲线图形
  3. 怎样用c语言算平均成绩,用C语言编程平均分数
  4. 电脑怎么重置host_电脑又双叒叕卡顿?究竟要“重装”还是“重置”?原来这区别大了...
  5. php任务分配思路_PHP执行定时任务的几种方法思路
  6. cxgrid 写数据_大线索报道:2020年策划人必备的50个写方案技巧
  7. MySQL 创建触发器
  8. Python MySQL删除表
  9. c语言结构体多门成绩排序,c语言结构体按学号排序求大神帮忙改一下吧
  10. jpane1_IDEA插件开发,Jpane中集成Web页面