用java实现QQ登录授权时,跳转到http://zhiqc.com/?code=F5D13DD6815D33F7A9FCD38C4C57D46D后,进入方法
public String qqLogin(ModelMap modelMap,HttpServletRequest request, HttpServletResponse response) {
try {
System.out.println(request.getParameter("code"));
AccessToken accessTokenObj = new Oauth().getAccessTokenByRequest(request);
String accessToken = null,
openID = null;
long tokenExpireIn = 0l;
if (accessTokenObj.getAccessToken().equals("")) {
try {
throw new Exception("没有获取到Authorization Code");
} catch (Exception e) {
e.printStackTrace();
}
} else {
accessToken = accessTokenObj.getAccessToken();
tokenExpireIn = accessTokenObj.getExpireIn();
OpenID openIDObj = new OpenID(accessToken);
openID = openIDObj.getUserOpenID();
request.getSession().setAttribute("openID", openID);
UserInfo qzoneUserInfo = new UserInfo(accessToken, openID);
UserInfoBean userInfoBean = qzoneUserInfo.getUserInfo();
request.getSession().setAttribute("qqUserInfo", userInfoBean);
request.getSession().setAttribute("user", new Usr(userInfoBean.getLevel(), openID));
}
} catch (QQConnectException e) {
e.printStackTrace();
}
return "redirect:default.html";
}
2013-12-9 17:46:22 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for servlet mvc-dispatcher threw exception java.lang.NullPointerException at java.util.Properties$LineReader.readLine(Properties.java:418) at java.util.Properties.load0(Properties.java:337) at java.util.Properties.load(Properties.java:325) at com.qq.connect.utils.QQConnectConfig.<clinit>(QQConnectConfig.java:21) at com.qq.connect.utils.Version.<clinit>(Version.java:15) at com.qq.connect.utils.Configuration.init(Configuration.java:33) at com.qq.connect.utils.Configuration.<clinit>(Configuration.java:20) at com.qq.connect.utils.http.HttpClient.<clinit>(HttpClient.java:110) at com.qq.connect.QQConnect.<init>(QQConnect.java:15) at com.qq.connect.oauth.Oauth.<init>(Oauth.java:20) at com.zhiqingchun.web.login.QQLoginController.qqLogin(QQLoginController.java:27) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176) at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426) at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:723) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:662)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
不知道你解决这个问题没,你要把qqconnectconfig.properties文件放到WEB-INF文件夹下的classes文件中。才能识别。
话说,解决了这个空指针问题,我进入了“没有获取到AuthorizationCode”的if分支。。。
肿么办?有什么建议不?