springmvc转成springboot

本文关键字:以下  问题  解决方案  项目  过程  一直  报错 


springmvc转成springboot项目,因为不熟springboot,转成boot项目过程中,问题不断,以下是遇到的问题以及解决方案:


Caused by:org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.context.ApplicationContextException: Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.

一直报错,如下:

Application startup failed
org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.context.ApplicationContextException: Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:137)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:536)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:737)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:370)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:314)
at cn.sh.ideal.boot.ApplicationStarter.main(ApplicationStarter.java:17)
Caused by: org.springframework.context.ApplicationContextException: Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.getEmbeddedServletContainerFactory(EmbeddedWebApplicationContext.java:189)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:162)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:134)
... 6 more

解决方案:在pom.xml中添加以下配置

 <dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0<springmvc转成springbootversion>
</dependency>


<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<version>${tomcat.version}<springmvc转成springboot/version>
<scope>provided</scope>
</dependency> 


<tomcat.version>8.0.28</tomcat.version> 




扩展:

setdefaultencoding

python CGI模块获取中文编码问题解决- 部分方案转自 http://vb2005xu.javaeye.com/blog/258633文章分类:Python编程今天在尝试Python的CGI模块时遇到中文字符不能正确显示的问题,很郁闷.在网上仔细找了找,终于解决了这个问题,现在将解决方法陈述如下,以防下次失误. 页面源代码如下#-*- coding: utf8 -*-import cgitb , cgicgitb.enable()form = cgi.FieldStorage()......

Eclipse中spring boot的安装和创建简单的Web应用

1.添加STS插件方法一1.Help -> Eclipse Marketplace… 2.选择“Popular”标签去查找Spring Tool Suite (STS) for Eclipse插件,找到后在线安裝 方法二1.Help -> Eclipse Marketplace… 2. 选择search标签,通過搜索spring tool关键词查找Spring Tool Suite (STS) for Eclipse插件,找到后在线安裝 方法三1.工具下载地址:Spring Tool......

Spring Boot干货系列:(五)开发Web应用JSP篇

后端编程嘟 2017-03-14 00:06前言上一篇介绍了Spring Boot中使用Thymeleaf模板引擎,今天来介绍一下如何使用SpringBoot官方不推荐的jsp,虽然难度有点大,但是玩起来还是蛮有意思的。正文先来看看整体的框架结构,跟前面介绍Thymeleaf的时候差不多,只是多了webapp这个用来存放jsp的目录,静态资源还是放在resources的static下面。引入依赖使用内嵌的tomcat容器来运行的话只要这3个就好了。这里介绍下maven中scope依赖范......

[Spring boot] web应用返回jsp页面

同事创建了一个spring boot项目,上传到svn。需要我来写个页面。下载下来后,始终无法实现在Controller方法中配置直接返回jsp页面。郁闷了一下午,终于搞定了问题。在此记录一下。 目标:在Controller方法中配置直接返回jsp页面 项目中添加src/main/webapp文件夹,没什么好说的。  下面详细介绍@Controller注解和@RestController注解的不同实现方法。 @Controller注解1. app......

Spring Boot Web应用的异常处理

Web应用在处理请求时可能会出现多种错误,如请求参数不正确、URL不存在、请求方法错误、内部未知错误等。SpringMVC有多种异常处理方式,使用某种方式的判断标准是,你的异常是在请求处理的哪个阶段发生的。在执行@RequestMapping方法时发生的异常这也是最常见的异常了,处理业务逻辑时可能会发生各种问题,如数据库报错、请求参数格式错误/缺失/值非法等。此类异常的捕获方法有两种,对于提供RESTful服务的应用,使用@ControllerAdvice和@ExceptionHandler注解......

Spring Boot中Web应用的统一异常处理

我们在做Web应用的时候,请求处理过程中发生错误是非常常见的情况。Spring Boot提供了一个默认的映射:/error,当处理中抛出异常之后,会转到该请求中处理,并且该请求有一个全局的错误页面用来展示异常内容。选择一个之前实现过的Web应用(Chapter3-1-2)为基础,启动该应用,访问一个不存在的URL,或是修改处理内容,直接抛出异常,如:1234@RequestMapping("/hello")public String hello() throws Except......

Spring Boot搭建Web应用

Spring Boot简介Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。 用一句话:不用自己做配置,搭建速度快,降低学习门槛。Spring Boot 在 Spring 生态中的位置: Spring Boot......

spring-boot中配置和使用Caffeine Cache

转自:http://lib.csdn.net/article/java/65506题外话: Spring 5中已经摘除了对Guava caching的使用,转而使用Caffeine.详见官方信息SPR-13797本地缓存,之前一直用Guava Cache,最近spring-boot推荐使用Caffeine Cache。 主要的三种本地缓存性能对比:简单几步,就可以在spring-boot中配置和使用Caffeine Cache:引入依赖:<!-- local cache --><......

spring-boot中配置和使用Caffeine Cache

本地缓存,之前一直用Guava Cache,最近spring-boot推荐使用Caffeine Cache。主要的三种本地缓存性能对比:简单几步,就可以在spring-boot中配置和使用Caffeine Cache:1、引入依赖:<!-- local cache --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-start......

