在我的filter bean类中,我添加了一些bean依赖关系(带有@Autowired
注释)。但是在该方法中doFilter()
,我所有的依赖项bean都为null。
public class FacebookOAuth implements Filter
{
@Autowired
private BusinessLogger logger;
@Autowired
private IUserSessionInfo userSessionInfo;
@Autowired
private FacebookOAuthHelper oAuthHelper;
public void init(FilterConfig fc) throws ServletException
{
// Nothing to do
}
public void doFilter(ServletRequest sr, ServletResponse sr1, FilterChain fc) throws IOException, ServletException
{
// HttpServletRequest req = (HttpServletRequest)sr;
HttpServletResponse res = (HttpServletResponse) sr1;
String code = sr.getParameter("code");
if (StringUtil.isNotBlankStr(code))
{
String authURL = this.oAuthHelper.getAuthURL(code);
this.oAuthHelper等于null(和其他依赖项bean)…
你可以帮帮我吗 ?
实际上,我不在服务器端(Spring)上使用MVC概念。对于我的副客户端,我使用Flex技术,并且BlazeDS servlet吨与服务器通信。
因此,这就是原因,我使用了Filter bean的概念。
因此,如何在Filter bean中处理会话bean的概念?
Skaffman,
我实现了你的想法,因此我使用以下命令更新了application.xml:
<bean id="FacebookOAuthHandler" class="com.xx.FacebookOAuthHandler" />
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/fbauth">FacebookOAuthHandler</prop>
</props>
</property>
</bean>
和我的FacebookOAuthHandler类:
public class FacebookOAuthHandler extends AbstractController
{
@Autowired
private BusinessLogger logger;
@Autowired
private IUserSessionInfo userSessionInfo;
@Autowired
private FacebookOAuthHelper oAuthHelper;
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request,
HttpServletResponse response) throws Exception {
// TODO
return null;
}
但是,当我的URL为:http://xx.xx.xx.xx/MyApp/fbauth时,永远不会调用此方法handleRequestInternal
我遇到了同样的问题,我的第一个想法是手动强制Spring将@Autowired注释应用于此处建议的过滤器
但是我不喜欢在Java类中对bean名称进行硬编码的想法。
我发现了一种更有效的方法:
public void init(FilterConfig filterConfig) throws ServletException {
SpringBeanAutowiringSupport.processInjectionBasedOnServletContext(this,
filterConfig.getServletContext());
}
我想使用java代码编辑以下首选项 Eclipse首选项通用工作区文本文件编码-Others-UTF-8 我需要有一个方法,调整4件事时,它被调用,所以我想调整上面的首选项使用java而不是manualyy...我怎么能这样做?
我需要包括一些必须在许多tmpls中重复的php代码。我怎么能做到这一点,可能是因为类包括?我怎么能写PHP文件与我的类在一个正确的方式?换句话说,我需要像 视图/类别/胎压监测/默认值。php 视图/文章/TPM/默认值。php 我的班级。php ... 更新:@Guilherme谢谢你!所以现在看起来 文件/mytemplate/html/com\u content/article/defau
我安装了来自Oracle的Java SE8U25 JDK(64位),其中应该包括JavaFX。 我试图复制本教程中的代码:http://docs.oracle.com/javase/8/javafx/get-started-tutorial/hello_world.htm 当尝试使用时,Eclipse显示“无法解析类型javafx.scene.control.Control。在尝试创建对象时也会出
我真的希望有人能帮我弄清楚我到底错过了什么。我已经将我的安装从PHP5.6升级到7.0,这迫使我从Mysql更新到Mysqli。由于某种原因,我的安装被破坏了。 我研究并遵循了“在其他类使用MySQLi”指南:在其他类使用MySQLi 我写作为最后的手段,也看了其他网站,但似乎问题来自其他地方。 首先,我有一个数据库类: 然后我有一个API类,我想在其中访问这个连接,它看起来像 最后我试着从一个函
我刚开始使用Java,到处搜索,但无论出于何种原因都无法找到解决方案。我的问题对我来说似乎很简单:我在同一个文件夹中有两个类,该文件夹是我的包,为了说明: 我需要在第2类中创建第1类的实例,但它就是不起作用。这是一个示例: 文件路径: 文件路径: 我得到这个错误 根据要求,完整的源代码:注:class1=ClientIndividual,class2=涉众 第一个文件 第二个文件 第三个文件(接口
我使用protobuf3来表示数据,虽然我们需要hbase来存储数据,但hbase似乎依赖于protobuf2。 当我编写以下行来创建我们的hbase表时 然后我得到了一个例外: