facebook - Spring social ConnectController/connect/facebook 给出 404 错误

标签 facebook spring spring-mvc spring-social

我正在尝试让 facebook 登录与 spring social 一起使用。 我在 Facebook 上创建了一个应用。

调度程序 Servlet

   <servlet-mapping>
    <servlet-name>ABC</servlet-name>
    <url-pattern>*.cs</url-pattern>
    </servlet-mapping>

配置 xmls

<servlet-mapping>
<servlet-name>ABC</servlet-name>
<url-pattern>*.cs</url-pattern>
</servlet-mapping>

<!-- Configure a connection repository through which account-to-provider connections will be stored --> 
<beans:bean id="connectionRepository" class="org.springframework.social.connect.jdbc.JdbcConnectionRepository">
<beans:constructor-arg ref="dataSource" />
<beans:constructor-arg ref="textEncryptor" />
</beans:bean>



<!-- Configure a Facebook service provider -->
<beans:bean class="org.springframework.social.facebook.connect.FacebookServiceProvider">
<beans:constructor-arg index="0" value="564846465216" />
<beans:constructor-arg index="1" value="f4554iojfjh9iu7km54f54pok5ok4" />
<beans:constructor-arg index="2" ref="connectionRepository" />
</beans:bean>

<beans:bean id="textEncryptor" class="org.springframework.security.crypto.encrypt.Encryptors" factory-method="noOpText" />

<beans:bean class="org.springframework.social.web.connect.ConnectController">
<beans:constructor-arg index="0" value="http://localhost:8080/CitySpanks/" />
</beans:bean>

我指的是这个链接 http://static.springsource.org/spring-social/docs/1.0.0.M2/reference/html/connecting.html

在我的 jsp 中

<a href="<c:url value="connect/facebook" />">Connect to Facebook</a>

有什么我想念的吗???单击以上链接时,我一直收到 404 错误。

谢谢:)

最佳答案

我不确定您在项目中的位置,但我认为以下内容可能很容易被忽略...

如果您查看 spring-social-showcase 的示例项目你会注意到在

spring-social-showcase-sec/src/main/webapp/WEB-INF/views/connect

存在以下页面: status.jsp、facebookConnect.jsp、facebookConnected.jsp。

在示例项目中,当请求以下内容(左)时,它将解析下面的 .jsp(右):

"connect/facebook" => Connected => "connect/facebookConnected.jsp"
"connect/facebook" => Not Connected => "connect/facebookConnect.jsp"
"connect"          => "connect/status.jsp"

此处记录:4.3.1 Displaying a connection page

因此,要使该示例在您的代码中运行,您必须创建与上面的 .jsp 相同的目录结构“WEB-INF/views/connect/”。否则将找不到它们,因此会出现 404。我相信这是由 ConnectController 类在幕后解决的,如上面链接的文档中所述。


但是,您可能想开始使用他们在 spring-social-samples 中找到的 web.xml 配置,一旦掌握了它,就从那里开始。

<!-- Processes application requests -->
<servlet>
  <servlet-name>appServlet</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value></param-value>
  </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
  <servlet-name>appServlet</servlet-name>
  <url-pattern>/</url-pattern>
</servlet-mapping>

关于facebook - Spring social ConnectController/connect/facebook 给出 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13094047/

相关文章:

python - Facebook 抓取权限申请表?

spring - 在 Spring RestTemplate 中禁用 SSL 证书验证

java - 具有多个身份验证提供程序的 Spring 安全性 - UsernameNotFoundException

java - 在 XML 免费项目中使用 spring 在 404 上返回 JSON

android - 如何为用户登录禁用 facebook native 应用程序

android - Facebook 应用程序 android 贴在墙上

javascript - Facebook Messenger API 获取用户位置

java - 无法在 Spring Boot 中读取 JVM 参数

spring-boot 以 Apache 和 AJP 为前端

java - Spring MVC - 无法找到自定义标签的标签库