Jakarta Struts (1) ソフトウェア特論 第10回.

Slides:



Advertisements
Similar presentations
セッション管理 ソフトウェア特論 第 8 回. ここでの内容 セッション管理の基本を知る。 HttpSession の使い方を知る。
Advertisements

年度 J2EE II 稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴. 2 この講義の位置づけ 3年前期の「データベース論 (J2EE I) 」に続く講義。 「データベース論」の講義内容を理解 していることが前提。
1 JSP の作成 JSF による Web アプリケーション 開発 第 4 回. 2 ここでの内容 JSF での JSP の作り方と動かし方につい て学ぶ。
Struts VS SAStruts ・ STRUTS と SAStruts を比較します。. Struts のメリット1 STRUTS はディファクトスタンダード。 ↓ プログラマがたくさんいる。 ライブラリ、ツールがたくさんある。 ビジネス案件が豊富。 書籍などの情報元が豊富。
Struts勉強会資料 2002/06/27.
Apache Camel Data Format Component Apache Camel
2004年度 サマースクール in 稚内 JSFによるWebアプリケーション開発
知的システム構築工房   Linux設定セミナーシリーズ 第5回 Webアプリ作成 2011年3月16日(水) 株式会社 アセンディア 1.
Struts1.xの脆弱性(CVE ) に対するSDEの対処:推奨タイプ (サンプルソースコードの公開)
JSFによるWebアプリケーション開発 第9回
Applet 岡部 祐典 鈴木 敬幸.
Apache Camel Data Format Component Apache Camel
Struts1.xの脆弱性(CVE ) に対するSDEの対処:wrapタイプ (パッチのご提供)
エンタープライズアプリケーション II 第10回 / 2006年7月23日
JSFによるWebアプリケーション開発 第11回
Servlet J2EE I 第8回 /
Servlet入門(2) 入力フォームをつかったWebアプリ
ネットワークプログラミング論 平成27年10月12日 森田 彦.
Myoungkyu Song and Eli Tilevich 発表者: 石尾 隆(大阪大学)
JavaServlet&JSP入門 01K0018 中村太一.
稚内北星学園大学 情報メディア学部 助教授 安藤 友晴
タグライブラリ ソフトウェア特論 第6回.
卒研:データベースチーム 第4回 DOMを使った処理
タグライブラリとJSP J2EE I 第10回 /
ビューとコントローラ.
HTTPプロトコルとJSP (1) データベース論 第3回.
タグライブラリとJSP J2EE II 第2回 2004年10月7日 (木).
JavaBeans とJSP データベース論 第5回.
JSFによるWebアプリケーション開発 第6回
HTTPプロトコル J2EE I 第7回 /
エンタープライズアプリケーション II 第7回 / 2006年7月9日
Day3 Day4 Day3 Day4.
第20章 Flyweight ~同じものを共有して無駄をなくす~
JSPの作成 J2EE II 第3回 2005年4月10日.
Servlet入門(2) 入力フォームをつかったWebアプリ
ネットワークプログラミング論 平成28年10月17日 森田 彦.
ServletによるWebアプリ作成 入門
Javaによる Webアプリケーション入門 第5回
プログラミング演習3 第2回 GUIの復習.
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
第12回 2007年7月13日 応用Java (Java/XML).
オブジェクト指向 プログラミング 第十三回 知能情報学部 新田直也.
Webアプリケーションの方向性 データベース論 第13回.
理学部 情報科学科 指導教官 千葉 滋 助教授 学籍番号 03_03686 内河 綾
2006年度 東京サテライト校 エンタープライズ・アプリケーション II
Javaによる Webアプリケーション入門 第6回
ネットワークプログラミング論 平成28年10月31日 森田 彦.
プログラミング演習3 第2回 GUIの復習.
Jakarta Struts (2) ソフトウェア特論 第11回.
Javaによる Webアプリケーション入門 第2回
Javaによる Webアプリケーション入門 第11回
Strutsフレームワークにおけるメタモデルを用いた追跡可能性実現手法の提案
Servlet ソフトウェア特論 第7回.
Servlet J2EE I (データベース論) 第12回 /
Servlet データベース論 第6回.
JSFによるWebアプリケーション開発 第3回
EntityManager と EJB QL EJB 3.0 コース 第8回 2006年8月5日.
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
C#プログラミング実習 第3回.
Javaによる Webアプリケーション入門 第8回
Javaによる Webアプリケーション入門 第4回
WebアプリケーションとTomcat ― これまでの復習とこれからの予習 ―
JSPの基本 データベース論 第2回.
Action Method の実装 J2EE II 第9回 2004年12月2日.
稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴
JSPの基本 J2EE I (データベース論) 第8回 /
JSFによるWebアプリケーション開発 第5回
JSFによるWebアプリケーション開発 第10回
JSFによるWebアプリケーション開発 第7回
MVCモデル2による Webアプリケーション
Presentation transcript:

