不带@ComponentScan的基于Java的WebMVC mapping.jsp配置
我在我的项目中使用Spring基于Java的配置不带@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
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;
}