redis常见配置redis.conf介绍

参数说明redis.conf 配置项说明如下:1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程  daemonize no2. 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定  pidfile /var/run/redis.pid3. 指定Redis监听端口,默认端口为6379,作者在自己的一篇博文中解释了为什么选用6379作为默认端口,因为6379在......

Lua语言中pairs和ipairs的区别

 tbl = {"alpha", "beta", ["one"] = "uno", ["two"] = "dos"}for key, value in ipairs(tbl) doprint(key, value)end--pairs()--pairs()函数基本和ipairs()函数用法相同, 区别在于pairs()可以遍历整个table, 即包括数组及非数组部分.-->如有pairs迭代输出如下:-->1 alpha-->2 beta-->one uno--......

Everything和Total commander整合

TotalCommander和Everything的结合设置Total Commander(下称TC)和Everything都是我常使用的软件,一个是功能超级强大的资源管理软件,另一个是速度电光火石的文件搜索软件。将两者结合起来可以极大的提高工作效率。本文对两者的结合方法进行了介绍。这里参考了善用佳软和水木社区的讨论,以及【1】中的方法总结。 1. 在Everything中调用TC在Everything的安装目录下找到Everything.ini文件,其中包含着对Everything软......

Spring Boot使用方法小札(1):Web应用返回jsp页面

直接使用SpringMVC时配置访问jsp页面时很容易的事,但是由于Spring Boot使用内嵌的servlet容器,所以对jsp的支持不是很好,而且也不建议使用jsp,但是为了满足这种返回jsp页面的需求同时又想享受Spring Boot免去各种配置的麻烦,经本屌丝各种试验,有两种方法可以供参考,在说明以下两种方法前首先声明所用的依赖如下:<dependency> <groupId>org.springframework.boot</groupId>......

用Spring Boot & Cloud,Angular2快速搭建微服务web应用

接下来我们来看看如何增加权限控制,即提供用户认证和鉴权的功能。首先有3个比较重要的架构设计选择:使用Spring的OAuth 2.0,还是使用Spring Session。虽然Spring对OAuth 2.0的支持已经很完善了,简化了大量的配置和开发,但是OAuth 2.0本身还是比较复杂的,尤其是要使用JWT(JSON Web Tokens)和CORS的情况下。OAuth 2.0的应用场景,也包含了许多我们当前并不需要的功能。从简单够用的理念出发,我决定先选择使用Spring Session。......

SQL 语句中的in、find_in_set、like的区别

1.in查询相当于多个or条件的叠加,例如:select * from user where user_id in (1,2,3);等效于select * from user where user_id = 1 or user_id = 2 or user_id = 3;not in与in相反,如下select * from user where user_id not in (1,2,3);等效于select * from user where user_id != 1 and user_id......

关于在ubuntu上搭建python paramiko

过程很艰辛,尝试用git上的包安装与用pip安装,发现pip是个好东西,用起来很方便首先要安装了Gccgit下载文件安装:下载两个文件pycrypto和paramiko,可以从git上下载先安装pycrypto,pycrypto文件夹下运行python setup.py build&&python setup.py install再安装paramiko,在paramiko文件夹下运行python setup.py build&&python setup.py in......

redis的配置文件redis.conf常见配置

# Redis 配置文件# 当配置中需要配置内存大小时,可以使用 1k, 5GB, 4M 等类似的格式,其转换方式如下(不区分大小写)## 1k => 1000 bytes# 1kb => 1024 bytes# 1m => 1000000 bytes# 1mb => 1024*1024 bytes# 1g => 1000000000 bytes# 1gb => 1024*1024*1024 bytes## 内存配置大小写是一样的.......

redis练习手册<三>redis的配置文件redis.conf介绍

如果希望使用redis.conf 启动redis需要在启动redis-server 后加上 redis.conf ,否则会使用默认配置启动reids # ./src/redis-server redis.confredis.conf 配置项说明如下:1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程    daemonize no2. 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/......

Linux系统往Window系统定时备份数据

Linux系统之间备份数据比较简单,你可以用resync和其他工具备份数据,但是小白我发觉LINUX往我Windows上面备份数据好像不行,所以就用了以下比较蠢的办法:我用到的是Linux samba服务器和Crontab任务管理还有Window上面的任务计划管理,我的Linux版本是Centos 6.5虚拟机,然后windows版本是Win71首先是Linux上面的samba服务器,有些系统是已经自带了Samba服务端,但是小白的上面只有客户端,可以查看自己系统有没有安装Samba服......

linux的crontab定时服务备份mysql数据

利用Linux的crontab定时服务备份mysql数据。一、库文件备份库文件备份,我建议一周一次(当然,我的项目规模一般,然后至于怎么一周一次,稍候我们再聊了)#!/bin/bashdate_now=`date +%Y_%m_%d_%H%M%S`mysqldump -uroot -plixiaoli --flush-logs --master-data=2 maweiqing>/home/backup/${date_now}.sql &&zip -r /home/back......