当前位置:首页 » 网页前端 » springboot怎么没有web
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

springboot怎么没有web

发布时间: 2022-12-23 01:24:39

⑴ springboot框架是wen里面的嘛

不是。根据查询框架的相关信息得知,springboot框架不是wen里面的。springboot不是web层框架,不是哪一层框架,不属于任何一层,更不是mvc框架,springboot是对spring的升级,spring+自动配置,核心是对常规组件进行自动配置,即项目启动自动对配置类进行加载,web部分只是springboot自动配置的一部分组件。

⑵ springboot web_application none

您问的是springboot web_application none的意思吧。
直接理解为springboot web_应用程序无 ,表示没有任何应用程序。

⑶ SpringBoot WebMvcConfigurer详解

WebMvcConfigurer配置类其实是 Spring 内部的一种配置方式,采用 JavaBean 的形式来代替传统的 xml 配置文件形式进行针对框架个性化定制,可以自定义一些Handler,Interceptor,ViewResolver,MessageConverter。基于java-based方式的spring mvc配置,需要创建一个 配置 类并实现 WebMvcConfigurer 接口;

在Spring Boot 1.5版本都是靠重写 WebMvcConfigurerAdapter 的方法来添加自定义拦截器,消息转换器等。SpringBoot 2.0 后,该类被标记为@Deprecated(弃用)。官方推荐直接实现WebMvcConfigurer或者直接继承WebMvcConfigurationSupport,方式一实现WebMvcConfigurer接口(推荐),方式二继承WebMvcConfigurationSupport类,具体实现可看这篇文章。 https://blog.csdn.net/fmwind/article/details/82832758

常用的方法:

以前写SpringMVC的时候,如果需要访问一个页面,必须要写Controller类,然后再写一个方法跳转到页面,感觉好麻烦,其实重写WebMvcConfigurer中的addViewControllers方法即可达到效果了

值的指出的是,在这里重写addViewControllers方法,并不会覆盖 WebMvcAutoConfiguration (Springboot自动配置)中的addViewControllers(在此方法中,Spring Boot将“/”映射至index.html),这也就意味着自己的配置和Spring Boot的自动配置同时有效,这也是我们推荐添加自己的MVC配置的方式。

比如,我们想自定义静态资源映射目录的话,只需重写addResourceHandlers方法即可。

注:如果继承WebMvcConfigurationSupport类实现配置时必须要重写该方法,具体见其它文章

此时会注册一个默认的Handler:,这个Handler也是用来处理静态文件的,它会尝试映射/。当DispatcherServelt映射/时(/ 和/ 是有区别的),并且没有找到合适的Handler来处理请求时,就会交给 来处理。注意:这里的静态资源是放置在web根目录下,而非WEB-INF 下。
可能这里的描述有点不好懂(我自己也这么觉得),所以简单举个例子,例如:在webroot目录下有一个图片:1.png 我们知道Servelt规范中web根目录(webroot)下的文件可以直接访问的,但是由于DispatcherServlet配置了映射路径是:/ ,它几乎把所有的请求都拦截了,从而导致1.png 访问不到,这时注册一个 就可以解决这个问题。其实可以理解为DispatcherServlet破坏了Servlet的一个特性(根目录下的文件可以直接访问),是帮助回归这个特性的。

这个方法是用来配置视图解析器的,该方法的参数ViewResolverRegistry 是一个注册器,用来注册你想自定义的视图解析器等。ViewResolverRegistry 常用的几个方法: https://blog.csdn.net/fmwind/article/details/81235401

跨域资源共享向来都是热门的需求,我们可以使用 CORS 来快速实现 跨域访问,只需要在服务端进行授权即可,无需在前端添加额外的设置

简单说,CORS是一种访问机制,英文全称: Cross-Origin Resource Sharing,即我们说的跨域资源共享。当一个资源从与该资源本身所在服务器不同的域或端口请求一个资源时,资源会发起一个跨域HTTP请求。比如,在一个域名下的网页中,调用另一个域名中的资源。

对于 CORS的跨域请求,上面的方式是重写webMvcConfigurer实现全局配置,这里展开一下,主要有以下几种方式可供选择:

在任意配置类,返回一个 新的 CorsFIlter Bean ,并添加映射路径和具体的CORS配置路径。

参考上面,此处省略

在控制器上使用注解 @CrossOrigin :

在Controller方法上使用注解 @CrossOrigin :

使用 HttpServletResponse 对象添加响应头(Access-Control-Allow-Origin)来授权原始域,这里 Origin的值也可以设置为 "*",表示全部放行。

⑷ spring boot启动找不到ServletWebServerFactory bean

spring boot项目需要打包为war包,按照官网的操作:

