スプリングbootプロジェクトをwarパッケージにパッケージ化し、セッション共有を実現
パッケージ形式の変更
pom.xmlには
pom.xmlでspring-boot-starter-web依存ノードを見つけ、次のコードを追加します.
servlet-apiの依存性を追加するには、次の2つの方法があります.いずれかを選択します.第1種 第2種
起動クラスを変更し、初期化メソッドを書き換える
Webに似たものが必要ですxmlの構成はspringコンテキストを起動し、Applicationクラスの同級ディレクトリの下にSpringBootStartApplicationクラスを追加します.そのコードは以下の通りです.
Websocket機能付き
WebSocketConfigを注釈します.JAva(websocket構成クラス)のbean(@beanの行を注釈するだけでいいというものもありますが、テストされていません)
pom依存jarパッケージの追加
パッケージの導入
プロジェクトルートディレクトリ(pom.xmlを含むディレクトリ)では、コマンドラインに
最後にブラウザに入力
http://localhost:[ポート番号]/[パッケージ名]/
注意:プロジェクトプロファイルポートとtomcatポートは一致する必要はありません.複数回の試験でwarパッケージにすると、プロファイル内のポートが失効し、tomcatで直接設定されたポートが使用されることが証明されたので、プロファイルのポートはいくらでも影響しません.
リリース成功
注意:マルチtomcat session共有メソッドの設定導入依存 application.ymlにはセッション格納方式 が設定.次にメインクラス(起動クラス) を追加する.
pom.xmlには
war
が設定されていますpom.xmlでspring-boot-starter-web依存ノードを見つけ、次のコードを追加します.
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-webartifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-tomcatartifactId>
exclusion>
exclusions>
dependency>
servlet-apiの依存性を追加するには、次の2つの方法があります.いずれかを選択します.
<dependency>
<groupId>javax.servletgroupId>
<artifactId>javax.servlet-apiartifactId>
<version>3.1.0version>
<scope>providedscope>
dependency>
<dependency>
<groupId>org.apache.tomcatgroupId>
<artifactId>tomcat-servlet-apiartifactId>
<version>8.0.36version>
<scope>providedscope>
dependency>
起動クラスを変更し、初期化メソッドを書き換える
Webに似たものが必要ですxmlの構成はspringコンテキストを起動し、Applicationクラスの同級ディレクトリの下にSpringBootStartApplicationクラスを追加します.そのコードは以下の通りです.
/**
* , SpringBootServletInitializer configure
*/
public class SpringBootStartApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// main Application
return builder.sources(Application.class);
}
}
Websocket機能付き
WebSocketConfigを注釈します.JAva(websocket構成クラス)のbean(@beanの行を注釈するだけでいいというものもありますが、テストされていません)
/*@Bean
public ServerEndpointExporter serverEndpointExporter() {
return new ServerEndpointExporter();
}*/
pom依存jarパッケージの追加
<dependency>
<groupId>javaxgroupId>
<artifactId>javaee-apiartifactId>
<version>7.0version>
<scope>providedscope>
dependency>
パッケージの導入
プロジェクトルートディレクトリ(pom.xmlを含むディレクトリ)では、コマンドラインに
mvn clean package -Dmaven.test.skip=true
と入力し、パッケージの完了を待つと、[INFO]BUILD SUCCESSがパッケージに成功します.次にtargetディレクトリのwarパッケージをtomcatのwebappsディレクトリの下に置いてtomcatを起動すると、自動的に配置を解凍できます.最後にブラウザに入力
http://localhost:[ポート番号]/[パッケージ名]/
注意:プロジェクトプロファイルポートとtomcatポートは一致する必要はありません.複数回の試験でwarパッケージにすると、プロファイル内のポートが失効し、tomcatで直接設定されたポートが使用されることが証明されたので、プロファイルのポートはいくらでも影響しません.
リリース成功
注意:マルチtomcat session共有メソッドの設定
<dependency>
<groupId>org.springframework.sessiongroupId>
<artifactId>spring-session-data-redisartifactId>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-data-redisartifactId>
dependency>
spring.session.store-type=redis
@EnableRedisHttpSession
注記