首页 > 编程语言 > 详细

内嵌Tomcat和SpringMVC的简单整合测试

时间:2020-07-22 19:01:43      阅读:381      评论:0      收藏:0      [点我收藏+]

1、首先是包的依赖

技术分享图片

 

 2、添加对外暴露的接口类

技术分享图片
package com.fh.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class IndexController {


    public IndexController(){
        System.out.println("indexController初始化");
    }


    @GetMapping("index")
    @ResponseBody
    public String index(){
        return "index";
    }
}
View Code

3、添加配置类信息

技术分享图片
package com.fh.config;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration
@ComponentScan("com.fh")
public class AutoConfig {
}
View Code

4、添加主类进行SpringWeb环境的初始化和Tomcat的启动

package com.fh;

import com.fh.config.AutoConfig;
import org.apache.catalina.Context;
import org.apache.catalina.Server;
import org.apache.catalina.connector.Connector;
import org.apache.catalina.startup.Tomcat;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.servlet.DispatcherServlet;

import java.io.File;

public class ExampleMvcApplication {

public static void main(String[] args) throws Exception {
AnnotationConfigWebApplicationContext context =
new AnnotationConfigWebApplicationContext();
context.register(AutoConfig.class);
context.refresh();

File base = new File(System.getProperty("java.io.tmpdir"));

Tomcat tomcat = new Tomcat();
/**
* web项目
* contextPath tomcat的访问路径
* 项目的web目录
*
* 会调用相关的初始化实现类
*/
// Context context1 = tomcat.addWebapp("/", base.getAbsolutePath());

DispatcherServlet dispatcherServlet = new DispatcherServlet(context);

Context context1 = tomcat.addContext("/", base.getAbsolutePath());
//tomcat启动的过程中会调用DispatcherServlet中的init方法
Tomcat.addServlet(context1,"my",dispatcherServlet).setLoadOnStartup(1);
//spring web环境
context1.addServletMappingDecoded("/","my");
// context1.addServletMapping("/","my");

//tomcat8
// tomcat.setPort(8080);
// tomcat.start();
// tomcat.getServer().await();


//tomcat9
Server server = tomcat.getServer();
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setPort(8080);
connector.setThrowOnFailure(true);
tomcat.getService().addConnector(connector);
tomcat.setConnector(connector);
tomcat.start();
server.await();
}



}

内嵌Tomcat和SpringMVC的简单整合测试

原文:https://www.cnblogs.com/nihaofenghao/p/13362178.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!