在做了这两个操作之后,打包成war包是没有问题,但是本地运行spring boot项目的时候报错了,最主要的错误信息是:Unable to start e to missing ServletWebServerFactory bean

按照错误日志,一步步debug

具体spring boot怎么初始化tomcat的,请搜索其他资料。我们主要用到的是这个类TomcatServletWebServerFactory

看到这边我们就大概可以定位到问题了,就是TomcatServletWebServerFactory这个类没有被初始化。

所以思考下我们做了什么操作?我们将tomcat包设置了 <scope>provided</scope> ,我们本意是打包的时候才不需要将这个包加入lib里面,正常调试编译是可以编译到的,那么可不可能是编译器的问题呢?

我们打开idea运行时的配置Run=>Edit configurations

好了,看到这里,问题就知道怎么解决了,原先这个没打勾,也就是运行的时候,不会将 <scope>provided</scope> 的包加入编译,我们将这个打钩,重新运行一下,问题就解决了。

这个参数跟idea版本有关系,在下面这个版本之后就被默认打钩了。

⑸ SpringBoot Web项目依赖分析

在上篇中,我们得到如下的pom.xml

看看其核心类容:

按住ctrl并点击parent中spring-boot-stater-parent节点,可以看到

spring-boot-stater-parent有一个parent spring-boot-dependencies
根据名字分析,是spring-boot项目依赖的
继续点击spring-boot-dependencies
可以看到其在properties中配置了大量的依赖版本

我当前这个版本(2.2.3.RELEASE)在properties中共配置了203个依赖的版本
properties下面 dependencyManagement节点中,配置了依赖组建的版本:

在项目的pom.xml中查看依赖树:

可以看到springboot-starter-web添加了tomcat,web,webmvc,spring-core,spring-context等依赖
这也就是为什么我们可以直接通过DemoApplication.main来运行,而不需要配置外部servlet容器的原因,同时,通过这个starter-web就已经将web相关的依赖都整合进来了。

springboot中提供了很多starter,比如

⑹ spring boot 怎么创建web

Spring Boot充分利用了JavaConfig的配置模式以及“约定优于配置”的理念,能够极大的简化基于Spring
MVC的Web应用和REST服务开发。

Spring
4倡导微服务的架构,针对这一理念,近来在微博上也有一些有价值的讨论,如这里和这里。微服务架构倡导将功能拆分到离散的服务中,独立地进行部署,Spring
Boot能够很方便地将应用打包成独立可运行的JAR包,因此在开发模式上很契合这一理念。目前,Spring
Boot依然是0.5.0的里程碑版本,因此相关的文档尚不完善,本文将会以一个简单的样例来介绍基于这个项目的开发过程。

要Spring
Boot进行功能开发,需要使用Gradle或者Maven作为构建工具。在本例中,我们会使用Eclipse和Maven插件进行开发。要使用Spring
Boot,首先创建一个Maven工程,并修改Maven主要的配置文件pom.xml,如下所示:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>0.5.0.M7</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf-spring3</artifactId>
</dependency>
</dependencies>

<properties>
<start-class>com.levin.Application</start-class>
</properties>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

<repositories>
<repository>
<id>spring-milestone</id>

⑺ 为什么我的idea创建springboot没有web项目如图

正常的,你勾选的是依赖,不是目录结构,在main目录下新建一个就好了,注意约定的路径不能错.

⑻ springboot 单元测试(如何使用基于web的单元测试)

spring的测试环境是我们在开发过程中必须要掌握的,测试 有的时候需要测试 cotroller ,有的时候需要测试 service 的内容,和大家分享一下如何在工作中进行测试的,立志工具人。 一起干饭!

本章主要内容

测试是软件开发的重要组成部分,一般情况下,测试的时候,我们只需要模拟请求数据,将数据填充至测试方法中,然后启动spring容器,即可。

类中的内容并不多:这个类只有一个空的测试方法。即便是空的,系统还是会执行必要的检查,确保spring应用上下文能够成功加载。

对于控制器的测试,我们平常并不是很经常用到。它与上面的测试有所不同,没有使用@SpringBootTest标记,而是添加了@WebMvcTest注解。这是Spring boot所提供的特殊测试注解,他会让这个测试在Spring MVC 应用上下文中执行。更具体来讲,它会将HomeControlelr 注册到SpringMVC中,这样的话,我们就可以向他发送请求了。

不要以为每天把功能完成了就行了,这种思想是要不得的,互勉~!

若文章对您有用,请点赞支持哦。

⑼ spring boot 发布外部tomcat 没有web.xml怎么部署

你这个新建的web.xml文件要创建在WEB-INF文件夹目录下,也就是说要覆盖掉之前这个文件的位置,然后重新编译一下,可以去tomcat目录下的webapps目录里的你的项目里确认一下。