Weblogic 12,不含web.xml webapp

Weblogic 12,不含web.xml webapp,weblogic,spring-4,Weblogic,Spring 4,是否可以在没有Web.xml的情况下创建SpringWebMVC应用程序[已经完成并在Tomcat8中成功部署]并部署Weblogic 12 步骤: 1) 使用maven原型webapp。 2) 已删除生成的web.xml和index.html。 3) 以下是java配置文件: package com.test.xyz.config; import javax.servlet.Filter; import org.springframework.web.servlet.support.Abs

是否可以在没有Web.xml的情况下创建SpringWebMVC应用程序[已经完成并在Tomcat8中成功部署]并部署Weblogic 12

步骤: 1) 使用maven原型webapp。 2) 已删除生成的web.xml和index.html。 3) 以下是java配置文件:

package com.test.xyz.config;

import javax.servlet.Filter;

import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;

public class TestInitializer 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[] { "/" };
    }

    @Override
    protected Filter[] getServletFilters() {
        Filter [] singleton = { new CORSFilter() };
        return singleton;
    }   

}
/****第三*****/

package com.test.xyz.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.DefaultServletHandlerConfigurer;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
/**
 * All the beans configured here will be loaded under dispatcher-servlet 
 * application context
 */
@Configuration
/**
 * @EnableWebMvc is replacement for <mvc:annotation-driven>
 */
@EnableWebMvc
@ComponentScan("com.test.xyz")
public class WebConfig extends WebMvcConfigurerAdapter{

    /**
     * @config JSP view resolver
     */
    @Bean
    public ViewResolver viewResolver() {
    InternalResourceViewResolver resolver =
    new InternalResourceViewResolver();
    resolver.setPrefix("/WEB-INF/views/");
    resolver.setSuffix(".jsp");
    resolver.setExposeContextBeansAsAttributes(true);
    return resolver;
    }

    /**
     * @handle request for static resources 
     * otherwise dispatcher-servlet need to do it
     * here you are forwarding request to servlet container’s 
     * default servlet
     */


    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/standardversion/**").addResourceLocations("/standardversion/");
    }
}
package com.test.xyz.config;
导入org.springframework.context.annotation.Bean;
导入org.springframework.context.annotation.ComponentScan;
导入org.springframework.context.annotation.Configuration;
导入org.springframework.web.servlet.viewsolver;
导入org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
导入org.springframework.web.servlet.config.annotation.EnableWebMvc;
导入org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
导入org.springframework.web.servlet.config.annotation.WebMVCConfigureAdapter;
导入org.springframework.web.servlet.view.InternalResourceViewResolver;
/**
*这里配置的所有bean都将在DispatcherServlet下加载
*应用程序上下文
*/
@配置
/**
*@EnableWebMvc将取代
*/
@EnableWebMvc
@组件扫描(“com.test.xyz”)
公共类WebConfig扩展了WebMVCConfigureAdapter{
/**
*@config JSP视图解析器
*/
@豆子
公共ViewResolver ViewResolver(){
InternalResourceViewResolver解析器=
新的InternalResourceViewResolver();
resolver.setPrefix(“/WEB-INF/views/”);
resolver.setSuffix(“.jsp”);
resolver.SetExposeContextBeanSatAttribute(true);
返回解析器;
}
/**
*@handle请求静态资源
*否则,DispatcherServlet需要这样做
*在这里,您将请求转发到servlet容器的
*默认servlet
*/
@凌驾
public void addResourceHandlers(ResourceHandlerRegistry注册表){
registry.addResourceHandler(“/standardversion/**”).addResourceLocations(“/standardversion/”);
}
}

这应该是可行的

web.xml对于2.5是必需的,3.0+不是必需的(可选)


如果它在Tomcat中工作,那么它将在WLS(web容器)中工作。

在解析WebApplicationInitializer子类时,weblogic中存在一个错误。如果将冗余接口WebApplicationInitializer添加到TestConfig,它应该可以工作

所以您的TestConfig应该如下所示

public class TestInitializer extends AbstractAnnotationConfigDispatcherServletInitializer implements WebApplicationInitializer {
...... your code ....
}

不起作用,一旦我在同一个项目中添加了web.xml,它就开始出现了。在它给出-HTTP 403“禁止”之前。我已经添加了上面使用的步骤。如果我遗漏了什么,请告诉我。
public class TestInitializer extends AbstractAnnotationConfigDispatcherServletInitializer implements WebApplicationInitializer {
...... your code ....
}