< dependencies>
< ! -- Java语言操作tomcat -- >
< dependency>
< groupId> org. apache. tomcat. embed< / groupId>
< artifactId> tomcat- embed- core< / artifactId>
< version> 8.5 .28 < / version>
< / dependency>
< ! -- spring- web -- >
< dependency>
< groupId> org. springframework< / groupId>
< artifactId> spring- web< / artifactId>
< version> 5.0 .4 . RELEASE< / version>
< scope> compile< / scope>
< / dependency>
< ! -- spring- mvc -- >
< dependency>
< groupId> org. springframework< / groupId>
< artifactId> spring- webmvc< / artifactId>
< version> 5.0 .4 . RELEASE< / version>
< scope> compile< / scope>
< / dependency>
< ! -- tomcat对jsp支持 -- >
< dependency>
< groupId> org. apache. tomcat< / groupId>
< artifactId> tomcat- jasper< / artifactId>
< version> 8.5 .28 < / version>
< / dependency>
< / dependencies>
SplittrWebAppInitializer
package com. itmayiedu. config;
import org. springframework. web. servlet. support. AbstractAnnotationConfigDispatcherServletInitializer;
public class SplittrWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class< ? > [ ] getRootConfigClasses ( ) {
return new Class [ ] { RootConfig. class } ;
}
@Override
protected Class< ? > [ ] getServletConfigClasses ( ) {
return new Class [ ] { WebConfig. class } ;
}
@Override
protected String[ ] getServletMappings ( ) {
return new String [ ] { "/" } ;
}
}
RootConfig
package com. itmayiedu. config;
import org. springframework. context. annotation. ComponentScan;
import org. springframework. context. annotation. Configuration;
@Configuration
@ComponentScan ( "com.itmayiedu" )
public class RootConfig {
}
WebConfig
package com. itmayiedu. config;
import org. springframework. context. annotation. Bean;
import org. springframework. context. annotation. ComponentScan;
import org. springframework. context. annotation. Configuration;
import org. springframework. web. servlet. ViewResolver;
import org. springframework. web. servlet. config. annotation. EnableWebMvc;
import org. springframework. web. servlet. config. annotation. WebMvcConfigurerAdapter;
import org. springframework. web. servlet. view. InternalResourceViewResolver;
@Configuration
@EnableWebMvc
@ComponentScan ( basePackages = { "com.itmayiedu.controller" } )
public class WebConfig extends WebMvcConfigurerAdapter {
@Bean
public ViewResolver viewResolver ( ) {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver ( ) ;
viewResolver. setPrefix ( "/WEB-INF/views/" ) ;
viewResolver. setSuffix ( ".jsp" ) ;
viewResolver. setExposeContextBeansAsAttributes ( true ) ;
return viewResolver;
}
}
IndexController
package com. itmayiedu. controller;
import org. springframework. beans. factory. annotation. Autowired;
import org. springframework. web. bind. annotation. RequestMapping;
import org. springframework. web. bind. annotation. RestController;
import com. itmayiedu. service. UserService;
@RestController
public class IndexController {
@Autowired
private UserService userservice;
@RequestMapping ( value= "/index" , produces = "text/html;charset=UTF-8" )
public String index ( ) {
return userservice. index ( ) ;
}
}
UserController
package com. itmayiedu. controller;
import org. springframework. stereotype. Controller;
import org. springframework. web. bind. annotation. RequestMapping;
@Controller
public class UserController {
@RequestMapping ( "/pageIndex" )
public String pageIndex ( ) {
return "pageIndex" ;
}
}
UserService
package com. itmayiedu. service;
import org. springframework. stereotype. Service;
@Service
public class UserService {
public String index ( ) {
return "springBoot 2.0 yb finsh" ;
}
}
启动类AppTomcat
package com. itmayiedu;
import java. io. File;
import javax. servlet. ServletException;
import org. apache. catalina. LifecycleException;
import org. apache. catalina. WebResourceRoot;
import org. apache. catalina. core. StandardContext;
import org. apache. catalina. startup. Tomcat;
import org. apache. catalina. startup. Tomcat. FixContextListener;
import org. apache. catalina. webresources. DirResourceSet;
import org. apache. catalina. webresources. StandardRoot;
public class AppTomcat {
public static void main ( String[ ] args) throws ServletException, LifecycleException {
Tomcat tomcatServer = new Tomcat ( ) ;
tomcatServer. setPort ( 9090 ) ;
StandardContext ctx = ( StandardContext) tomcatServer. addWebapp ( "/" , new File ( "src/main" ) . getAbsolutePath ( ) ) ;
ctx. setReloadable ( false ) ;
File additionWebInfClasses = new File ( "target/classes" ) ;
WebResourceRoot resources = new StandardRoot ( ctx) ;
resources. addPreResources ( new DirResourceSet ( resources, "/WEB-INF/classes" , additionWebInfClasses. getAbsolutePath ( ) , "/" ) ) ;
tomcatServer. start ( ) ;
System. out. println ( "tomcat服务器启动了" ) ;
tomcatServer. getServer ( ) . await ( ) ;
}
}
pgeIdex.jsp
< % @ page language= "java" contentType= "text/html; charset=UTF-8"
pageEncoding= "UTF-8" % >
< ! DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" >
< html>
< head>
< meta http- equiv= "Content-Type" content= "text/html; charset=UTF-8" >
< title> yb< / title>
< / head>
< body>
< h1> 纯手写springboot框架整合jsp< / h1>
< / body>
< / html>
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200424164009418.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ2MjY2NTAz,size_16,color_FFFFFF,t_70)