テスターですが何か?

ホビープログラマ略してHPです

Searsarを利用した開発環境のセットアップ

leave a comment »

Seasar(S2Container.NET)を利用してWebアプリケーションの開発を行おうと考えているので、まずは環境のセットアップを行いました。

以下のサイトを参考にさせていただきました。

—————————–

佐五七ブログ

S2Container.NET を ASP.NET2.0 で使う。【環境設定編】

—————————-

1.SeasarプロジェクトサイトからS2Container.NETをダウンロードし、解凍

  http://s2container.net.seasar.org/ja/download.html

2.Visual Web Developerから新規にWebアプリケーションプロジェクトを作成

3.S2Containerの解凍ディレクトリにある、Searsar.dll(s2containerbuildnet2.0Seasar.dll)とlog4net.dll(s2containerlibnet2.0log4net.dll)の参照を追加する。

  プロジェクトを右クリック → [参照の追加] → [参照] から対象のDLLを選択する

  ※DLLを移動(プロジェクトディレクトリなど)させて参照を追加する場合は、s2containerbuildnet2.0にあるja-JPディレクトリをSeasar.dllと同じディレクトリに移動させる。

3.Web.configを編集

  (1)<configSection>セクション内にコメントで「S2Container.NET用」と記載のある部分の下の一行(<section name=”seasar” 以下)を追加

  (2)コメントで「S2Container.NET用」と記載のある部分の下<seasar>セクションを追加

   1: <configSections>
   2:     <!-- S2Container.NET用 -->
   3:     <section name="seasar" type="Seasar.Framework.Xml.S2SectionHandler,Seasar"/>
   4:     <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
   5:         (中略)
   6:     </sectionGroup>
   7: </configSections>
   8: <!-- S2Container.NET用 -->
   9: <seasar>
  10:     <configPath>app.dicon</configPath>
  11: </seasar>

 

  (3)<httpModules>セクション内にコメントで「S2Container.NET用」と記載のある部分の下の一行(add name=”S2HttpModule” 以下)を追加

   1: <httpModules>
   2:     <!-- S2Container.NET用 -->
   3:     <add name="S2HttpModule" type="Seasar.Framework.Container.Web.S2HttpModule, Seasar"/>
   4:     <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
   5: </httpModules>

 

4.app.diconファイルの作成

   Web.config内(<configPath>セクション)にて指定したディレクトリに「app.dicon」ファイルを作成する。上記例ではプロジェクトルートディレクトリ。

   プロジェクトを右クリック → [追加] → [新しい項目] から「XMLファイル」を選択するとうまくいく。

   とりあえずファイルの中身は空白(定義のみ)にしておく。

   1: <?xml version="1.0" encoding="utf-8" ?>
   2: <!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container//EN"
   3: "http://www.seasar.org/dtd/components.dtd">
   4: <components>
   5:  
   6: </components>

 

5.Global.asaxファイルの作成

  プロジェクトを右クリック → [追加] → [新しい項目] → [グローバルアプリケーションクラス] を選択

  Application_Startメソッドと、Application_Endメソッドに記述を追加する。

   1: Imports System.Web.SessionState
   2: Imports Seasar.Framework.Container.Factory
   3:  
   4: Public Class Global_asax
   5:     Inherits System.Web.HttpApplication
   6:  
   7:     Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
   8:         ' アプリケーションの起動時に呼び出されます。
   9:  
  10:         'S2Container.NET用
  11:         SingletonS2ContainerFactory.Init()
  12:  
  13:     End Sub
  14:  
  15:     Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
  16:         ' セッションの開始時に呼び出されます。
  17:     End Sub
  18:  
  19:     Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
  20:         ' 各要求の開始時に呼び出されます。
  21:     End Sub
  22:  
  23:     Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e As EventArgs)
  24:         ' 使用の認証時に呼び出されます。
  25:     End Sub
  26:  
  27:     Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)
  28:         ' エラーの発生時に呼び出されます。
  29:     End Sub
  30:  
  31:     Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
  32:         ' セッションの終了時に呼び出されます。
  33:     End Sub
  34:  
  35:     Sub Application_End(ByVal sender As Object, ByVal e As EventArgs)
  36:         ' アプリケーションの終了時に呼び出されます。
  37:  
  38:         'S2Container.NET用
  39:         SingletonS2ContainerFactory.Destroy()
  40:  
  41:     End Sub
  42:  
  43: End Class

6.F5を押してデバッグ実行

   真っ白な画面(Default.aspx)が表示されれば大丈夫だと思う。

 

次回は、Log4netの設定を。

Written by david9142

2009年4月7日 @ 4:39 PM

カテゴリー:

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。