标签:Tomcat tomcat Springmvc Spring class compile 源码 context public
1.新建一个module,创建一个gradle的Java模块
2.项目完成之后,添加相关依赖
dependencies { compile fileTree(dir:'lib',includes: ['*jar'])
compile group: 'org.apache.tomcat.embed', name: 'tomcat-embed-core', version: '8.5.57'
compile project(":spring-context") compile project(":spring-webmvc")
testCompile group: 'junit', name: 'junit', version: '4.12' }
3.创建配置类Appconfig
@Configuration @ComponentScan("com.wk") public class Appconfig { }
4.创建启动类SpringApplicationWk
public class SpringApplicationWk { public static void run() throws ServletException, LifecycleException { //直接初始化spring容器 AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext(); context.register(Appconfig.class); context.refresh(); File base = new File(System.getProperty("java.io.tmpdir")); Tomcat tomcat = new Tomcat(); tomcat.setPort(9090); /** * addWebapp表示这是一个web项目 * contextPath Tomcat的访问路径 * 项目的web目录 * 所以这里不能用addWebapp(SpringBoot当中也没有这么做) * */ // tomcat.addWebapp("/","index.html"); Context rootContext = tomcat.addContext("/",base.getAbsolutePath()); DispatcherServlet dispatcherServlet = new DispatcherServlet(context); //这段话的作用是在Tomcat的启动过程中会调用DispatcherServlet.init()方法 //初始化controller和请求映射 Tomcat.addServlet(rootContext,"wk", (Servlet) dispatcherServlet).setLoadOnStartup(1); // rootContext.addServletMapping("/","wk"); rootContext.addServletMappingDecoded("/","wk"); tomcat.start(); tomcat.getServer().await(); } }
5.创建controller
@Controller public class IndexController { @RequestMapping("/index") @ResponseBody public String index(){ return "index"; } }
6.创建测试类
public class Test { public static void main(String[] args) { try { SpringApplicationWk.run(); } catch (ServletException e) { e.printStackTrace(); } catch (LifecycleException e) { e.printStackTrace(); } } }
7.启动项目,访问
标签:Tomcat,tomcat,Springmvc,Spring,class,compile,源码,context,public 来源: https://www.cnblogs.com/wk-missQ1/p/13283985.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。