最近自己的Spring-boot
小项目想用到jersey ,但是也需要jsp做展示,这就需要注册两个servlet
先配置好mvc相关配置
pom.xml
中添加jsp相关依赖
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jersey</artifactId> </dependency> <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-multipart</artifactId> <version>2.19</version> </dependency>
|
application.properties
中添加
1 2
| spring.mvc.view.prefix=/WEB-INF/jsp/ spring.mvc.view.suffix=.jsp
|
添加jersey配置jerseyConfig
1 2 3 4 5 6 7 8 9 10 11 12 13
| import org.glassfish.jersey.media.multipart.MultiPartFeature; import org.glassfish.jersey.server.ResourceConfig; import org.glassfish.jersey.server.spring.scope.RequestContextFilter; import org.springframework.context.annotation.Configuration;
public class JerseyConfig extends ResourceConfig {
public JerseyConfig(){ register(RequestContextFilter.class); register(MultiPartFeature.class); packages("...controller"); } }
|
添加两个相关servlet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| @Configuration public class ServletConfig {
@Bean public ServletRegistrationBean dispatcherRegistration(DispatcherServlet dispatcherServlet) { ServletRegistrationBean registration = new ServletRegistrationBean( dispatcherServlet); registration.addUrlMappings("/jsp/*"); return registration; } @Bean public ServletRegistrationBean registrationJerseyBean(){ ServletRegistrationBean registration = new ServletRegistrationBean(new ServletContainer(new JerseyConfig())); registration.setEnabled(true); registration.setName("jersey-servlet"); registration.addUrlMappings("/rest/*"); return registration; } }
|
参考