Java Day Tokyo 2017 ダウンロード資料
|
|
|
- さみら やたけ
- 6 years ago
- Views:
Transcription
1 Servlet 4.0 で始める HTTP/2 日本オラクル株式会社クラウド テクノロジー事業統括 Fusion Middleware 事業本部セールスコンサルタント柳原伸弥 Java Day Tokyo 年 5 月 17 日
2 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle s products remains at the sole discretion of Oracle. 2
3 アジェンダ Servlet 振り返り Servlet 4.0 概要 Servlet 4.0 Server Push API Server Push 利用時のネットワーク状況 Server Push ユースケース 3
4 アジェンダ Servlet 振り返り Servlet 4.0 概要 Servlet 4.0 Server Push API Server Push 利用時のネットワーク状況 Server Push ユースケース 4
5 Servlet Servletの基本 サーバサイドで動作するJava Webコンテナにより呼び出されるクラス javax.servlet.http.httpservlet HTTPリクエストにより処理を実施 (GET/POST/ ) Controller としての役割 計算処理やデータベースアクセス等 画面描画用のデータを生成 HTTPリクエスト GET/POST/ HTTPレスポンス HTML/XML/ サーバサイド Java Servlet 5
6 Servlet History Servlet の機能拡張の変遷 バージョンリリースプラットフォーム内容 /8 J2EE 1.3 Filter 機能 /11 J2EE 1.4 web.xml への XML Schema 利用 /9 JavaEE 5 Annotation サポート ( リソース注入 ) /12 JavaEE 6 非同期 Servlet, Annotation 利用によるEoD, プラガビリティ /5 JavaEE 7 ノンブロッキング I/O API, プロトコルアップグレード (WebSocket) /7 予定 * JavaEE 8 HTTP/2 対応 * Servlet 4.0 現状 2017/4/20 5/20 : パブリックレビュー 2017/5/23 6/5 : パブリックレビュー投票 [JSR Java Servlet 4.0 Specification] 6
7 HTTP/2 概要通信効率を向上するHTTPの新規格 リリースバージョン内容 1991 年 HTTP/0.9 GET のみ ヘッダ / レスポンスコードの規定もなし 1996 年 HTTP/1.0 RFC1945: POST 等のメソッド追加 レスポンスヘッダの追加 1999 年 HTTP/1.1 RFC2068: Keep-Alive やパイプライン化をサポート 2015 年 HTTP/2.0 RFC7540: HTTP/1.1 との互換性保持 通信効率向上の機能サポート HTTP/1.1 TCP コネクション HTTP/2 TCP コネクション リクエスト レスポンス ストリーム 7
8 HTTP/1.1の欠点とHTTP/2の特長 Web 高速化のための機能 HTTP/1.1 の欠点 原則として 1 つのリクエストの完了を待ってから 次のリクエストを送信 HTTP パイプラインを使用する場合の Head-of-Line Blocking の発生 HTTP/1.1 の Web 高速化の取り組み CSS スプライト インライン イメージ ドメイン シャーディング Blocking HTTP/2 の特長 ストリーム ( リクエスト / レスポンス ) の多重化 ストリーム優先度 Server Push ヘッダー圧縮 バイナリー フレーム 1 TCP 接続 push 8
9 Servlet 4.0 HTTP/2 対応 Server Push クライアント リクエストを待たないサーバ レスポンス プロトコルネゴシエーション ALPN (Application-Layer Protocol Negotiation) JDK 8 による ALPN サポート HTTPリクエスト GET/POST/ Push Push Push HTTPレスポンス HTML/XML/ Servlet 4.0 9
10 アジェンダ Servlet 振り返り Servlet 4.0 概要 Servlet 4.0 Server Push API Server Push 利用時のネットワーク状況 Server Push ユースケース 10
11 Server Push 処理 API PushBuilder インターフェース <interface> HttpServletRequest + newpushbuilder(): PushBuilder : PushBuilder pushbuilder = request.newpushbuilder(); <interface> PushBuilder + method(string method): PushBuilder + querystring(string querystring): PushBuilder + sessionid(string sessionid): PushBuilder + setheader(string name, String value): PushBuilder + addheader(string name, String value): PushBuilder + removeheader(string name): PushBuilder + path(string path): PushBuilder + push(): void + getmethod(): String + getquerystring(): String + getsessionid(): String + getheadernames(): Set + getheader(string name): String + getpath(): String 11
12 Server Push 基本シーケンス一般的な処理フロー 1. ServletPath へリクエスト 2. HTTP リクエストから PushBuilder を取得 3. index.html が参照するリソースを PushBuilderに設定 4. pushを起動 と4. を必要に応じて繰り返す Client 1 GET /index bootstrap.css Servlet :PushBuilder 2 request.newpushbuilder() 3 path( bootstrap.css ) push() 4 path( bootstrap.js ) 5 push() 6. HTTP レスポンスを返す bootstrap.js Index.html 6 12
13 Servlet 4.0 Server Push コードサンプル (1/3) 基本的な Server Push = "ServerPush", urlpatterns = {"/index"}) public class ServerPush extends HttpServlet protected void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { PushBuilder pushbuilder = request.newpushbuilder(); Server Push の宛先対象となるリクエストから PushBuilder オブジェクトを取得 13
14 Servlet 4.0 Server Push コードサンプル (2/3) 基本的な Server Push 実装例 if (pushbuilder!= null) { } pushbuilder Server Push 対象のリソースを示す URI を指定.path("bootstrap/css/bootstrap.min.css").push(); Server Push を invoke pushbuilder : PushBuilder オブジェクトは.push(); 再利用可能 14
15 Servlet 4.0 Server Push コードサンプル (3/3) 基本的な Server Push 実装例 response.setcontenttype("text/html;charset=utf-8"); RequestDispatcher disp = request.getrequestdispatcher("index.html"); disp.forward(request, response); } Server Push とは非同期に index.html へフォワード 15
16 アジェンダ Servlet 振り返り Servlet 4.0 概要 Servlet 4.0 Server Push API Server Push 利用時のネットワーク状況 Server Push ユースケース 16
17 Servlet 4.0 Server Push API 説明 PushBuilder PushBuilder 説明事前リクエストに関連するレスポンスを先行送信する予約リクエストを作成する PUSH_PROMISE: Pushするための予約リクエストヘッダと レスポンスのためのストリームを予約予約リクエストは キャッシュ可能 かつ 安全 なメソッドとして定義 RFC 7540: Hypertext Transfer Protocol Version 2 (HTTP/2) 8.2. Server Push 初期化時は以下の状態となり キャッシュ可能 かつ 安全 な状態メソッド : GET リクエストヘッダから以下を除去 Conditional headers : [If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since], Range headers, Expect headers, Authorization headers, Referrer headers 17
18 Servlet 4.0 Server Push API 説明 HttpServletRequest.newPushBuilder newpushbuilder default PushBuilder newpushbuilder() 説明 HTTPリクエストからPushBuilder インスタンスを生成次のServer Push を利用できない場合に null を返す現在のコネクションがServer Push をサポートしていない場合クライアントがHTTP/2 SETTINGS フレームでSETTINGS_ENABLE_PUSH の値を0で設定している場合リターン PushBuilder オブジェクト又は null 18
19 Servlet 4.0 Server Push API 説明 PushBuilder.path path PushBuilder path(string path) 説明 Pushする対象のURIを設定するパラメータ path: push 対象のリソースを示すURI / から始めた場合は 絶対パスとして処理 / から始めない場合は 事前リクエストのコンテキストパスに対する相対パスとして処理リターンこの PushBuilder オブジェクト 19
20 Servlet 4.0 Server Push API 説明 PushBuilder.addHeader addheader PushBuilder addheader(string name, String value) 説明 Pushする対象のリクエストヘッダを追加するパラメータ name: ヘッダ名 value: ヘッダ値リターンこの PushBuilder オブジェクト 20
21 Servlet 4.0 Server Push API 説明 PushBuilder.push push void push() 説明設定されたリソースをPushする クライアントがHTTP/2 によるPush 配信を拒否できるため リソースが実際にPushされるかは保証しない push メソッド実行後 設定したリソースのURIと Conditional Header はクリアされる それ以外の設定は維持されるため 別のPush 実行に再利用できる path() によるURI 設定は push メソッド実行前に必須である 設定のない場合 IllegalStateException が発生する 21
22 Servlet 4.0 Server Push API 説明 PushBuilder.method method PushBuilder method(string method) 説明 Pushする際のHTTP メソッドを設定するパラメータ method: HTTP メソッド PushBuilder 生成時にGETが設定されているため 特に設定する必要はないまた キャッシュ不可かつ非安全なメソッド [POST, PUT, DELETE, CONNECT, OPTION, TRACE] を設定したり 空設定の場合は IllegalArgumentException が発生するリターンこの PushBuilder オブジェクト 22
23 Servlet 4.0 Server Push API 説明 PushBuilder.queryString querystring PushBuilder querystring(string querystring) 説明 path(string) で設定したURIに対してクエリ文字列を追加する path(string) でクエリ文字列を追加したURIを設定している場合は実施しなくてもよい Push 対象のリソースがCache Busting 対応されているような場合などに利用パラメータ querystring: push 対象のリソースURIに対して追加するクエリ文字列リターンこの PushBuilder オブジェクト 23
24 アジェンダ Servlet 振り返り Servlet 4.0 概要 Servlet 4.0 Server Push API Server Push 利用時のネットワーク状況 Server Push ユースケース 24
25 HTTP/1.1 及び HTTP/2 のネットワーク状況確認一般的なコンテンツアクセス時のネットワーク クライアント サーバ リクエスト レスポンス HTML CSS JS 25
26 ネットワーク状況確認 (HTTP/1.1) 従来 (HTTP/1.1) の一般的なページ表示 オレンジ色の箇所は TCP 接続の確立 複数個所で TCP 接続フェーズが発生 26
27 ネットワーク状況確認 (HTTP/2) Server Push なしの HTTP/2 アクセス オレンジ色の箇所は TCP 接続の確立紫色の箇所は SSL の確立 同時にリソース要求が発生 27
28 ネットワーク状況確認 (HTTP/2) Server Push を実施した HTTP/2 アクセス 非同期に指定リソースが Server Push される 28
29 HTTP/1.1 及び HTTP/2 のネットワーク状況確認一般的なコンテンツアクセス時のネットワーク クライアントフロントサーババックエンドサーバ リクエスト リクエスト レスポンス レスポンス HTML CSS バックエンド処理 JS 29
30 ネットワーク状況確認 (HTTP/1.1) サーバ内処理時間 : 1000ms バックエンド処理終了後に受信したレスポンスからリソース取得要求 バックエンド処理実施中が終了した後に リソース要求が発生 ページのレンダリングに遅延が発生する 30
31 ネットワーク状況確認 (HTTP/2) サーバ内処理時間 : 1000ms DOM ツリー組み立て前にリソース取得済み バックエンド処理実施中に指定したリソースが Server Push されている ページのレンダリングを行う際にはリソース取得済みの状態 31
32 アジェンダ Servlet 振り返り Servlet 4.0 概要 Servlet 4.0 Server Push API Server Push 利用時のネットワーク状況 Server Push ユースケース 32
33 スタイルシート /JavaScript CSS や JavaScript の連結ファイル準備の軽減 HTTP/1.1 CSS/JavaScript ファイル数削減による HTTP リクエスト数の削減 複数のスタイルシートを単一ファイル化 複数の JavaScript を単一ファイル化 課題 単一ファイル化に要する作業 モノリシック化による再利用性の低下 HTTP/2 複数の CSS / JavaScript をプッシュ PUSH PUSH CSS CSSCSS CSS CSS CSS CSS JS JS JS JS 連結ファイルの準備が必要 HTTP/2 JS JSJS Web ページ要求時にプッシュ 33
34 画像ファイル CSS スプライトからの代用 HTTP/1.1 画像ファイル数削減による HTTP リクエスト数の削減 複数の画像ファイルを連結 CSS を利用した座標指定による表示 課題 画像ファイルの連結に要する作業 CSS による Position 指定の複雑さ 画像ファイルの更新 HTTP/2 個別の画像ファイルをプッシュ CSS.item a { display: block; width: 240px; height: 40px; background-image: url('sprite.png');}.item01 a {background-position: 0px 0px;}.item01 a:hover {background-position: 0px -40px;}.item01 a:active {background-position: 0px -80px;}.item01.current a {background-position: 0px -120px;} : HTTP/2 PUSH PUSH 連結した画像ファイル CSS スプライトの工夫が必要 個別ファイルをプッシュ 34
35 画像ファイルインラインイメージからの代用 HTTP/1.1 画像ファイルインライン可による HTTP リクエスト数の削減 data URI scheme (data:) による画像指定 Base64 エンコードによる画像の文字列化 課題 data URI scheme の画像はキャッシュ不可 Base64 エンコードによるサイズ増加 画像ファイルの変更時のデータ差し替え HTTP/2 Server Push した画像はキャッシュ可 HTML <img src= "data:image/png;base64,ivborw0kggoaaaa NSUhEUgAAAeAAAAHgCAIAAADytinCAAAAYX puwhrsyxcgchjvzmlszsb0exbliglwdgmaahj apyq7eyawdmv6t8ei+cjpzjhcaogo2p8ifeinctl 53dO2j57Wk8bgKCx " /> HTML 内に Base64 エンコードした画像を埋め込み HTTP/2 PUSH Server Push により画像ファイルのキャッシュ利用可 35
36 JSP サーバ内処理時間中の Server Push サーバ内処理時間 DBアクセスなどのバックエンド処理 プリコンパイルを行わない場合のサーブレット変換及び初期化処理 待機時間を利用したServer Push サーバ内処理中に表示対象の JSPが利用するリソースをプッシュ リクエスト PUSH PUSH PUSH レスポンス サーバ内処理時間 Servlet RequestDispatcher.forward() JSP バックエンド処理 Servlet 変換初期化 jspinit() 36
37 JSP Include JSP でインクルードする部品の Server Push JSP Include JSP は Include 機能を利用した部品の再利用が可能 インクルード対象の Server Push 親 JSP が Include する対象の JSP や HTML が参照するリソースを事前にプッシュ PUSH PUSH Servlet CSS JSP インクルードしている部品が参照するリソースを事前にプッシュ JS CSS JS JSP HTML <jsp:include page= parts.jsp" flush="true" /> <jsp:include page= parts.html" flush="true" /> 37
38 Servlet Filter 複数 Servlet に共通するリソースの Server Push Servlet Filter Servlet リクエスト時の事前処理として利用 複数の Servlet へのマッピング可能 複数 Servlet に共通のリソースを Server Push Servlet Filter を経由して呼び出される Servlet に共通するリソースをプッシュ Fliter で実装する事で Server Push 処理の共通化が可能 PUSH Servlet Filter Servlet Servlet = { DispatcherType.REQUEST }, urlpatterns = { "/*" }) public class ServerPushFilter extends Filter protected void dofilter(httpservletrequest request, HttpServletResponse response, FilterChain chain) throws ServletException, IOException { PushBuilder pushbuilder = request.newpushbuilder(); 38
39 JSF フレームワーク内部でのServer Push ExternalContextの拡張 ExternalContext.encodeResourceURL() によるマークアップ処理を拡張 <h:outputstylesheet> <h:outputscript> <h:outputlink> ExternalContextFactory 及び ExternalContextWrapperの拡張 faces-config.xmlへの設定追加 JSFタグによる外部リソース参照を Server Push リクエスト PUSH レスポンス JSF <h:outputstylesheet> <h:outputscript> encoderesourceurl() externalcontext.getrequest().newpushbuilder().push() CSS JS External Context <link href= /> <script src= /> 39
40 JSF 実装例 JSFを拡張したServer Push 実装イメージ Public class PushExternalContextFactory extends ExternalContextFactory { ExternalContextFactory 継承クラス private ExternalContextFactory public ExternalContext getexternalcontext(object context, Object request, Object response) throws FacesException { return PushExternalContext(externalContextFactory.getExternalContext(context, request, response));}} Public class PushExternalContext extends ExternalContextWrapper { ExternalContext 実装クラス private ExternalContext public String encoderesourceurl(string url) { ((HTTPServletRequest) externalcontext.getrequest()).newpushbuilder().path(url).push(); return super. encoderesourceurl(url);}} <factory> <external-context-factory> PushExternalContextFactory </external-context-factory> </factory> faces-config.xml 1. ExternalContext を生成するファクトリークラスを作成 : ExtenalConextFactory を継承実装 2. ExternalContext を実装 : 実装クラスである ExternalContextWrapper を継承実装 3. JSF 設定ファイル (faces-config.xml) に登録 40
41 フレームワークフレームワーク依存リソースのServer Push 各種フレームワーク内部での利用 自社開発フレームワークの内部で Servlet が利用されるもの多数存在 フレームワークで制御する画面は依存する外部リソースが明確 クリティカル レンダリングパスを最適化するフレームワーク 画面描画の高速化を意識した Server Push 利用をフレームワーク化 フレームワーク内での Server Push リクエスト PUSH レスポンス Servlet フレームワーク CSS クリティカル レンダリングパスの最適化 リクエストページ GET html PUSH ビルド DOM PUSH リソース 実行 JS ビルド CSS OM レスポンス JS レンダリングツリー レイアウト / ペイント 41
42 Servlet 4.0 で始める HTTP/2 Wrap up 42
43 HTTP/2 時代の Web ページ高速化 Server Push の活用のメリットと考慮点 適用効果 標準化された実装により Web ページ高速化の取り組みの容易化 先行してロードさせるリソースの Programmatic な制御が可能 考慮点 Web ページの構成に応じた適切なプッシュ対象の選別が必要 ブラウザ毎の挙動の差異 活用に向けて Web サイト高速化に関する技術の理解 Servlet 4.0 Server Push 利用のベスト プラクティスの検討 43
44 参考 : 動作検証環境 JDK Java HotSpot(TM) 64-Bit Server VM (build b11, mixed mode) GlassFish glassfish-5.0-b06-05_03_2017.zip Servlet javax.servlet-api: b05 Browser Google Chrome:
45 45
46
47
Oracle パブリック・クラウド・サービス無料トライアル 申込手順書
Oracle パブリック クラウド サービス 無料トライアル申込手順書 日本オラクル Oracle Digital Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may
メディプロ1 Javaサーブレット補足資料.ppt
メディアプロジェクト演習 1 Java サーブレット補足資料 CGI の基本 CGI と Java サーブレットの違い Java サーブレットの基本 インタラクティブな Web サイトとは Interactive q 対話 または 双方向 q クライアントとシステムが画面を通して対話を行う形式で操作を行っていく仕組み 利用用途 Web サイト, シミュレーションシステム, ゲームなど WWW = インタラクティブなメディア
¥Í¥Ã¥È¥ï¡¼¥¯¥×¥í¥°¥é¥ß¥ó¥°ÆÃÏÀ
2 : TCP/IP : HTTP HTTP/2 1 / 22 httpget.txt: http.rb: ruby http get Java http ( ) HttpURLConnection 2 / 22 wireshark httpget.txt httpget cookie.txt ( ) telnet telnet localhost 80 GET /index.html HTTP/1.1
Microsoft PowerPoint - Lecture_3
プログラミング III 第 3 回 : サーブレットリクエスト & サーブレットレスポンス処理入門 Ivan Tanev 講義の構造 1. サーブレットの構造 2. サーブレットリクエスト サーブレットレスポンスとは 3. 演習 2 Lecture2_Form.htm 第 2 回のまとめ Web サーバ Web 1 フォーム static 2 Internet サーブレ4 HTML 5 ットテキスト
[HO-2] NetBeansとGlassFishではじめるJava EE7ハンズオン
Java EE 7 ハンズオン概要 日本オラクル株式会社 Oracle University 野邊 哲男 Java Day Tokyo 2016 2016 年 5 月 24 日 Copyright 2016, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement The following is intended
II 1 p.1 1 Servlet 1.1 Web Web WWW HTML CGI Common Gateway Interface Web HTML Web Web CGI CGI CGI Perl, PHP C JavaScript Web CGI HTML 1.2 Servlet Java
II 1 p.1 1 Servlet 1.1 Web Web WWW HTML CGI Common Gateway Interface Web HTML Web Web CGI CGI CGI Perl, PHP C JavaScript Web CGI HTML 1.2 Servlet Java Servlet Servlet CGI Web CGI Java Java JVM Java CGI
WTM2019SingleSignOn
[Java 開発者向け ] シングルサインオンへの対応 - Java カスタマイズコードの書き方 1/45 OUTLINE Spring Security Spring Security を使った認証の仕組み Spring Security を使ったシングル サインオン 2/45 Spring Security 3/45 Spring Security とは アプリケーションのセキュリティを高めるためのフレームワーク
HTTP2 HTTP2 http2fuzz ATS Firefox NodeJS
HTTP/2 Stuart Larsen John Villamil Yahoo! HTTP2 HTTP2 http2fuzz ATS Firefox NodeJS Stuart Larsen https://c0nrad.io John Villamil @day6reak HTTP/1.1 1999 HTML Java Script Web ISP Web SSL HTTP/2 HTTP/2 よこんにちは
Microsoft PowerPoint - Lecture_2
プログラミング Java III 第 2 回 :WebForm および サーブレット入門 Ivan Tanev 講義の構造 1. ダイナミックWebコンテンツとサーブレット 2.Webフォーム 3. 演習 2 1. ダイナミック Web コンテンツとサーブレット 3 1. ダイナミック Web コンテンツとサーブレット Internet Response: HTML テキスト ユーザー 4 1. ダイナミック
Cisco CSS HTTP キープアライブと ColdFusion サーバの連携
Cisco CSS 11000 HTTP キープアライブと ColdFusion サーバの連携 目次 概要 HTTP ヘッダーについて HTTP HEAD メソッドと HTTP GET メソッドの違いについて ColdFusion サーバの HTTP キープアライブへの応答方法 CSS 11000 で認識される HTTP キープアライブ応答もう 1 つのキープアライブ URI と ColdFusion
Web 1 p.2 1 Servlet Servlet Web Web Web Apache Web Servlet JSP Web Apache Tomcat Jetty Apache Tomcat, Jetty Java JDK, Eclipse
Web 1 p.1 1 Servlet 1.1 Web Web WWW HTML CGI Common Gateway Interface Web HTML Web Web CGI CGI CGI Perl, PHP C Java Applet JavaScript Web CGI HTML 1.2 Servlet Java Servlet Servlet CGI Web CGI 1 Java Java
How to Use the PowerPoint Template
Nashorn in the Future Oracle Corporation Japan Fusion Middleware Business Unit NISHIKAWA, Akihiro 2015 年 4 月 8 日 Safe Harbor Statement The following is intended to outline our general product direction.
FW ファイルアップロード ダウンロード機能利用ガイド Version 年 9 月 21 日富士通株式会社 i All Right Reserved, Copyright FUJITSU LIMITED
FW ファイルアップロード ダウンロード機能利用ガイド Version 1.1 2016 年 9 月 21 日富士通株式会社 i 改訂履歴改訂 No. 日付 Version 章 No. 項 No. 改訂内容 1 2015/12/02 1.0 - - 新規作成 2 2016/09/21 1.1 4 4.1.3 text/plan を text/plain に修正 章立てを修正 ii 目次 第 1 章
HTTP 404 への対処
Sitecore CMS 6 HTTP 404 への対処 Rev: 2010-12-10 Sitecore CMS 6 HTTP 404 への対処 Sitecore を使用して HTTP 404 Page Not Found 状態に対処するための開発者向けガイド 目次 Chapter 1 イントロダクション... 3 Chapter 2 HTTP 404 Page Not Found 状態... 4
HTML Java Tips dp8t-asm/java/tips/ Apache Tomcat Java if else f
1 Servlet 1.1 Web Web WWW HTML CGI Common Gateway InterfaceWeb HTML Web Web CGI CGI CGI Perl C Java Applet JavaScript Web CGI HTML 1.2 Servlet Java Servlet Servlet CGI Web CGI 1 Java / Java Java CGI Servlet
II 2 p.2 2 GET POST form action URL Aisatsu 2.1 Servlet GET GET : Query String QueryStringTest.java 1 import java.io.ioexception; 2 import java.io.pri
II 2 p.1 2 GET POST Servlet Servlet Servlet CGI/Servlet GET POST 2 GET URL? FORM GET : http://maps.google.co.jp/maps?hl=ja&ll=34.292821,134.063587&z=15 POST HTML HTML : Aisatsu.html HTML 1
SpringSecurity
Spring Security 1/40 OUTLINE Spring Security Spring Securityを使った認証の仕組み Spring Securityを使った独自認証 認証エラーメッセージの変更 2/40 Spring Security 3/40 Spring Security とは アプリケーションのセキュリティを高めるためのフレームワーク 認証 認可機能 その他 多数のセキュリティ関連の機能を持つ
WEBシステムのセキュリティ技術
EJB (Enterprise Java Beans) 棚橋沙弥香 テーマ選定の背景 現在携わっている Java 開発案件で EJB が使われておりますが 私自身が EJB を扱うのが初めてで知らない技術でしたので 勉強してみたいと思い 今回はこのテーマを選定しました 目次 EJBとは 1 EJBの利点 2 EJBの歴史 3 EJBの開発環境の作成 4 5 Enterprise Bean 6 非同期処理の実装
HTML Java Tips dp8t-asm/java/tips/ Apache Tomcat Java if else f
1 Servlet 1.1 Web Web WWW HTML CGI Common Gateway InterfaceWeb HTML Web Web CGI CGI CGI Perl C Java Applet JavaScript Web CGI HTML 1.2 Servlet Java Servlet Servlet CGI Web CGI 1 Java / Java Java CGI Servlet
... 2 1 Servlet... 3 1.1... 3 1.2... 4 2 JSP... 6 2.1... 6 JSP... 6... 8 2.2... 9 - Servlet/JSP における 日 本 語 の 処 理 - 1
Servlet/JSP Creation Date: Oct 18, 2000 Last Update: Mar 29, 2001 Version: 1.1 ... 2 1 Servlet... 3 1.1... 3 1.2... 4 2 JSP... 6 2.1... 6 JSP... 6... 8 2.2... 9 - Servlet/JSP における 日 本 語 の 処 理 - 1 Servlet
intra-mart im-J2EE Framework
intra-mart im-j2ee Framework Version 6.0 Struts 連携ガイド 初版 2006 年 8 月 11 日 変更年月日 2006/8/11 初版 > 変更内容 目次 > 1 はじめに...3 1.1 目的...3 2 アプリケーションの作成...3 2.1 前提...3 2.2 Strutsからim-J2EE Frameworkのイベントフレームワークへの連携...3
intra-mart WebPlatform/AppFramework
intra-mart WebPlatform/AppFramework Ver.7.2 Struts 連携プログラミングガイド 2010/04/01 初版 変更年月日 2010/04/01 初版 > 変更内容 目次 > 1 はじめに...1 1.1 目的...1 2 アプリケーションの作成...2 2.1 Strutsからim-JavaEE Frameworkのイベントフレームワークへの連携...2
rcp-add-01:アーキテクチャ設計書
Web 注文管理システム ( サンプル ) 履歴 バージョン 改訂内容 改訂者 改訂日 0.1 新規作成 山下 2010/11/1 目次 1. はじめに 1.1 本文書の目的 1.2 参照資料 / 文献 2. 概説 2.1 アーキテクチャ要件 2.3 対象とする機能要件 ( ユースケース ) 2.4 アーキテクチャ設計方針 2.4 仮定と依存 3. 構造及び構成 3.1 物理配置図 3.2 実行環境
[3-F] コンテナとJavaとOracle JETによるアプリ開発ハッカソン
[Hands-on: 3-F] コンテナと Java と Oracle JET によるアプリ開発ハッカソン 日本オラクル株式会社 Fusion Middleware Business Unit PaaS 事業推進室 Java Day Tokyo 2016 2016 年 5 月 24 日 Safe Harbor Statement The following is intended to outline
untitled
Struts IT Open Source JavaEE Application Consulting Struts Open Source JavaWorld Jakarta 4 Jakarta/Apache Copyright(c) yukimitsu kurozumi 2007 All Rights Reserved. 2 1986 150 CAC OSS Consulting,, Web System
Null
Technical Discussion Night ~ 今宵のテーマ : エキスパートはどう考えるか? 体感! パフォーマンスチューニング ~ Japan Oracle User Group 日本オラクル株式会社クラウド テクノロジー事業統括 Database & Exadata プロダクトマネジメント本部 Copyright 2017, Oracle and/or its affiliates.
2
Yoshio Terada Java Evangelist http://yoshio3.com, Twitter : @yoshioterada 1 2 3 4 5 1996 6 JDK1.0 Thread Runnable 1997 1998 JDK1.1 J2SE1.2 2000 2002 J2SE 1.3 J2SE 1.4 2004 2006 Java SE 6 JSR-166x Java
スライド 1
1 2466 565 40 / All Right Reserved,Copyrights 3 B to B B to C EC ERP EIAJ / / EDI All Right Reserved,Copyrights 4 All Right Reserved,Copyrights 5 1 All Right Reserved,Copyrights 6 EIAJ QR All Right Reserved,Copyrights
PowerPoint プレゼンテーション
5 月 Java 基礎 1 タイトル Java 基礎 2 日間 概要 目的 サーバサイドのプログラミング言語で最もシェアの高い Java SE の基本を習得します 当研修ではひとつの技術ごとに実用的なアプリケーションを作成するため 効果的な学習ができます Java SE の多くの API の中で 仕事でよく利用するものを中心に効率よく学びます 実際の業務で最も利用される開発環境である Eclipse
サーブレット (Servlet) とは Web サーバ側で動作する Java プログラム 通常はapache 等のバックグラウンドで動作する Servletコンテナ上にアプリケーションを配置 代表的な Servlet コンテナ Apache Tomcat WebLogic WebSphere Gla
サーブレット 1 オブジェクト指向プログラミング特論 サーブレット (Servlet) とは Web サーバ側で動作する Java プログラム 通常はapache 等のバックグラウンドで動作する Servletコンテナ上にアプリケーションを配置 代表的な Servlet コンテナ Apache Tomcat WebLogic WebSphere GlassFish 2 オブジェクト指向プログラミング特論
Web SOAP Internet Web REST SOAP REST 3 REST SOAP 4
XML Day Web2.0 REST SOAP SOAP REST WADL, WSDL2.0 REST SOAP " " 2006 12 11 XML Web2.0 SOAP REST 2 Web SOAP Internet Web REST SOAP REST 3 REST SOAP 4 REST Representational State Transfer REST Web URL XML
Web JavaScript Java Applet Flash ActionScript CGI (C, perl, ruby ) PHP Servlet, JSP (JavaServer Pages) ASP 7-2
Servlet 7-1 Web JavaScript Java Applet Flash ActionScript CGI (C, perl, ruby ) PHP Servlet, JSP (JavaServer Pages) ASP 7-2 Servlet Java CGI Tomcat Apache+Tomcat JSP Web HTML Java Java Servlet ( ) 7-3 Servlet
B2-Servlet-0112.PDF
B-2 Servlet/JSP Agenda J2EE Oracle8i J2EE Java Servlet JavaServer Pages PDA ( J2EE Java2 Enterprise Edition API API J2SE JSP Servlets RMI/IIOP EJB JNDI JTA JDBC JMS JavaMail JAF Java2 Standard Edition
T2でつなごう! -つなぐつながるWebフレームワーク「T2」の紹介
T2 でつなごう! - つなぐつながる Web フレームワーク T2 の紹介 T2 プロジェクト 米林正明 片山暁雄 自己紹介 名前 米林正明 ID id:yone098 所属 株式会社 Abby 代表取締役社長 自己紹介 名前 片山 暁雄 ID id:c9katayama 所属 株式会社キャピタルアセットプランニング Agenda T2の概要 T2の基本姿勢 T2の目指す所 機能紹介 DIコンテナ非依存
1 1 3 1.1 Web............................ 3 1.2 Servlet/JSP.................................. 3 2 JSP 7 2.1................................... 7 2.2..
Servlet/JSP 1 1 3 1.1 Web............................ 3 1.2 Servlet/JSP.................................. 3 2 JSP 7 2.1................................... 7 2.2........................................
intra-mart Accel Platform — IM-BloomMaker プログラミングガイド 初版
Copyright 2019 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. はじめに 2.1. 本書の目的 2.2. 対象読者 2.3. サンプルコードについて 2.4. 本書の構成 3. 前処理プログラム 3.1. 前処理を実装する 3.1.1. 前処理の実装方式 3.1.2. 前処理の実行順序と引数 3.1.3. リクエストパラメータの解析
第 7 回の内容 動的な Web サイト フォーム Web システムの構成
第 7 回の内容 動的な Web サイト フォーム Web システムの構成 動的な Web サイト 静的なリソース ファイルシステムのパス / URI のパス a 公開ディレクトリ / b b GET /b HTTP/1.1 c c e d /a/b を送り返す d e 静的なリソース ファイルシステムのパス / / URI のパス f b c e GET /g/e HTTP/1.1 d /f/e
Android Layout SDK プログラミング マニュアル
プログラミングマニュアル Version 1.3.0 用 更新履歴 年月日 バージョン 履歴 2014.09.08 1.2.0.0 新規 (Layout Utilities ユーザーズ ガイド ) 2016.08.16 1.3.0.0 モバイル端末用レイアウトで直線部品と矩形部品に対応 モバイル端末用レイアウトファイルを CLFX から XML へ変更 Layout Print Engine から
--- サーバ側処理 Java servlet の例 // 通常の Java servlet での POST で受信と同じ protected void dopost(httpservletrequest request, HttpServletResponse response) throws S
2 サーバとの連携と BlazeDS Flex アプリケーションではクライアント ( ブラウザ ) で処理できる機能が多いですが データベースへのアクセスや クライアントでは負担が大きい処理などはサーバ側で行います また パソコンのローカルディスクへのアクセスのように セキュリティの都合でクライアントで直接処理できない場合は一旦サーバにアップロードするなどして処理します 2-1 ファイルアップロードファイルをアップロードする場合は
Javaセキュアコーディングセミナー2013東京第1回 演習の解説
Java セキュアコーディングセミナー東京 第 1 回オブジェクトの生成とセキュリティ 演習の解説 2012 年 9 月 9 日 ( 日 ) JPCERT コーディネーションセンター脆弱性解析チーム戸田洋三 1 演習 [1] 2 演習 [1] class Dog { public static void bark() { System.out.print("woof"); class Bulldog
intra-mart マスカット連携ガイド
intra-mart マスカット連携ガイド Version 6.1 第三版 2008 年 1 月 31 日 > 変更年月日変更内容 2007/7/31 初版 2007/8/31 第二版以下の説明を追加 3.1.2.2 初期表示時のアクション 3.2.2.2 初期表示時のアクション 2008/1/31 第三版 3.3 デバック を追加 目次 > 1 はじめに...3
Eclipse 操作方法 (Servlet/JSP 入門補助テキスト)
Eclipse 操作方法 (Servlet/JSP 入門補助テキスト) 1. プロジェクトの作成 Eclipse はプロジェクトという単位でプログラムを管理します. 今回のサンプルを実行する為のプロジェクトとして intro プロジェクトを作成します. 1-1. Eclipse 左のツリー画面から空白部分を右クリックし New - Project... を選択します. 1-2. Web - Dynamic
JBoss Application Server におけるディレクトリトラバーサルの脆弱性
Japan Computer Emergency Response Team Coordination Center 電子署名者 Japan Computer Emergency Response Team Coordination Center DN c=jp, st=tokyo, l=chiyoda-ku, [email protected], o=japan Computer
第2回_416.ppt
3 2 2010 4 IPA Web http://www.ipa.go.jp/security/awareness/vendor/programming Copyright 2010 IPA 1 2-1 2-1-1 (CSRF) 2-1-2 ID 2-1-3 ID 2-1-4 https: 2-1-5 ID 2-1-6 2-1-7 2-2 2-2-1 2-2-2 2-3 2 2-3-1 Web Copyright
// このクラスの有効期間中の各呼び出しに使用される キャッシュされた Socket オブジェクト Socket socket = null; // 非同期処理が完了したことを通知するために信号を送るオブジェクト static ManualResetEvent clientdone = new Ma
HOW DO I ソケットで通信を行うには ここでは以下の手順で説明します ソケットクライアントを作成するデータを送信するデータを受信するソケットクライアントを使用する ソケットクライアントを作成する 1. このコンテンツのサポートファイルの Start フォルダから "UDPClient" プロジェクトを開きます 2. クライアントを動作させるため コンピューターで簡易 TCP/IP サービスを有効にする必要があります
SmartBrowser_document_build30_update.pptx
SmartBrowser Update for ios / Version 1.3.1 build30 2017 年 8 月 株式会社ブルーテック 更新内容 - 概要 ios Version 1.3.1 build28 の更新内容について 1. 設定をQRから読み込み更新する機能 2.URLをQRから読み込み画面遷移する機能 3.WEBページのローカルファイル保存と外部インテントからの起動 4.JQuery-LoadImageライブラリの組み込み
XNA Framework
XNA Framework 2.0 M@STER SESSION 01 XNA Framework の技術的背景 システム基盤は.NET Framework マネージ環境で実行 クロスプラットフォーム Windows, Xbox360, Zune DirectX, MDX から独立している 開発 実行環境の構造 XNA Game Studio (Visual Studio 2005) XNA Framework
untitled
Ajax Web Ajax http://www.openspc2.org/javascript/ajax/ajax_stu dy/index.html Life is beautiful Ajax http://satoshi.blogs.com/life/2005/06/ajax.html Ajax Ajax Asynchronous JavaScript + XML JavaScript XML
PowerPoint プレゼンテーション
情報システム基礎演習 B 2016/01/28 (Thurs.) テーマ 4 JavaScript による電卓 Web アプリを作成しましょう 健山智子 ([email protected]) 広島工業大学情報学部知的情報システム学科知的情報可視化戦略研究室 (ival) 講義のアウトライン 2 1. グループの決定 : 1. 5 人での 6 グループ ( ランダム
Apache Tomcatにおけるクロスサイトリクエストフォージェリ(CSRF)保護メカニズム回避の脆弱性
Japan Computer Emergency Response Team Coordination Center 電子署名者 Japan Computer Emergency Response Team Coordination Center DN c=jp, st=tokyo, l=chiyoda-ku, [email protected], o=japan Computer
Java Day Tokyo 2017 ダウンロード資料
JDK9 の JMC & JFR のプレビュー Java SE Advanced 日本オラクル株式会社 Java Global Business Unit マスター プリンシパル セールスコンサルタント 宇野浩司 Java Day Tokyo 2017 2017 年 5 月 17 日 Safe Harbor Statement The following is intended to outline
intra-mart Accel Platform — 外部ソフトウェア接続モジュール 仕様書 第3版
Copyright 2012 NTT DATA INTRAMART CORPORATION 1 Top 目次 改訂情報はじめに本書の目的対象読者本書の構成概要外部ソフトウェア接続モジュールとは仕様外部ソフトウェア接続モジュールの構成サンプルプログラムサンプル内容動作に必要な環境構築プログラムソースログイン セキュリティ環境の構築外部ソフトウェア連携時の認可設定 2 改訂情報 変更年月日 変更内容 2012-12-21
intra-mart Accel Platform — イベントナビゲータ 開発ガイド 初版
Copyright 2013 NTT DATA INTRAMART CORPORATION 1 Top 目次 intra-mart Accel Platform イベントナビゲータ開発ガイド初版 2013-07-01 改訂情報概要イベントフローの作成 更新 削除をハンドリングするイベントフローを非表示にする回答を非表示にするリンクを非表示にするタイトル コメントを動的に変更するリンク情報を動的に変更するナビゲート結果のリンクにステータスを表示する
WEBシステムのセキュリティ技術
WEB システムの セキュリティ技術 棚橋沙弥香 目次 今回は 開発者が気をつけるべきセキュリティ対策として 以下の内容について まとめました SQLインジェクション クロスサイトスクリプティング OSコマンドインジェクション ディレクトリ トラバーサル HTTPヘッダ インジェクション メールヘッダ インジェクション SQL インジェクションとは 1 データベースと連動した Web サイトで データベースへの問い合わせや操作を行うプログラムにパラメータとして
JavaScript の使い方
JavaScript Release10.5 JavaScript NXJ JavaScript JavaScript JavaScript 2 JavaScript JavaScript JavaScript NXJ JavaScript 1: JavaScript 2: JavaScript 3: JavaScript 4: 1 1: JavaScript JavaScript NXJ Static
java_servlet2_見本
13 2 JSF Web 1 MVC HTML JSP Velocity Java 14 JSF UI PC GUI JSF Web 2.1 JSF JSF Web FORM FORM 2-1 JSF role, JSF JSF 15 Web JSF JSF Web Macromedia JSF JSF JSF 2.2 / Subscriber package com.mycompany.newsservice.models;
第 8 回の内容 クライアントサイド処理 JavaScript の基礎
第 8 回の内容 クライアントサイド処理 JavaScript の基礎 クライアントサイド処理 クライアントサイド / サーバサイド クライアントサイド サーバサイド Web ブラウザ Web サーバ 動的な Web ページ Web ブラウザ Web サーバ Web ブラウザ Web サーバ リソース生成 描画 描画 リソース生成 再描画 描画 再描画 描画 リソース生成 再描画 動的な Web ページとページ遷移
はじめに インフォマート API の呼び出しには OAuth2.0 による認証を受ける必要があります OAuth2.0 を使うことで インフォマート API を利用するサービスは インフォマートプラットフォーム ID( 1 以下 PFID) とパスワードを保存したり処理したりすることなく PFID
インフォマート API 利用における OAuth2.0 認証手順 作成日 2017 年 6 月 14 日 更新日 2017 年 9 月 27 日 株式会社インフォマート 1 はじめに インフォマート API の呼び出しには OAuth2.0 による認証を受ける必要があります OAuth2.0 を使うことで インフォマート API を利用するサービスは インフォマートプラットフォーム ID( 1 以下
