Невозможно загрузить JSP в приложении Struts1 + Springboot, используя встроенный tomcat для регистрации источников данных. - PullRequest
0 голосов
/ 02 января 2019

У нас есть устаревшее приложение в struts1.2, развернутое в tomcat, у нас есть требование заменить tomcat на springboot в этом устаревшем приложении.

Мы используем встроенный tomcat для загрузки источников данных В нашем устаревшем приложении мымы используем некоторые родительские компоненты, которые тоже есть в Struts1.2. Мы сталкиваемся с проблемами при загрузке JSP текущего и родительского компонентов.

Наши страницы Java не загружаются при запуске класса springboot.

Загрузка источника данных

 @Bean
    public TomcatServletWebServerFactory tomcatFactory(DbPrim dbp) {
 @Override
            protected TomcatWebServer getTomcatWebServer(
                    Tomcat tomcat) {
                tomcat.enableNaming();
                return super.getTomcatWebServer(tomcat);
            }

            @Override
            protected void postProcessContext(Context context) {
                ContextResource resource = new ContextResource();

                resource.setName("jdbc/myDbApp");
                resource.setType(DataSource.class.getName());
                resource.setProperty(FACTORY, sfApp.getFactory());
                resource.setProperty(DRIVER_CLASS, "driverclass");
                resource.setProperty("url", "abc");
                resource.setProperty(USERNAME, "test");
                resource.setProperty(PAS, "pwd");
                resource.setProperty(MAX_ACTIVE, 1);
                resource.setProperty(MAX_IDLE, 1);
                resource.setProperty(MAXWAIT, 100);
                context.getNamingResources().addResource(resource);
}

Spring Boot Class

Загрузка конфигурации Struts существующего устаревшего приложения

public class MyApplication extends SpringBootServletInitializer {

    @Autowired
    DBContainer appContainer;



    private static Logger logger1 = LoggerFactory.getLogger(MyApplication.class);

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(MyApplication.class);
    }

    public static void main(String[] args) {


        SpringApplication.run(MyApplication.class, args);

    }

    @Bean
    public ServletRegistrationBean action() {
        ServletRegistrationBean bean = new ServletRegistrationBean(
                new GenericActionServlet());
        Map<String, String> initparam = new HashMap<String, String>();
        initparam.put("application", "ApplicationResources");
        initparam.put("config", "/WEB-INF/struts-config.xml");
        initparam.put("debug", "2");
        initparam.put("detail", "2");
        initparam.put("validate", "true");
        bean.setInitParameters(initparam);
        bean.setLoadOnStartup(1);
        bean.addUrlMappings("*.do");
        return bean;
    }
...