知的システム構築工房   Linux設定セミナーシリーズ 第5回 Webアプリ作成 2011年3月16日(水) 株式会社 アセンディア 1.

Slides:



Advertisements
Similar presentations
ネットワークプログ ラミング論 平成27年 11 月 1 6日 森田 彦. 【基礎課題 6-1 】の解答 ① サーブレットを記述して保管するとコン パイルが自動的に行われる。 ② サーブレットの記述後、開発者がコンパ イル命令を実行しなければならない。 ③ プロジェクト名が Web アプリケーション.
Advertisements

Web アプリケーション開発入門 大岩研究会 今野隆平 2002 年 5 月 9 日 Introduction to Web Application Development.
Web アプリケーション開発 ~図書館管理システム~ 北海道情報大学 情報メディア学 部 情報メディア学科 新井山ゼミ 高橋 隼.
1 JSP の作成 JSF による Web アプリケーション 開発 第 4 回. 2 ここでの内容 JSF での JSP の作り方と動かし方につい て学ぶ。
1 安全性の高いセッション管理方 式 の Servlet への導入 東京工業大学 理学部 千葉研究室所属 99-2270-6 松沼 正浩.
Servlet 矢口 洋介 清水 麗雄. 準備  Java フォルダに入ってから mkdir Servlet ln – s ~/public_html/Servlet.  フォルダの移動 cd public_html/Servlet/WEB-INF/classes/*.  ファイルのコピー cp.
「図書管理」のための Webアプリケーション開発 -Apache/Tomcat/MySQL/Java on Windows XP-
BBT大学 Ruby on Rails開発環境セットアップマニュアル
Curlの特徴.
ZKプラグインで、Grailsの Viewをリッチに楽しく
難しいことは置いといて、 取り合えず 「BlazeDS」 を使って、 Flash、AIRアプリから Javaオブジェクトのメソッドを呼び出すための 手順書(Windows版) 2008年2月 Lecce.
2004年度 サマースクール in 稚内 JSFによるWebアプリケーション開発
JPAを利用した RESTful Webサービスの開発
2006年11月22日 植田龍男 Webサービス II (第9回) 年11月22日 植田龍男.
WEBから確認できる 駐車場管理システムについて
Struts1.xの脆弱性(CVE ) に対するSDEの対処:推奨タイプ (サンプルソースコードの公開)
Java I 第2回 (4/18)
Applet 岡部 祐典 鈴木 敬幸.
Struts1.xの脆弱性(CVE ) に対するSDEの対処:wrapタイプ (パッチのご提供)
エンタープライズアプリケーション II 第10回 / 2006年7月23日
Servlet J2EE I 第8回 /
アプレット (Applet)について.
Servlet入門(2) 入力フォームをつかったWebアプリ
ネットワークプログラミング論 平成27年10月12日 森田 彦.
JavaServlet&JSP入門 01K0018 中村太一.
Webアプリケーション.
稚内北星学園大学 情報メディア学部 助教授 安藤 友晴
ビューとコントローラ.
HTTPプロトコルとJSP (1) データベース論 第3回.
Curlの仕組み.
HTTPプロトコル J2EE I 第7回 /
JSPの作成 J2EE II 第3回 2005年4月10日.
Servlet入門(2) 入力フォームをつかったWebアプリ
ネットワークプログラミング論 平成28年10月17日 森田 彦.
ServletによるWebアプリ作成 入門
ネットワークプログラミング論 平成28年12月12日 森田 彦.
データベース設計 第9回 Webインタフェースの作成(1)
Javaによる Webアプリケーション入門 第5回
第8章 Web技術とセキュリティ   岡本 好未.
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
2003年度 データベース論 安藤 友晴.
ネットワークプログラミング論 平成28年11月21日 森田 彦.
TomcatによるWebアプリケーション開発入門
Webアプリケーションの方向性 データベース論 第13回.
2006年度 東京サテライト校 エンタープライズ・アプリケーション II
ネットワークプログラミング論 平成28年11月7日 森田 彦.
Javaによる Webアプリケーション入門 第6回
ネットワークプログラミング論 平成28年10月31日 森田 彦.
Jakarta Struts (2) ソフトウェア特論 第11回.
Javaによる Webアプリケーション入門 第2回
Javaによる Webアプリケーション入門 第11回
データベース設計 第7回 実用データベースの運用例 クライアント=サーバシステム(1)
Servlet ソフトウェア特論 第7回.
Servlet J2EE I (データベース論) 第12回 /
Servlet データベース論 第6回.
JSFによるWebアプリケーション開発 第3回
情報コミュニケーション入門b 第11回 Web入門(2)
情報コミュニケーション入門e 第12回 Part1 Web入門(2)
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
Javaによる Webアプリケーション入門 第8回
Webインテリジェンス論 Linked Dataチュートリアル (インストール)
WebアプリケーションとTomcat ― これまでの復習とこれからの予習 ―
JSPの基本 データベース論 第2回.
情報コミュニケーション入門e 第12回 Part1 Web入門(2)
Jakarta Struts (1) ソフトウェア特論 第10回.
稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴
JSPの基本 J2EE I (データベース論) 第8回 /
プログラミング基礎a 第9回 Java言語による図形処理入門(1) Javaアプレット入門
第2回 Webサーバ.
第6章 インターネットアプリケーション 6.1 インターネットアプリケーション 6.2 Javaによるネットワーク処理 6.3 電子メール
Presentation transcript:

知的システム構築工房   Linux設定セミナーシリーズ 第5回 Webアプリ作成 2011年3月16日(水) 株式会社 アセンディア 1

目的 当セミナーを通して、 Webアプリケーションを開発する環境の構築手法を体得する。

目標 当セミナーを受講することにより 1.Webアプリを開発・動作する環境を構築できるように なること   なること  2.フレームワークを使用したWebアプリの開発ができる   ようになること

セミナー内容 1.Webアプリが動作する仕組み Webサーバの仕組み Webアプリケーションの処理 Tomcatとは Tomcatのインストール EclipseとTomcatの連携 3.Webアプリケーションの作成 Webアプリケーションの構造 web.xmlファイル <servlet>タグと<servlet-mapping>タグの関係 Webサーブレットの作成 4.フレームワークを使用したWebアプリの作成 フレームワークについて Strutsについて Strutsを用いたWeb開発

1.Webアプリが動作する仕組み

Webサーバの仕組み Webブラウザを通してネットワークで繋がれたWebサーバへアクセスし、 様々な情報を取得します。 O S (Linux) Apache HTTP Server Tomcat 認証システム Java VM ユーザID パスワード ネットワーク Database Java class JSP,HTML,CSS table,view クライアント Webサーバ

Webアプリケーションの処理 Webアプリケーションは一般的に要約すると、下記のようになります。 リンク ボタン 画面遷移 単純なリンクによる画面遷移 ボタン 画面1 アクション 処理結果 画面2 アクションに対応した処理

Webアプリケーションを実現するさまざまな言語や技術 Apache Tomcat IIS Glassfish : アプリケーションサーバ html JSP ASP css javaScript Ajax PHP CGI Flash : アクションに対応した処理 リンク アクション Framework Struts Spring .net Framework Hibernate Java .net Servlet : ボタン 画面1 driver jdbc,odbc,ODP.net・・ mail Database メール送信 Oracle MS SQLServer MySQL PostgreSQL : Sendmail qmail :

2.Web開発環境の構築

Tomcatとは Javaサーブレット、JSPを処理するアプリケーションソフトウェア。   Java VM上で動作し、ApacheやIISと連携し動的なWebサービスを提供する。   様々なOS(Linux,Windows,MacOS)で動作する。   オープンソースのソフトウェアです。 Webサーバ Apache HTTP Server Tomcat Java VM OS クライアント

Tomcatのインストール インストールの流れ 1.プログラムソースを取得する 2.プログラムソースを解凍する 3.インストール  1.プログラムソースを取得する  2.プログラムソースを解凍する  3.インストール  4.動作確認

 1.プログラムソースを取得する http://tomcat.apache.org/

: (中略) :

ダウンロードしたファイルを /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インストールを行います。

2.プログラムソースを解凍する 3.インストール  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

4.動作確認 tomcatを起動します。 [root@user01 opt]# cd tomcat/  4.動作確認 tomcatを起動します。 [root@user01 opt]# cd tomcat/ [root@user01 tomcat]# ls LICENSE NOTICE RELEASE-NOTES RUNNING.txt bin conf lib logs temp webapps work [root@user01 tomcat]# cd 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 ←/opt/tomcat フォルダへ入ります ←確認 ←binフォルダへ移動(binフォルダ内にプログラムがあります) ←起動シェルを実行します ←正常に起動した場合、このようなメッセージが   表示されます

http://localhost:8080/ へアクセスします このような画面が表示されます

このように表示されれば、正しく機能しています。

正しく動作した場合、一度 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 ←終了シェルを実行します ↑正常に終了した場合、このようなメッセージが表示されます

EclipseとTomcatの連携 Eclipse開発環境でTomcatのサービスを管理したり、プロセスをデバッグできる 非常に一般的なプラグインとして、Sysdeo Eclipse Tomcat Launcher plugin があります。 インストール方法 1.プログラムソースの取得 2.プログラムソースの配置 3.動作確認 4.Eclipse環境設定

 1.プログラムソースを取得する http://www.eclipsetotale.com/tomcatPlugin.html

tomcatPluginV33.zipを選択肢、ダウンロードを行います。

2.プログラムソースの配置 ダウンロードしたソースを解凍します [root@user01 ~]# cd /usr/local/src/   ダウンロードしたソースを解凍します [root@user01 ~]# cd /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/ ←/usr/local/srcフォルダへ入ります ↑ダウンロードしたファイルを移動 ←ダウンロードしたファイルを解凍 ↑ダウンロードしたファイルをeclipseのpluginフォルダへ移動

 3.動作確認 Eclipseを起動します 赤く囲まれている場所にTomcatプラグインが表示されていれば、正しくインストールされています。

 3.動作確認 Eclipseを起動します 赤く囲まれている場所にTomcatプラグインが表示されていれば、正しくインストールされています。

Tomcatプラグインが動作するように、Eclipseの環境設定を行います。 /home/ユーザ名配下のTomcatを指定

Tomcatを起動し、正しく動作するかを確認します。

3.Webアプリケーションの作成

Webアプリケーションの構造 http://サーバIPアドレス・ドメイン/lesson/ lesson src 一般的なサイトでの構造 トップフォルダ Webアプリケーションのコンテキスト名になります。 lesson WEB-INFフォルダ Webアプリケーションのプログラムやライブラリを配置します Webブラウザからはアクセスできません WEB-INF srcフォルダ プログラムのソースファイルを配置します(実運用では配置しません) src classesフォルダ プログラムのクラスファイルを配置します classes libフォルダ プログラムで利用するライブラリファイルを配置します lib viewフォルダ JSPファイルを配置します view 設定ファイル web.xml,struts-config.xml等Webアプリの設定ファイルを配置します コンテンツファイル htmlファイル、画像ファイル(jpg,gif)、テキストファイル等を配置します。 フォルダ分けします。

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とのマッピングを設定 <url-pattern>:URL名 ※タグはほんの一部です。

<servlet>タグと<servlet-mapping>タグの関係 例 <servlet> <servlet-name>Test</servlet-name> <servlet-class>ShowTest</servlet-class> </servlet> <servlet-mapping> <url-pattern>/showTest</url-pattern> </servlet-mapping> ShowTest 1.http://localhost:8080/lesson/showTest でアクセスすると、 2.ShowTestが実行される

Webサーブレットの作成 作成するアプリケーション http://localhost:8080/lesson/ShowHello Hello!!

作成方法 ファイルから新規→プロジェクトを選択します Tomcatプロジェクトを選択し、次へを押下します

プロジェクト名にlessonと入力し、次へボタンを押下 コンテキスト~をチェックし、完了ボタンを押下

パッケージ・エクスプローラにlessonフォルダができていることを確認してください。

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> <url-pattern>/ShowHello</url-pattern> </servlet-mapping> </web-app>

import javax.servlet.*; import javax.servlet.http.*; 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!!"); } doGet()メソッドはHttpServletからオーバーライドするメソッドです。 ブラウザからサーブレットを呼び出したときにこのメソッドが呼ばれます。 リクエスト HttpServletRequest サーブレット ブラウザ レスポンス HttpServletResponse

動作確認 http://localhost:8080/lesson/ShowHello

GETとPOSTについて GETメソッド HTTPリクエストにおいて、引数をURLの後ろにパラメータとして送信する。 送信できる文字数の目安は255文字(ブラウザやサーバによって異なる) アドレスに引数情報が表示される。  http://localhost/lesson/showTest?userId=999&name=%90%99%89Y&tel=09011112222 POSTメソッド   HTTPリクエストにおいて、引数はFormに埋め込まれており、Formデータ   として送信する。送信できる文字数に制限は無く、バイナリデータも   送信可能 リクエストパラメータ <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> 認証システム ユーザID パスワード

4.フレームワークを使用した    Webアプリの作成

フレームワークについて フレームワークとは、システムにおいて共通的な機能や部品(画面表示、DBアクセス、IO処理等)を提供するものです。 コントローラ ユーザ ロジック 画面表示 DBアクセス IO処理 フレームワークとライブラリの違い ユーザプログラム 基本的な機能 フレームワーク 呼び出す この部分だけ開発 ライブラリ コントローラの定義付けに よってユーザロジックが呼び出される 機能 機能 フレームワーク:フレームワークがユーザPGを呼び出す ライブラリ:ユーザPGがライブラリを呼び出す

Strutsについて 特徴 Apache Tomcatなどのサーブレットコンテナ上で動作するWebアプリケーション フレームワークのひとつです。 特徴 1.MVC (Model-View-Controller)モデルを採用したフレームワーク  ⇒MVCモデルであるので、作業分担が容易な為、大きなシステム開発に 向いている。 2.仕様変更に対応しやすい  ⇒デザインの変更はViewを修正、データベースの変更はModel,Controller を修正,ロジックの変更はControllerを修正と、変更箇所が明確。 3.国際化対応  ⇒メッセージリソースを、各国に対応した言語に設定可能

Strutsを用いたWeb開発 作成するアプリケーション1 http://localhost:8080/lesson2/view/InputName.jsp ようこそ ○○さん

作成方法 ファイルから新規→プロジェクトを選択します Tomcatプロジェクトを選択し、次へを押下します

プロジェクト名にlesson2と入力し、次へボタンを押下 コンテキスト~をチェックし、完了ボタンを押下

パッケージ・エクスプローラにlesson2フォルダができていることを確認してください。

ウィンドウ⇒設定

以下は講師の指示に従って操作をおこなってください。 1.Strutsライブラリの移行 2.JSPファイルの移行 3.Javaプログラムの移行 4.Eclipse設定