我正致力于将标准的基于Servlet的(web.xml
)应用程序迁移到spring-boot应用程序。
我们不使用spring-mvc,而且web.xml配置超过700行。我没有找到任何加载web.xml的解决方案。
我试图迁移我拥有的所有servlet /过滤器并遇到servlet问题而没有实际的servlet类:
<servlet>
<servlet-name>index</servlet-name>
<jsp-file>/index.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>index</servlet-name>
<url-pattern>/index</url-pattern>
</servlet-mapping>
无法从文件中创建ServletRegistrationBean
或JspServlet
。
假设我有其他servlet映射,如何迁移这些Servlet?
答案 0 :(得分:1)
使用控制器
@SpringBootApplication
public class SpringBootWebApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(SpringBootWebApplication.class);
}
public static void main(String[] args) throws Exception {
SpringApplication.run(SpringBootWebApplication.class, args);
}
}
@Controller
public class IndexController {
@RequestMapping("/index")
public String index(Model model) {
model.addAttribute("name", name);
return "index";
}
}
在application.properties
中spring.mvc.view.prefix: /
spring.mvc.view.suffix: .jsp
答案 1 :(得分:0)
您需要扩展SpringBootServletInitializer
类并使用它来代替web.xml
。您可以通过它完全按照您的需要映射所有内容。
这将由Spring Boot自动获取。