Jakarta Struts (1) ソフトウェア特論 第10回

ここでの内容 Struts での基本的なプログラミングについて学ぶ。

Struts とは Jakarta Project が作成している、Webアプリケーション用のフレームワーク MVCモデル2を用いている。 Struts は View と Controller を担当

Struts でのプログラミング Webブラウザからの要求は、すべて「ActionServlet」が受け取る。(用意されている) パラメータは「ActionForm Bean」へ (作成する) ビジネスロジックは「Actionクラス」で (作成する)。処理結果は Model に格納。 表示は JSP で。Strutsのタグライブラリを使う。 Action クラスやJSPを呼び出す順序やタイミングは「アクションコンフィグレーションファイル」で。

入力フォームの作成 JSP で作成する。 タグライブラリを利用する。 <html:form action="/searchBook"> <td>分類番号</td> <td><html:text property="ndc" maxlength="20“ size="20“ /></td> <html:submit property=“submit” value=“検索” /> <html:reset value="reset" /> </html>

ActionForm Bean の作成 (1) Webブラウザからの要求のときに、クエリーとして与えられたパラメータを格納する。 ActionFrom を継承 JavaBeans のプロパティのネーミングルールに従ってメソッドを作成 入力フォームのパラメータ名と ActionForm Bean のプロパティが一致していなければならない。

ActionForm Bean の作成 (2) public class SearchForm extends ActionForm { public String getTitle() { return title; } public void setTitle(String title) { this.title = title;

ActionForm Bean の作成 (3) // このメソッドは、プロパティに値が設定される前に呼ばれる public void reset(ActionMapping mapping, HttpServletRequest req) { try { req.setCharacterEncoding("Shift_JIS"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); }

Action クラスの作成 (1) org.apache.struts.action.Action クラスを継承 ビジネスロジックを処理する 入力フォームのデータ処理なども execute メソッドをオーバーライド 最後に、この後でどのプログラムに処理を任せるか指定するための文字列を指定する。

Action クラスの作成 (2) // ActionForm Bean から ndc プロパティを取得 SearchForm form = (SearchForm)f; String ndc = form.getNdc();

Action クラスの作成 (3) // データベースの検索を行い、 // その結果を HttpSession に登録 List list = search(ndc, tyosya_hyouji, id, title, author,publisher); HttpSession session = request.getSession(); session.setAttribute("bookList", list);

Action クラスの作成 (4) // “success” は、この後でどのプログラムに処理を // 任せるか指定するための文字列 // (アクションコンフィグレーションファイルに記述) return(mapping.findForward("success"));

JSP <ul> <logic:iterate id="book" name="bookList" scope="session"> <li> <bean:write name="book" property="title" /> / <bean:write name="book" property="author" /> </li> </logic:iterate> </ul>

アクションコンフィグレーションファイル(1) Action クラスやJSPを呼び出す順序やタイミングなど、Struts の働きを定める。 struts-config.xml という名前のファイル

アクションコンフィグレーションファイル(2) ActionForm Bean を定義 type 属性はクラス名、name 属性は名前 <form-beans> <form-bean name="searchForm" type="SearchForm" /> </form-beans>

アクションコンフィグレーションファイル(3) <action-mappings> <action path="/searchBook" type="SearchBookAction" name="searchForm" scope="request"> <forward name="success" path="/list.jsp"/> </action> </action-mappings>

アクションコンフィグレーションファイル(4) <action path="/searchBook" type="SearchBookAction" 「アクション(URLで区別される処理内容)」を定義 type 属性が Action クラス名 path がパス名。実際は “/searchBook.do” というパス名になる。

アクションコンフィグレーションファイル(5) name="searchForm" scope="request"> このアクションで利用される ActionForm Bean scope 属性は、ActionForm Bean のスコープ。“session” か “request”

アクションコンフィグレーションファイル(6) <forward name="success" path="/list.jsp"/> Action クラスのこの部分に対応 return(mapping.findForward("success")); list.jsp にこの後の処理を任せる

web.xml <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet </servlet-class ...... <servlet-mapping> <url-pattern>*.do</url-pattern> </servlet-mapping> *.do というパターンのアクションは、ActionServlet で処理をする

Tomcat への配置 StrutsのアーカイブのlibフォルダにあるJarファイルを、WEB-INF/libにコピー。 タグライブラリの設定を記述している*.tldファイルをWEB-INFにコピー。 struts-config.xml は WEB-INF に置く。