問題タブ [scriptengine]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
securitymanager - SpringSecurity を使用した Java SecurityManager
Java Security Manager に参加して、SpringSecurity (SS) のプロジェクトに参加してみます。私には目標があります。私のプロジェクトは SS で動作し、認証マネージャーとして dataSource (db2 データベース) を持っています。プロジェクトに ScriptManager(ScriptEngine) を追加しました。今、信頼できないコードを拒否するプロジェクトのセキュリティを設定しようとしています。NetBeans を使用し、Tomcat (6.0.20) のプロパティで「セキュリティ マネージャーを使用する」をセットアップします。次に、{catalina.base}/conf/catalina.police を編集しました。次の「助成金」を追加しました:
そして今問題。デバッガーでコードを実行すると、次のエラーが発生します。
そしてトムキャットアウト:
また、この許可を挿入すると:
大丈夫。
OS: openSUSE 11.1 OpenJDK 1.6.0.0-b11
セットアップには、このチュートリアルを使用します: http://www.mikeski.net/site/node/18
皆さんありがとう...
java - Jruby ScriptEngine 出力を StringWriter にリダイレクトする
最近、Ruby セッションの ScriptEngine 出力をリダイレクトしようとしたときに、奇妙な問題が発生しました。ScriptEngine に何を渡しても、常に stdout と stderr に出力されるようです。この投稿を見つけましたが、修正されたと書かれています。
https://scripting.dev.java.net/issues/show_bug.cgi?id=8
私は sbt を実行し、jruby-complete.jar の最新バージョンを使用していますが、それでも毎回 stdout に移動します。この問題は本当に解決されましたか?
eval(...)
StringWriter も渡そうとしましたが、後で文字列を取り出そうとすると配列例外が発生します。
java - JVMにRhinoがありません
ScriptEngine を使用して JavaScript を処理するプロジェクトがあり、自分のマシンでうまく機能しましたが、プロジェクトの jar をサーバーに送信すると、サーバーの JVM に Rhino が組み込まれていないことがわかりました。コードは
rhino のダウンロード ページにアクセスし、最新バージョンを入手して、そこから js.jar を抽出し、プロジェクトに jar を追加しましたが、それでも同じ問題が発生します。
c# - C#でJSを解析して実行します
ページをクロールして検索するシンプルなクローラーがあります。しかし今、私はそのページからjsリンクを実行して解析する方法に問題があります。誰かがjsページを解析して実行する方法を知っていますか?
例:
- some_urlはwebhtmltoolktitで簡単に解析できます
- JAVASCRIPT:runmeat(1,7,0,2,7,9)は、some_url2ページにリダイレクトするjsリンクであり、このページをクロールする必要があります。しかし、問題は、C#でこのJavaScriptを実行してsome_url2リンクを取得する方法です。
java - Java:アプリケーションへのスクリプトエンジンの埋め込み:JSR 223(ScriptEngine)はまだ良いソリューションですか?
Javaアプリケーションで1つまたは複数のスクリプト言語を使用したい。
JRubyのWebサイトから、次の3つの方法があることがわかりました。
- Java 6の使用(JSR 223の使用:スクリプティング)
- Bean Scripting Framework(BSF)への埋め込み
- $ YOUR_SCRIPTING_ENGINE$APIを直接呼び出す
複数のスクリプトエンジンをサポートする必要があるため、オプション3では十分ではないと思います。
解決策1を探すとき。JSR223:スクリプト、すべてのスクリプトエンジン統合を含むzipアーカイブを探し始めます。
しかし、このファイルはネット上にはありません(プロジェクトホームのダウンロードセクションは空です。必要に応じて、ソースをダウンロードして、必要なエンジン統合を構築できます。ソースコードは古く見えます(私が見たものでは2年以上)
JSR 223はまだ生きており、選択するのに適したソリューションですか?そうでない場合は、Beanスクリプティングフレームワークが良い代替手段ですか?この最後のドキュメントページは非常に貧弱で、サポートされているスクリプト言語はごくわずかです(ただし、必要な言語のほとんどをサポートしています)...
jruby - JRuby 1.6.1 - factory.getEngineByName("jruby") に依存する const_missing エラー
JRuby を 1.5.2 から 1.6.1 にアップグレードするときに興味深い問題に遭遇しました。一握りの行に煮詰めるまで、週末中ずっと忍び寄っていました。getEngineByName が何度も呼び出されると失敗するバグがどこかに導入されたようです。たとえば、次の非常に単純なコードは 1.5.2 では機能しますが、1.6.1 では約 10 ~ 20 回の反復後に失敗します。
#16 の後の 1.6.1 の結果:
この問題を回避するには、getEngineByName をループの外に移動するだけです。
残念ながら、アーキテクチャ上の理由から、これは私のアプリケーションにとってそれほど簡単ではありません。別の ScriptEngine インスタンスを ThreadLocal に配置する必要がある場合があります。なぜこれが失敗するのか理解できないのは心配です。
この「NameError: uninitialized constant」エラーが発生する理由についてのアイデアはありますか? いいえ、まだソースをチェックアウトしていません...
freemarker - ApacheSlingでのFreeMarkerの使用
その下にApacheSlingがあるコンテンツリポジトリ(Adobe CQ5)を使用しています。JSPの代わりにFreeMarkerを使用してWebページをレンダリングしたいのですが。
それを機能させるには、Slingソースコードのコントリビューション部分にあるOSGi Freemarker拡張機能をSlingにアップロードする必要がありますか、それとも代わりにOSGiバージョンのFreemarkerをアップロードする必要がありますか?どちらのjarファイルもインターフェースjavax.script.ScriptEngineFactoryを実装しているため、どちらを使用するか、両方をアップロードするかはわかりません。
groovy - groovy から Javascript コードを実行し、結果をマップとして取得する方法は?
実行されたJavaScriptコードの結果をgroovyから取得するにはどうすればよいですか? 次のことを試しましたが、常に「world」という文字列が返されます。オブジェクトまたはマップを期待していたでしょう。
java - Java ScriptEngineでQuercusを使用する場合、Quercusカスタム関数を登録するにはどうすればよいですか?
テストの簡単なスクリプト作成にApacheJMeterでQuercusを使用しています。log4jを使用してPHPからログに記録する必要がありますが、全体としてこれはうまく機能します。だから私はこのようなQuercusモジュールを書きました:
今、私は次のコードでこれをテストしています:
パブリッククラスQuercusTest{
}
このカスタム関数が登録されていないため、これは例外をスローします(私が予想するように)。
ただし、このQuercusモジュールをJavaスクリプトエンジンに登録する方法がわかりません。ドキュメントは少しまばらです...どんな助けもいただければ幸いです。
java - JSR 223 でスクリプトを保護する方法は?
Groovy を動的スクリプト エンジンとして使用して、Web アプリケーションの管理者ユーザーがインターフェース ソリューションの一部として小さなスクリプトを作成できるようにします。単純な文字列操作、トークン化などを行います。
残念ながら、デフォルトではスクリプト エンジンは何でも実行するため、これは非常に大きな抜け穴を開きます。
ここでデモ アプリについて説明しました: http://javadude.wordpress.com/2011/06/29/creating-a-zk-groovy-console/
System.exit(0)
AS をシャットダウンするコマンドを実行したり"ls -l".execute().text
、システム設定をスヌープしたりといったシェル コマンドを実行することもできます。println InetAddress.localHost.hostAddress
実行前に文字列チェックを行うことができますSystem.xyz
。execute.xyz
経験やレシピは?
ありがとう
スヴェン