問題タブ [embedded-tomcat-8]
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.
java - サーブレットがセッション属性をjspに転送しない
組み込みの tomcat を使用すると、このコードは機能します。
サーブレット:
JSP :
属性test
を設定し、それをサーブレット/example
の jsp ページに出力しますexample.jsp
。
ただし、セッション内で属性を設定しようとすると、同じ結果が得られず、代わりにnull
これを使用すると次のようになります。
サーブレット:
JSP :
port - 非特権ポートで実行するように Spring Boot + tomcat 8 を構成する
私は、ポート 8080 (http) および 8888 (https) にバインドする動作中のスプリング ブート + tomcat8 組み込みアプリケーションを持っています。今、アプリケーションを実行するように構成する方法を探しています
a) 特権ポート、つまり 1024 より低いポート、つまりポート 80 と 443
b) アプリケーションは root 以外のユーザー アカウントで実行する必要があります。
c) OS 環境は、debian/ubuntu または OpenBSD ディストリビューションなどの任意の Linux ディストリビューションにすることができます。
d) ソリューションは、後で Web インターフェイス (スクリプトなど) を介して構成できることが望ましいです。
これまでインターネットで見つけたのは、「authbind」とともに非組み込みの tomcat インスタンスを構成するためのマニュアルだけでした。ただし、Tomcat が組み込まれています。「authbind」のマニュアルページには次のように書かれています:
authbind を使用してプログラムを呼び出す必要があります。authbind は、LD_PRELOAD を含むいくつかの環境変数を設定します。これにより、システムがこれを許可するように構成されている場合、プログラム (実行されるサブプロセスを含む) が番号の小さい (<512) ポートにバインドできるようになります。「</p>
「ps – aux」を発行し、アプリケーションが実行されているユーザー名を取得しました。ポート 80 および 443 で実行するように組み込みの tomcat を構成しました。つまり、ポート cli でコマンドを発行しました。
「authbind」の下に埋め込まれたTomcatを呼び出すにはどうすればよいですか。「authbind」がこの問題の適切な解決策ではない場合、Spring Boot でこの問題を解決する方法。
私が得ているエラーメッセージは次のとおりです。
追加1コマンドラインからそれを行う方法を見つけました。つまり、春から、目標を「パッケージ」に設定してmavenビルドを行い、jar/warファイルがあるターゲットフォルダーに移動してから実行します
アプリケーションはポート 80 と 443 にバインドされていますが、どういうわけか私の mvc thymeleaf テンプレートが台無しになりました。このプロセスを自動化する必要があります。
servlets - @WebServlet アノテーションが Tomcat 8 で機能しない
@WebServlet
Tomcat 8 で実行される Java EE Web アプリケーションでアノテーションを使用したいと考えています。
でサーブレット バージョン 3.1 を宣言する必要があること、web.xml
およびサーブレットを拡張する必要があることを読みましたHttpServlet
。私はそれをすべてやりましたが、それでもうまくいき@WebServlet
ません。HTTP 404 を取得しています。
で構成も試しmetadata-complete="false"
ましたweb.xml
が、まだ成功していません。
これが私のweb.xmlとサーブレットです。
完全なサンプル コードはGitHub にあります。
web.xml
TestServlet.java
tomcat - ポート 80 と 8443 をリッスンするように組み込みの tomcat を構成するにはどうすればよいですか?
私はSpringで組み込みのTomcatを使用しており、httpsのポート8443をリッスンするようにプログラムで構成しましたが、動作します。以下は、私の Apllication.java ファイルからのコード スニペットです。http リクエストのポート 80 もリッスンするように設定するにはどうすればよいですか?
spring-mvc - Spring MVC (Boot) が特定のファイル (WOFF など) の MIME タイプを送信しない
私はスプリング ブート ベースのアプリケーションを作成していて、Chrome でいくつかの警告に気付きました。たとえば、Web フォント (拡張子 woff) が正しい MIME タイプではなく、プレーン/テキストとして送信されると不平を言っています。
特別な構成を行わずに、静的ファイルに通常のメカニズムを使用しています。私が見つけたソースコードは、「ストック」ResourceHandler に MIME タイプを追加することはできないようです。Resourcehandler は、MIME タイプ認識をサーブレット コンテナーにディスパッチします。これは、spring-boot 1.2 のデフォルトの tomcat です。
何か不足していますか?リソース マッピングを強化して、正しい MIME タイプでより多くのファイル タイプを提供する簡単な方法を知っている人はいますか?
現在、静的コンテンツに対してトリガーされ、欠落している MIME タイプを事後に修正するフィルターを作成することを考えています。springsource で機能リクエストを作成する必要があるかもしれません... ;-)
spring - Spring Boot は @WebServlet を尊重しません
私はサーブレット(HttpServletから拡張)を作成し、3.0仕様に従って注釈を付けました
Spring Boot の私@Configuration
のクラスは、このサーブレットのパッケージをスキャンします。ただし、Spring Boot アプリケーションの起動時に、このサーブレットが組み込みの Tomcat 8.0.15 コンテナーにデプロイされたことは記録されません。
@Component
そのため、サーブレットにも追加しました。ここで、Spring Boot はサーブレットを登録します (スキャン パッケージが正しくセットアップされたことを証明しました) が、キャメル ケースを使用したクラス名に基づく URL パターンで登録します。そのほうがよかったです。たとえば、サーブレットを登録しましたが、URL マッピングが間違っていました。
@WebServlet
Spring Boot にすべての注釈付きサーブレットを自動ロードさせ、それらの URL マッピングを尊重させるにはどうすればよいですか?