第5回 Webアプリ作成 知的システム構築工房 Linux設定セミナーシリーズ 第5回 Webアプリ作成 2011年3月16日(水) 株式会社 アセンディア -1 - 第5回 Webアプリ作成 目的 当セミナーを通して、 Webアプリケーションを開発する環境の構築手法 を体得する。 -2 - 第5回 Webアプリ作成 目標 当セミナーを受講することにより 1.Webアプリを開発・動作する環境を構築できるように なること 2.フレームワークを使用したWebアプリの開発ができる ようになること -3 - 第5回 Webアプリ作成 セミナー内容 1.Webアプリが動作する仕組み Webサーバの仕組み Webアプリケーションの処理 Webアプリケーションを実現するさまざまな言語や技術 2.Web開発環境の構築 Tomcatとは Tomcatのインストール EclipseとTomcatの連携 3.Webアプリケーションの作成 Webアプリケーションの構造 web.xmlファイル <servlet>タグと<servlet-mapping>タグの関係 Webサーブレットの作成 4.フレームワークを使用したWebアプリの作成 フレームワークについて Strutsについて Strutsを用いたWeb開発 -4 - 第5回 Webアプリ作成 1.Webアプリが動作する仕組み -5 - 第5回 Webアプリ作成 Webサーバの仕組み Webブラウザを通してネットワークで繋がれたWebサーバへアクセスし、 様々な情報を取得します。 O S (Linux) Apache HTTP Server Tomcat Java VM Database 認証システム ネットワーク ユーザID パスワード Java class JSP,HTML,CSS table,view クライアント Webサーバ -6 - 第5回 Webアプリ作成 Webアプリケーションの処理 Webアプリケーションは一般的に要約すると、下記のようになります。 画面遷移 リンク ボタン 画面1 単純なリンクによる画面遷移 アクション 処理結果 アクションに対応した処理 -7 - 画面2 第5回 Webアプリ作成 Webアプリケーションを実現するさまざまな言語や技術 Webアプリケーションは様々な言語や技術で構成されています。 アプリケーションサーバ html JSP ASP css javaScript Ajax PHP CGI Flash : リンク アクションに対応した処理 アクション Framework Java .net Servlet : ボタン 画面1 Struts Spring .net Framework Hibernate Apache Tomcat IIS Glassfish : driver jdbc,odbc,ODP.net・・ メール送信 mail Sendmail qmail : -8 - Database Oracle MS SQLServer MySQL PostgreSQL : 第5回 Webアプリ作成 2.Web開発環境の構築 -9 - 第5回 Webアプリ作成 Tomcatとは Javaサーブレット、JSPを処理するアプリケーションソフトウェア。 Java VM上で動作し、ApacheやIISと連携し動的なWebサービスを提供する。 様々なOS(Linux,Windows,MacOS)で動作する。 オープンソースのソフトウェアです。 Webサーバ Apache HTTP Server Tomcat Java VM OS クライアント -10 - 第5回 Webアプリ作成 Tomcatのインストール インストールの流れ 1.プログラムソースを取得する 2.プログラムソースを解凍する 3.インストール 4.動作確認 -11 - 第5回 Webアプリ作成 1.プログラムソースを取得する http://tomcat.apache.org/ -12 - 第5回 Webアプリ作成 : (中略) : -13 - 第5回 Webアプリ作成 ダウンロードしたファイルを /home/ユーザ名 配下へコピーします。 [sugiura@user01 ~]$ cp /home/sugiura/ダウンロード/apache-tomcat-6.0.32.tar.gz ./ [sugiura@user01 ~]$ gzip -d apache-tomcat-6.0.32.tar.gz [sugiura@user01 ~]$ tar -xvf apache-tomcat-6.0.32.tar [sugiura@user01 ~]$ mv apache-tomcat-6.0.32 tomcat6 ↑開発用のTomcatを/home/ユーザ名フォルダ配下に構築します。 rootユーザに替わり、ダウンロードしたファイルを /usr/local/src配下へコピーします この作業から、運用としてのTomcatインストールを行います。 -14 - 第5回 Webアプリ作成 2.プログラムソースを解凍する [root@user01 src]# gzip -d apache-tomcat-6.0.32.tar.gz [root@user01 src]# tar -xvf apache-tomcat-6.0.32.tar 3.インストール /opt/配下へコピーし、tomcat6とリネームします [root@user01 src]# pwd /usr/local/src [root@user01 src]# mv apache-tomcat-6.0.32 /opt/ [root@user01 src]# cd /opt/ [root@user01 opt]# mv apache-tomcat-6.0.32/ tomcat -15 - 第5回 Webアプリ作成 4.動作確認 tomcatを起動します。 [root@user01 opt]# cd tomcat/ ←/opt/tomcat フォルダへ入ります [root@user01 tomcat]# ls ←確認 LICENSE NOTICE RELEASE-NOTES RUNNING.txt bin conf lib logs temp webapps work [root@user01 tomcat]# cd bin/ ←binフォルダへ移動(binフォルダ内にプログラムがあります) [root@user01 bin]# ls bootstrap.jar cpappend.bat shutdown.sh tool-wrapper.sh catalina-tasks.xml digest.bat startup.bat version.bat catalina.bat digest.sh startup.sh version.sh catalina.sh setclasspath.bat tomcat-juli.jar commons-daemon-native.tar.gz setclasspath.sh tomcat-native.tar.gz commons-daemon.jar shutdown.bat tool-wrapper.bat [root@user01 bin]# ./startup.sh ←起動シェルを実行します Using CATALINA_BASE: /opt/tomcat Using CATALINA_HOME: /opt/tomcat ←正常に起動した場合、このようなメッセージが Using CATALINA_TMPDIR: /opt/tomcat/temp 表示されます Using JRE_HOME: /usr/local/java Using CLASSPATH: /opt/tomcat/bin/bootstrap.jar -16 - 第5回 Webアプリ作成 http://localhost:8080/ へアクセスします このような画面が表示されます -17 - 第5回 Webアプリ作成 このように表示されれば、正しく機能しています。 -18 - 第5回 Webアプリ作成 正しく動作した場合、一度 tomcatを停止します。 [root@user01 ~]# /opt/tomcat/bin/shutdown.sh ←終了シェルを実行します Using CATALINA_BASE: /opt/tomcat Using CATALINA_HOME: /opt/tomcat Using CATALINA_TMPDIR: /opt/tomcat/temp Using JRE_HOME: /usr/local/java Using CLASSPATH: /opt/tomcat/bin/bootstrap.jar ↑正常に終了した場合、このようなメッセージが表示されます -19 - 第5回 Webアプリ作成 EclipseとTomcatの連携 Eclipse開発環境でTomcatのサービスを管理したり、プロセスをデバッグできる 環境を構築します。EclipseにTomcatプラグインを適用します。 非常に一般的なプラグインとして、Sysdeo Eclipse Tomcat Launcher plugin があります。 インストール方法 1.プログラムソースの取得 2.プログラムソースの配置 3.動作確認 4.Eclipse環境設定 -20 - 第5回 Webアプリ作成 1.プログラムソースを取得する http://www.eclipsetotale.com/tomcatPlugin.html -21 - 第5回 Webアプリ作成 tomcatPluginV33.zipを選択肢、ダウンロードを行います。 -22 - 第5回 Webアプリ作成 2.プログラムソースの配置 ダウンロードしたソースを解凍します [root@user01 ~]# cd /usr/local/src/ ←/usr/local/srcフォルダへ入ります [root@user01 src]# mv /home/sugiura/ダウンロード/tomcatPluginV33.zip ./ ↑ダウンロードしたファイルを移動 [root@user01 src]# ls ImageMagick-6.6.7-10 httpd-2.2.17 openssl-1.0.0d.tar work2 ImageMagick.tar jdk-6u24-linux-i586.bin tomcatPluginV33.zip apache-tomcat-6.0.32.tar openssl-1.0.0d work [root@user01 src]# unzip tomcatPluginV33.zip ←ダウンロードしたファイルを解凍 [root@user01 src]# mv com.sysdeo.eclipse.tomcat_3.3.0/ /opt/eclipse/plugins/ ↑ダウンロードしたファイルをeclipseのpluginフォルダへ移動 -23 - 第5回 Webアプリ作成 3.動作確認 Eclipseを起動します 赤く囲まれている場所にTomcatプラグインが表示されていれば、正しくインストールされています。 -24 - 第5回 Webアプリ作成 3.動作確認 Eclipseを起動します 赤く囲まれている場所にTomcatプラグインが表示されていれば、正しくインストールされています。 -25 - 第5回 Webアプリ作成 4.Eclipse環境設定 Tomcatプラグインが動作するように、Eclipseの環境設定を行います。 /home/ユーザ名配下のTomcatを指定 -26 - 第5回 Webアプリ作成 Tomcatを起動し、正しく動作するかを確認します。 -27 - 第5回 Webアプリ作成 3.Webアプリケーションの作成 -28 - 第5回 Webアプリ作成 Webアプリケーションの構造 一般的なサイトでの構造 lesson http://サーバIPアドレス・ドメイン/lesson/ トップフォルダ Webアプリケーションのコンテキスト名になります。 WEB-INF WEB-INFフォルダ Webアプリケーションのプログラムやライブラリを配置します Webブラウザからはアクセスできません src classes srcフォルダ プログラムのソースファイルを配置します(実運用では配置しません) classesフォルダ プログラムのクラスファイルを配置します l i b libフォルダ プログラムで利用するライブラリファイルを配置します view viewフォルダ JSPファイルを配置します 設定ファイル web.xml,struts-config.xml等Webアプリの設定ファイルを配置します コンテンツファイル htmlファイル、画像ファイル(jpg,gif)、テキストファイル等を配置します。 フォルダ分けします。 -29 - 第5回 Webアプリ作成 web.xmlファイル Webアプリケーションの各種設定は、web.xmlファイルに記述します。 web.xmlファイルは、拡張子がxmlであるように、XML形式で記述します。 <context-param>タグ:初期パラメータを設定 <param-name>:パラメータ名 <param-value>: 値 <filter>タグ:HTTPリクエスト・レスポンス時に発生する処理を記述 <filter-name>:フィルター名 <filter-class>:フィルタークラス名 <servlet>タグ:Javaのクラスを設定 <servlet-name>:サーブレット名 <servlet-class>:Javaのクラスファイル名(拡張子はつけません) <servlet-mapping>タグ:<servlet>タグとURLとのマッピングを設定 <servlet-name>:サーブレット名 <url-pattern>:URL名 ※タグはほんの一部です。 -30 - 第5回 Webアプリ作成 <servlet>タグと<servlet-mapping>タグの関係 例 <servlet> <servlet-name>Test</servlet-name> <servlet-class>ShowTest</servlet-class> </servlet> <servlet-mapping> <servlet-name>Test</servlet-name> <url-pattern>/showTest</url-pattern> </servlet-mapping> ShowTest 1.http://localhost:8080/lesson/showTest でアクセスすると、 2.ShowTestが実行される -31 - 第5回 Webアプリ作成 Webサーブレットの作成 作成するアプリケーション http://localhost:8080/lesson/ShowHello Hello!! -32 - 第5回 Webアプリ作成 作成方法 ファイルから新規→プロジェクトを選択します Tomcatプロジェクトを選択し、次へを押下します -33 - 第5回 Webアプリ作成 プロジェクト名にlessonと入力し、次へボタンを押下 コンテキスト~をチェックし、完了ボタンを押下 -34 - 第5回 Webアプリ作成 パッケージ・エクスプローラにlessonフォルダができていることを確認してください。 -35 - 第5回 Webアプリ作成 web.xmlの作成 <?xml version="1.0" encoding="Shift_JIS"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <servlet> <servlet-name>Hello</servlet-name> <servlet-class>HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Hello</servlet-name> <url-pattern>/ShowHello</url-pattern> </servlet-mapping> </web-app> -36 - 第5回 Webアプリ作成 Helloservlet.javaの作成 import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloServlet extends HttpServlet { public void doGet( HttpServletRequest request, HttpServletResponse response ) throws IOException, ServletException { PrintWriter out = response.getWriter(); out.println("Hello!!"); } } -37 - 第5回 Webアプリ作成 動作確認 http://localhost:8080/lesson/ShowHello -38 - 第5回 Webアプリ作成 GETとPOSTについて GETメソッド HTTPリクエストにおいて、引数をURLの後ろにパラメータとして送信する。 送信できる文字数の目安は255文字(ブラウザやサーバによって異なる) アドレスに引数情報が表示される。 http://localhost/lesson/showTest?userId=999&name=%90%99%89Y&tel=09011112222 リクエストパラメータ POSTメソッド HTTPリクエストにおいて、引数はFormに埋め込まれており、Formデータ として送信する。送信できる文字数に制限は無く、バイナリデータも 送信可能 認証システム ユーザID パスワード <form method="post" action="showTest"> ユーザID <input type="text" name="userId" size="30" maxlength="30"/> パスワード <input type="password" name="userPassword" size="30" maxlength="30" /> </form> -39 - 第5回 Webアプリ作成 4.フレームワークを使用した Webアプリの作成 -40 - 第5回 Webアプリ作成 フレームワークについて フレームワークとは、システムにおいて共通的な機能や部品(画面表示、DBアク セス、IO処理等)を提供するものです。 システム 画面表示 コントローラ ユーザ ロジック DBアクセス IO処理 基本的な機能 フレームワーク この部分だけ開発 コントローラの定義付けに よってユーザロジックが呼び出される -41 - 第5回 Webアプリ作成 Strutsについて Apache Tomcatなどのサーブレットコンテナ上で動作するWebアプリケーション フレームワークのひとつです。 特徴 1.MVC (Model-View-Controller)モデルを採用したフレームワーク ⇒MVCモデルであるので、作業分担が容易な為、大きなシステム開発に 向いている。 2.仕様変更に対応しやすい ⇒デザインの変更はViewを修正、データベースの変更はModel,Controller を修正,ロジックの変更はControllerを修正と、変更箇所が明確。 3.国際化対応 ⇒メッセージリソースを、各国に対応した言語に設定可能 -42 - 第5回 Webアプリ作成 Strutsを用いたWeb開発 作成するアプリケーション1 http://localhost:8080/lesson2/view/InputName.jsp ようこそ ○○さん -43 - 第5回 Webアプリ作成 作成方法 ファイルから新規→プロジェクトを選択します Tomcatプロジェクトを選択し、次へを押下します -44 - 第5回 Webアプリ作成 プロジェクト名にlesson2と入力し、次へボタンを押下 コンテキスト~をチェックし、完了ボタンを押下 -45 - 第5回 Webアプリ作成 パッケージ・エクスプローラにlesson2フォルダができていることを確認してください。 -46 - 第5回 Webアプリ作成 -47 - 第5回 Webアプリ作成 ウィンドウ⇒設定 -48 - 第5回 Webアプリ作成 以下は講師の指示に従って操作をおこなってください。 1.Strutsライブラリの移行 2.JSPファイルの移行 3.Javaプログラムの移行 4.Eclipse設定 -49 -
© Copyright 2024 ExpyDoc