gpt4 book ai didi

java - 带有 spring 的拦截器 - 上下文初始化失败

转载 作者:行者123 更新时间:2023-11-30 11:50:30 25 4
gpt4 key购买 nike

我正在尝试在 /index url 后面的 controller 上运行一些简单的拦截器。使用这篇文档 http://static.springsource.org/spring/docs/3.0.2.RELEASE/spring-framework-reference/html/mvc.html#mvc-handlermapping-interceptor .这是我的 bean :

<bean id="handlerMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<value>
/index
</value>
</property>
<property name="interceptors">
<list>
<ref bean="myinter" />
</list>
</property>
</bean>

<bean id="myinter" class="my.classes.myinterceptor">
</bean>

但不幸的是我得到了:

SEVERE: Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'handlerMapping' defined in ServletContext
resource [/WEB-INF/spring-servlet.xml]: Initialization of bean failed;
nested exception is
org.springframework.beans.factory.NoSuchBeanDefinitionException: No
bean named '' is defined

谢谢你的建议。

编辑,这是我的拦截器:

package my.classes;

import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;

public class myinterceptor extends HandlerInterceptorAdapter{
public boolean preHandle(HttpServletResponse response){
try {
System.out.println("bla bla");
response.sendRedirect("http://google.com");
} catch (IOException e) {
e.printStackTrace();
}
return true;
}
}

最佳答案

SimpleUrlHandlerMapping 的目的是将 url 映射到某个处理程序 bean。您未能定义该处理程序 bean。尝试通过 bean id 将 url 映射到上下文中的某个 Controller ,如下所示。

<bean id="handlerMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<value>
/index=someController
</value>
</property>...

关于java - 带有 spring 的拦截器 - 上下文初始化失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7954025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com