不带@ComponentScan的基于Java的WebMVC mapping.jsp配置

不带@ComponentScan的基于Java的WebMVC mapping.jsp配置,java,spring,jsp,maven,Java,Spring,Jsp,Maven,我在我的项目中使用Spring基于Java的配置hello 这是我的配置: @Configuration @EnableWebMvc public class Config{ @Scope("session") public A a(){ return new A(); } } 这是我的web.xml <web-app> <servlet> <servlet-name>world</servlet-n

我在我的项目中使用Spring基于Java的配置
hello

这是我的配置:

@Configuration
@EnableWebMvc
public class Config{
    @Scope("session")
    public A a(){
        return new A();
    }
}
这是我的
web.xml

<web-app>
  <servlet>
    <servlet-name>world</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>world</servlet-name>
    <url-pattern>*.html</url-pattern>
  </servlet-mapping>
</web-app>
这是我的文件
bar.jsp

abc
这是我的
pom.xml

...
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>4.1.1.RELEASE</version>
    </dependency>
...

我在配置中错过了一个
@Bean

@Configuration
@EnableWebMvc
public class Config{
    @Bean
    @Scope("session")
    public A a(){
        return new A();
    }
}
foo一定是这样的:

public String foo(){
   return "bar.jsp";
}

我还不能添加评论,所以将此作为答案发布

您可以在
Config.java
中包含以下代码段:

  • 避免在foo方法中添加.jsp扩展
  • 解析视图而不必添加
    @Bean
    注释

将前缀替换为web应用程序中JSP的路径,您也可以在world-servlet.xml中定义视图解析器

尝试使用
http://localhost:8080/{alpha}/world/hello/test.html
您缺少端口(8080)和servlet名称
world
以及where
{aplha}如果您直接使用Tomcat,则必须将
替换为项目名称;如果您使用IDE,则必须将该值替换为上下文根目录;如果您使用IDE,则可以执行以下操作:在IDE中选择项目->右键单击->属性->Web项目设置我的错误与servlet名称无关,是关于
url模式的
,从
*.html
更改为/@ManuelJordan Port 80是正确的,因为我在控制台中得到了一个输出。
url模式也正确,因为我在控制台中得到了一个输出。上下文根是正确的,因为我在控制台中获得了一个输出。url模式是正确的,因为我在控制台中得到了一个输出。您是否直接通过IDE工作?或者您在某个Tomcat中有
.war
文件?将
@RequestMapping(“test.html”)
更改为
@RequestMapping(“/test.html”)
,如何查看添加/
@Configuration
@EnableWebMvc
public class Config{
    @Bean
    @Scope("session")
    public A a(){
        return new A();
    }
}
public String foo(){
   return "bar.jsp";
}
@Bean
public UrlBasedViewResolver setupViewResolver() {
  UrlBasedViewResolver resolver = new UrlBasedViewResolver();
  resolver.setPrefix("/WEB-INF/pages/");
  resolver.setSuffix(".jsp");
  resolver.setViewClass(JstlView.class);
  return resolver;
}