小编Nom*_*man的帖子

如何映射"根"Servlet以便其他脚本仍可运行?

我正在尝试构建一个调用类似于以下内容的JSP页面的Servlet:

public void doGet(HttpServletRequest req, HttpServletResponse resp)
        throws IOException, ServletException {
    req.getRequestDispatcher("/WEB-INF/main.jsp").forward(req, resp);
}
Run Code Online (Sandbox Code Playgroud)

我需要这个Servlet来响应域的根(例如:http://example.com/)所以我在web.xml中使用以下映射:

<servlet-mapping>
    <servlet-name>MainServlet</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是它匹配一切,所以当调度程序转发到"/WEB-INF/main.jsp"时,这与url-pattern匹配,以便Servlet再次运行.这会产生一个循环,直到它以java.lang.StackOverflowError消失.

如何在不阻止其他脚本运行的情况下匹配根目录?

java google-app-engine web.xml servlets

53
推荐指数
4
解决办法
3万
查看次数

android google登录后如何初始化firebase?

我想尝试将我的原生android firebase开发保持在最低限度,以便当我准备移植到IOS/web时,我不会在那里做很多事情.

现在firebase的Javascript不允许从Android登录谷歌,这可以从插件中处理.但我坚持的是如何基于Java Android Google登录初始化firebase.

所以这就是我想要实现的目标:

Cordova将Java-Android-Native登录称为google --->基于此,我将如何初始化firebase?

这个插件可以让我本地登录google:https://www.npmjs.com/package/cordova-plugin-googleplus

但我想我需要身份验证令牌?令牌ID?

firebase.auth().signInWithCredential(credential).catch(function(error) {
  } else {
    console.error(error);
  }
 });
Run Code Online (Sandbox Code Playgroud)

这可以给我上面要求的东西吗?https://developers.google.com/identity/sign-in/android/sign-in

GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
Run Code Online (Sandbox Code Playgroud)

更新1:只想分享更多信息.当用户在Android上通过谷歌登录时,我有以下对象

GoogleSignInAccount
Run Code Online (Sandbox Code Playgroud)

https://developers.google.com/android/reference/com/google/android/gms/auth/api/signin/GoogleSignInAccount

它有public String getIdToken ()&public String getServerAuthCode ()为什么不能用这些来使用JS来验证firebase?

更新2:Faraz提供的答案似乎正在起作用.以下是功能https://firebase.google.com/docs/reference/js/firebase.auth.Auth#signInWithCredential的参考资料signInWithCredential

谢谢您的帮助.

java android cordova firebase firebase-authentication

15
推荐指数
1
解决办法
816
查看次数

Ionic 2 - firebase插件 - 无法获得电话令牌

我正在使用这个插件:https://github.com/arnesson/cordova-plugin-firebase我在home.html上有一个按钮,它在home.ts中调用test()函数

public test(): void {
    // wrap in the platform.ready && platform.is('cordova')
    this.fcm.getToken()
      .then((token: any) => {
        console.log("token: ", token);
      });
    this.fcm.onTokenRefresh()
      .subscribe((token: any) => {
        console.log("token onTokenRefresh: ", token);
      });
  }
Run Code Online (Sandbox Code Playgroud)

当我在主屏幕时,一切都应该初始化,我应该能够从getToken()函数获取令牌.但是我得到了令牌:在我的console.log中未定义.我没有收到任何错误,日志很干净,即没有关于这个特定插件的错误.


更新1:

import { Firebase } from '@ionic-native/firebase';
  constructor(public navCtrl: NavController
    , public fcm: Firebase) {
Run Code Online (Sandbox Code Playgroud)

更新2: 尝试这样:cordova插件添加https://github.com/arnesson/cordova-plugin-firebase -变量ANDROID_VERSION = 7.1.0 --save但它仍然为空.

private void getToken(final CallbackContext callbackContext) {
    cordova.getThreadPool().execute(new Runnable() {
        public void run() {
            try {
                String token = FirebaseInstanceId.getInstance().getToken();
                System.out.println("token: …
Run Code Online (Sandbox Code Playgroud)

firebase ionic2 angular

12
推荐指数
1
解决办法
493
查看次数

卷曲错误:找到无选项参数

我正试图将这个例子导入邮递员

curl -s --user 'api:YOUR_API_KEY' \
    https://api.mailgun.net/v3/YOUR_DOMAIN_NAME/messages \
    -F from='Excited User <mailgun@YOUR_DOMAIN_NAME>' \
    -F to=YOU@YOUR_DOMAIN_NAME \
    -F to=bar@example.com \
    -F subject='Hello' \
    -F text='Testing some Mailgun awesomness!'
Run Code Online (Sandbox Code Playgroud)

请帮我理解-s, - user,-F,那是什么?然后当我尝试导入时,我收到此错误:找到无选项参数.我怎样才能解决这个问题?

rest curl mailgun postman

9
推荐指数
1
解决办法
5055
查看次数

无法google登录:auth/redirect-by-user

我已按照此处列出的所有步骤操作:https: //firebase.google.com/docs/auth/web/cordova,验证了所有信息,但我仍然收到以下错误消息.

code: "auth/redirect-cancelled-by-user", message: "The redirect operation has been cancelled by the user before finalizing."
Run Code Online (Sandbox Code Playgroud)
  1. 我的应用程序中有正确的配置信息
  2. 我的firebase配置与我的firebase的控制台配置相匹配.
  3. 我有正确的动态链接.
  4. 我已经安装了所有必需的插件
  5. 添加SHA证书指纹.
  6. 项目已在Firebase控制台中的google登录设置下获得名称.

以下是我如何调用谷歌登录:

consturctor public afAuth: AngularFireAuth.夫妻相关进口产品是:

import * as firebase from 'firebase/app';
import { AngularFireAuth } from 'angularfire2/auth';

// signInWithGoogle.
  signInWithGoogle(): void {
    this.showLoading();
    if (this.platform.is('android')) {
      console.log("android");
      this.provider = new firebase.auth.GoogleAuthProvider();
      this.afAuth.auth.signInWithRedirect(this.provider)
        .then(function () {
          return firebase.auth().getRedirectResult();
        })
        .then((result: any) => {
          if (result) {
            this.handleUser(result);
          }
        })
        .catch((error: any) => {
          this.hideLoading();
          var …
Run Code Online (Sandbox Code Playgroud)

cordova firebase-authentication

5
推荐指数
1
解决办法
1070
查看次数