前端做网站都要做哪些,网站的整合,河南安阳市有几个县, 域名经常更换1、spring boot默认静态路径支持
Spring Boot 默认将 / 所有访问映射到以下目录#xff1a;**
classpath:/static
classpath:/public
classpath:/resources
classpath:/META-INF/resources也就是说什么也不用配置#xff0c;通过浏览器可以直接访问这几个目录下的文件。
1…1、spring boot默认静态路径支持
Spring Boot 默认将 / 所有访问映射到以下目录**
classpath:/static
classpath:/public
classpath:/resources
classpath:/META-INF/resources也就是说什么也不用配置通过浏览器可以直接访问这几个目录下的文件。
1.1、首先搞清楚classpath是指的哪个目录
项目中一般创建这几个目录是在resources下创建的如下图 为什么接在resources资源目录下创建这个几个目录就是classpathc呢 这里我们看下项目打包后target下的目录结构 因为默认maven打包完后会直接把resources下的文件都拷贝到classes目录下与生成的java class目录是同级的。 所以这里才是classpath。如果你直接访问不到静态文件那么需要看的是你的target目录下包不包含这些文件。 并且只有src/main/java/resources目录下的文件才会被maven打包进去如果是其它目录文件还需要在pom中添加resources 包含进去才行。 启动项目后直接访问 http://localhost:18100/bootstrap.css http://localhost:18100/1.jpg http://localhost:18100/2.jpg http://localhost:18100/3.jpg http://localhost:18100/4.jpg 1.2、给静态资源加上访问前缀
有时间为了区分静态资源和controller路径可以给直接访问的静态资源加上前缀
spring:mvc:# 设置访问资源前缀public static resources META-INF/resources下的静态资源必须加这个前缀才能访问static-path-pattern: /mystatic/**那么再次访问public static resources META-INF/resources下的静态时就需要加上mystatic路径变成如下 http://localhost:18100/bootstrap.css http://localhost:18100/mystatic/1.jpg http://localhost:18100/mystatic/2.jpg http://localhost:18100/mystatic/3.jpg http://localhost:18100/mystatic/4.jpg 1.3、自定义资源文件目录
如果不想用默认的几目录public static resources META-INF/resources 作为静态资源的目录那么可以自定义静态资源目录
spring:mvc:# 设置访问资源前缀public static resources META-INF/resources下的静态资源必须加这个前缀才能访问static-path-pattern: /mystatic/**resources:# 自定义静态资源资源目录static-locations: classpath:/cusres自定义资源目录后resources/resources resources/static目录下的静态资源不能再访问,但public META-INF/resources目录下的文件任可以访问。
2、spring boot支持jsp
2.1、如果我们想spring boot支持jsp视图
如果我们在项目中不想把jsp,css,js等文件放到resources目录下而与resources目录下再创建一个webapp目录去放jsp文件目录结构如下
2.2、首先要让maven打包时把这个目录包含进去
如果pom中不设置额外的资源路径直接打包看下效果target目录下不会包含webapp目录 添加pom配置如下
resourcedirectorysrc/main/webapp/directoryincludesinclude**/*.*/include/includesfilteringfalse/filtering
/resource重新打包如下
2.3、添加对spring mvc的支持
如果我们此时直接创建一个Controller里面添加login.html返回一个视图名字访问 http://localhost:18100/login.html 会报如下错误
2023-08-02 10:38:57.743 WARN 13192 --- [io-18100-exec-1] o.s.web.servlet.PageNotFound : No mapping for GET /login.html页面没找到因为还没有视图解析器回想传统的spring mvc配置时会加一个视图解析器的配置和HandlerMapping
!-- 配置视图解析 --
bean classorg.springframework.web.servlet.view.InternalResourceViewResolverproperty nameprefix value/WEB-INF/jsp//property namesuffix value.jsp//bean
!--默认的HandlerMapping和HandlerAdapter配置形式--
!-- 解决springMVC响应数据乱码 text/plain就是响应的时候原样返回数据--
mvc:annotation-driven/mvc:annotation-driven添加spring mvc视图注解
Configuration
EnableWebMvc
public class MvcConfig {
}再次访问此时错误变成 不能解析这个视图 看下EnableWebMvc注解 如果自定义WebMvcConfigurer那么这里就可以获取到。
2.3.1、添加视图解析器
Configuration
EnableWebMvc
public class MvcConfig implements WebMvcConfigurer {Overridepublic void configureViewResolvers(ViewResolverRegistry registry) {registry.jsp();}
}再次访问后台不会报 而是提示找不到这个页面 registry.jsp();这个方法会默认加上/WEB-INF/前缀和.jsp后缀创建 InternalResourceViewResolver resolver new InternalResourceViewResolver();