# パッケージ org.opengion.hayabusa.servlet

package org.opengion.hayabusa.servlet

     Servlet関連のユーティリティクラス群です。

     FileUpdate時の処理など、Servlet機能を利用するクラス群を分けています。
     現時点では、純粋なサーブレットクラスは、使用していません。

- Related Packages
  パッケージ
  説明
  org.opengion.hayabusa
  このドキュメントは、Ｗｅｂアプリケーションフレームワーク『はやぶさ』の ＡＰＩ 仕様です。
  org.opengion.hayabusa.servlet.multipart
  Webエンジンでのサーブレットのファイルアップロード ＡＰＩ 仕様です。
- クラス
  クラス
  説明
  FileDownload
  ｻｰﾊﾞｰ管理ﾌｧｲﾙをﾀﾞｳﾝﾛｰﾄﾞする場合に使用する､ｻｰﾌﾞﾚｯﾄです｡ 引数(URL)に指定のﾌｧｲﾙをｻｰﾊﾞｰからｸﾗｲｱﾝﾄにﾀﾞｳﾝﾛｰﾄﾞさせます｡ file には､ｻｰﾊﾞｰﾌｧｲﾙの物理ｱﾄﾞﾚｽを指定します｡相対ﾊﾟｽを使用する場合は､ ｺﾝﾃｷｽﾄﾙｰﾄ(通常､Tomcatでは､G:\webapps\dbdef2\ など)からのﾊﾟｽと判断します｡ name には､ｸﾗｲｱﾝﾄに送信するﾌｧｲﾙ名を指定します｡ﾌｧｲﾙ名を指定しない場合は､ ｻｰﾊﾞｰの物理ﾌｧｲﾙのﾌｧｲﾙ名が代わりに使用されます｡ 日本語ﾌｧｲﾙ名は､すべて UTF-8化して処理します｡指定するﾌｧｲﾙに日本語が含まれる 場合は､URLｴﾝｺｰﾄﾞを行ってください｡変換前ｴﾝｺｰﾄﾞはﾘｸｴｽﾄ変数requestEncodingで指定可能で､標準はISO-8859-1です｡ 基本的にはContent-disposition属性として"attachment"が指定されます｡ 但し､引数に inline=true を指定することで､Content-disposition属性に"inline"が指定されます｡ また､ｼｽﾃﾑﾘｿｰｽのUSE_FILEDOWNLOAD_CHECKKEYをtrueに指定することで､簡易的なﾁｪｯｸを 行うことができます｡ 具体的には､これを有効にすると､file属性の値から計算されるﾊｯｼｭｺｰﾄﾞﾁｪｯｸｻﾑと､"key"という ﾊﾟﾗﾒｰﾀｰに指定された値が一致した場合のみﾀﾞｳﾝﾛｰﾄﾞが許可され､keyが指定されていない､ または値が異なる場合はﾀﾞｳﾝﾛｰﾄﾞｴﾗｰとなります｡ 一般的なｻｰﾌﾞﾚｯﾄと同様に､ﾃﾞﾌﾟﾛｲﾒﾝﾄ･ﾃﾞｨｽｸﾘﾌﾟﾀ WEB-INF/web.xml に､ servlet 要素と そのﾏｯﾋﾟﾝｸﾞ(servlet-mapping)を定義する必要があります｡ <servlet> <servlet-name>fileDownload</servlet-name> <servlet-class>org.opengion.hayabusa.servlet.FileDownload</servlet-class> </servlet> <servlet-mapping> <servlet-name>fileDownload</servlet-name> <url-pattern>/jsp/fileDownload</url-pattern> </servlet-mapping> 一般には､http://:ﾎﾟｰﾄ/ｼｽﾃﾑID/jsp/fileDownload?
  HybsAdmin
  ｻｰﾊﾞｰ管理情報を取得するAdminｻｰﾌﾞﾚｯﾄです。
  ImageSave
  クライアントからBase64でエンコードして送信された画像ファイルを、 ファイルに変換してセーブするサーブレットです。
  JSecurityCheckServlet
  FORM認証で、認証済みの場合、j_security_check に飛ばされてエラーになるので、強制的に sendRedirect する。
  MakeImage
  画像イメージに、文字列を動的に合成作成する、サーブレットです。
  MultipartRequest
  ﾌｧｲﾙをｻｰﾊﾞｰにｱｯﾌﾟﾛｰﾄﾞする場合に使用されるﾏﾙﾁﾊﾟｰﾄ処理ｻｰﾌﾞﾚｯﾄです｡ 通常のﾌｧｲﾙｱｯﾌﾟﾛｰﾄﾞ時の､form で使用する､enctype="multipart/form-data" を指定した場合の､他のﾘｸｴｽﾄ情報も､取り出すことが可能です｡ ﾌｧｲﾙをｱｯﾌﾟﾛｰﾄﾞ後に､指定のﾌｧｲﾙ名に変更する機能があります｡ file 登録ﾀﾞｲｱﾛｸﾞで指定した name に､"_NEW" という名称を付けたﾘｸｴｽﾄ値を ﾌｧｲﾙのｱｯﾌﾟﾛｰﾄﾞと同時に送信することで､この名前にﾌｧｲﾙを付け替えます｡ また､ｱｯﾌﾟﾛｰﾄﾞ後のﾌｧｲﾙ名は､name 指定の名称で､取り出せます｡ ｸﾗｲｱﾝﾄから登録したｵﾘｼﾞﾅﾙのﾌｧｲﾙ名は､name に､"_ORG" という名称 で取り出すことが可能です｡ maxPostSize : 最大転送ｻｲｽﾞ(Byte)を指定します｡ 0,またはﾏｲﾅｽで無制限です｡ useBackup : ﾌｧｲﾙｱｯﾌﾟﾛｰﾄﾞ時に､すでに同名のﾌｧｲﾙが存在した場合に､ ﾊﾞｯｸｱｯﾌﾟ処理(renameTo)するかどうか[true/false]を指定します(初期値:false) ﾌｧｲﾙｱｯﾌﾟﾛｰﾄﾞ時に､ｱｯﾌﾟﾛｰﾄﾞ先に､同名のﾌｧｲﾙが存在した場合は､既存機能は､そのまま 置き換えていましたが､簡易ﾊﾞｰｼﾞｮﾝｱｯﾌﾟ機能として､useBackup="true" を指定すると､既存のﾌｧｲﾙを ﾘﾈｰﾑして､ﾊﾞｯｸｱｯﾌﾟﾌｧｲﾙを作成します｡ ﾊﾞｯｸｱｯﾌﾟﾌｧｲﾙは､ｱｯﾌﾟﾛｰﾄﾞﾌｫﾙﾀﾞを基準として､_backup/ﾌｧｲﾙ名.拡張子_処理時刻のlong値.拡張子 になります｡ ｵﾘｼﾞﾅﾙのﾌｧｲﾙ名（拡張子付）を残したまま､"_処理時刻のlong値" を追加し､さらに､ｵﾘｼﾞﾅﾙの拡張子を追加します｡ ﾊﾞｯｸｱｯﾌﾟﾌｧｲﾙの形式は指定できません｡ 5.7.1.2 (2013/12/20) zip 対応 filename 属性に､".zip" の拡張子のﾌｧｲﾙ名を指定した場合は､ｱｯﾌﾟﾛｰﾄﾞされた一連のﾌｧｲﾙを ZIP圧縮します｡これは､ｱｯﾌﾟﾛｰﾄﾞ後の処理になります｡ ZIP圧縮のｵﾘｼﾞﾅﾙﾌｧｲﾙは､そのまま残ります｡ なお､ZIPﾌｧｲﾙは､useBackup属性を true に設定しても､無関係に､上書きされます｡ 8.0.1.0 (2021/10/29) storageType → storage ､bucketName → bucket に変更 × storage (初期値：ｼｽﾃﾑﾘｿｰｽのCLOUD_TARGET) → 廃止 × bucket (初期値：ｼｽﾃﾑﾘｿｰｽのCLOUD_BUCKET) → 廃止 useLocal (初期値：false)
  RemoteControlServlet
  外部からキーと値を投げて処理をさせるサーブレットです。
  UploadedFile
  ﾌｧｲﾙをｻｰﾊﾞｰにｱｯﾌﾟﾛｰﾄﾞする場合に使用されるﾌｧｲﾙ管理ｸﾗｽです｡ HTML5 ﾌｧｲﾙｱｯﾌﾟﾛｰﾄﾞの複数選択（multiple）対応 に伴い､一つのｸﾗｽとして public化します｡
  WebSocketClient
  Websocket Endpoint implementation class WebSocketClient Client を実行するには、%CATALINA_HOME%/lib/websocket-api.jar ではだめです。
  WebSocketDemo
  http://enterprisegeeks.hatenablog.com/entry/2015/12/17/104815 WebSocketBasicEndpoint.java のソースを参照しています。