[Squeak-ja: 3593] Seasideでローカルディレクトリのファイルを扱うには

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[Squeak-ja: 3593] Seasideでローカルディレクトリのファイルを扱うには

Sho Yoshida
吉田 翔です.

Seasideでローカルディレクトリにあるファイルを扱いたいのですが,
どのようにすればいいでしょうか.
特に今CSSで以下のような記述をしたときにどうすればいいのか
困っています.

body {
   background: #e5e5dd url(./back.jpg) repeat-y;
   color: #333333;
   margin: 0pt;
   padding: 0pt;
}


自分なりに少し調べてみてWAFileLibraryのSubclassを作
ることで画像を扱えるようですが,Classを使わず扱うことはで
きないのでしょうか.


- - - -
Sho Yoshida
[hidden email]


Reply | Threaded
Open this post in threaded view
|

[Squeak-ja: 3596] Re: Seasideでローカルディレクトリのファイルを扱うには

Masashi Umezawa
こんにちは
梅澤です。

> Seasideでローカルディレクトリにあるファイルを扱いたいのですが,
> どのようにすればいいでしょうか.
> 特に今CSSで以下のような記述をしたときにどうすればいいのか
> 困っています.
>
> body {
>    background: #e5e5dd url(./back.jpg) repeat-y;
>    color: #333333;
>    margin: 0pt;
>    padding: 0pt;
> }
>
>
> 自分なりに少し調べてみてWAFileLibraryのSubclassを作
> ることで画像を扱えるようですが,Classを使わず扱うことはで
> きないのでしょうか.
>

お手軽なのはComanche(KomHttpServer)の機能を使うことです。

(詳しくは
http://www.shaffer-consulting.com/david/Seaside/GettingSoftware/index.html
に記載があります)。

Seasideをストップした後、

| ma seaside |
seaside := KomSeasideJ default.
ma := ModuleAssembly core.
ma serverRoot: (FileDirectory default directoryNamed: 'FileRoot') fullName.
ma alias: '/seaside' to: [ma addPlug: [:request | seaside process: request]].
ma documentRoot: (FileDirectory default directoryNamed: 'FileRoot') fullName.
ma directoryIndex: 'index.html index.htm'.
ma serveFiles.
(HttpService startOn: 9090 named: 'httpd') plug: ma rootModule

という感じで、静的ドキュメントをサーブできるようにして立ち上げ直します。
FileRoot以下にファイルを置けば、通常のWebサーバのようにアクセスできます。

---
[:masashi | ^umezawa]
Reply | Threaded
Open this post in threaded view
|

[Squeak-ja: 3597] Re: Seasideでローカルディレクトリのファイルを扱うには

Sho Yoshida
梅澤さん,ありがとうございます.

設定に関して少しわからないことがあったので教えていただけないで
しょうか.

> ma serverRoot: (FileDirectory default directoryNamed: 'FileRoot')  
> fullName.

serverRoot:とはApacheの設定でよく見かけるserverRoot
と同じものなのでしょうか.

> ma alias: '/seaside' to: [ma addPlug: [:request | seaside process:  
> request]].

alias:to:もApacheの設定のaliasと同じものなのでしょう
か.
そうするとblockのところにdocumentRoot:を記述すればす
ることもできる好きなURLでdocumentRootにアクセスでき
るのでしょうか.

この設定をしたあと
KomSeasideJ stop.
でサーバと止まらなくなりました.
HttpServiceで起動したので,HttpServiceを止めればいいと思っ
たのですが止め方がわかりません.

よろしくお願いいたします.





On 2007/09/11, at 12:15, Masashi Umezawa wrote:

> こんにちは
> 梅澤です。
>
>> Seasideでローカルディレクトリにあるファイルを扱いたいのですが,
>> どのようにすればいいでしょうか.
>> 特に今CSSで以下のような記述をしたときにどうすればいいのか
>> 困っています.
>>
>> body {
>>    background: #e5e5dd url(./back.jpg) repeat-y;
>>    color: #333333;
>>    margin: 0pt;
>>    padding: 0pt;
>> }
>>
>>
>> 自分なりに少し調べてみてWAFileLibraryのSubclassを作
>> ることで画像を扱えるようですが,Classを使わず扱うことはで
>> きないのでしょうか.
>>
>
> お手軽なのはComanche(KomHttpServer)の機能を使うことです。
>
> (詳しくは
> http://www.shaffer-consulting.com/david/Seaside/GettingSoftware/ 
> index.html
> に記載があります)。
>
> Seasideをストップした後、
>
> | ma seaside |
> seaside := KomSeasideJ default.
> ma := ModuleAssembly core.
> ma serverRoot: (FileDirectory default directoryNamed: 'FileRoot')  
> fullName.
> ma alias: '/seaside' to: [ma addPlug: [:request | seaside process:  
> request]].
> ma documentRoot: (FileDirectory default directoryNamed: 'FileRoot')  
> fullName.
> ma directoryIndex: 'index.html index.htm'.
> ma serveFiles.
> (HttpService startOn: 9090 named: 'httpd') plug: ma rootModule
>
> という感じで、静的ドキュメントをサーブできるようにして立ち上げ
> 直します。
> FileRoot以下にファイルを置けば、通常のWebサーバのように
> アクセスできます。
>
> ---
> [:masashi | ^umezawa]

- - - -
Sho Yoshida
[hidden email]


Reply | Threaded
Open this post in threaded view
|

[Squeak-ja: 3598] Re: Seasideでローカルディレクトリのファイルを扱うには

Masashi Umezawa
こんにちは
梅澤です。

> > ma serverRoot: (FileDirectory default directoryNamed: 'FileRoot')  
> > fullName.
>
> serverRoot:とはApacheの設定でよく見かけるserverRoot
> と同じものなのでしょうか.

そうですね。

> > ma alias: '/seaside' to: [ma addPlug: [:request | seaside process:  
> > request]].
>
> alias:to:もApacheの設定のaliasと同じものなのでしょう
> か.
> そうするとblockのところにdocumentRoot:を記述すればす
> ることもできる好きなURLでdocumentRootにアクセスでき
> るのでしょうか.

微妙に違います。ModAliasのコメントを見てみると良いと思います。

> この設定をしたあと
> KomSeasideJ stop.
> でサーバと止まらなくなりました.
> HttpServiceで起動したので,HttpServiceを止めればいいと思っ
> たのですが止め方がわかりません.

HttpServiceに望むメソッドがない場合は、スーパークラスをたどってみると
答えがあったりします。

HttpService serviceOnPort: 9090.
HttpService servicesNamed: 'httpd'.

あたりで、起動したサービスを捕まえられます。捕まえた後でstop(またはunregister)
ですね。

(HttpService serviceOnPort: 9090) ifNotNilDo: [:service | service stop].

では。
---
[:masashi | ^umezawa]
Reply | Threaded
Open this post in threaded view
|

[Squeak-ja: 3599] Re: Seasideでローカルディレクトリのファイルを扱うには

Sho Yoshida
吉田 翔です.

梅澤さんありがとうございます.

もっと探索能力を身に付けないといけないと改めて思いました.




On 2007/09/12, at 11:44, Masashi Umezawa wrote:

> こんにちは
> 梅澤です。
>
>>> ma serverRoot: (FileDirectory default directoryNamed: 'FileRoot')
>>> fullName.
>>
>> serverRoot:とはApacheの設定でよく見かけるserverRoot
>> と同じものなのでしょうか.
>
> そうですね。
>
>>> ma alias: '/seaside' to: [ma addPlug: [:request | seaside process:
>>> request]].
>>
>> alias:to:もApacheの設定のaliasと同じものなので
>> しょう
>> か.
>> そうするとblockのところにdocumentRoot:を記述すれ
>> ばす
>> ることもできる好きなURLでdocumentRootにアクセスでき
>> るのでしょうか.
>
> 微妙に違います。ModAliasのコメントを見てみると良いと思い
> ます。
>
>> この設定をしたあと
>> KomSeasideJ stop.
>> でサーバと止まらなくなりました.
>> HttpServiceで起動したので,HttpServiceを止めればいいと
>> 思っ
>> たのですが止め方がわかりません.
>
> HttpServiceに望むメソッドがない場合は、スーパークラスをたどっ
> てみると
> 答えがあったりします。
>
> HttpService serviceOnPort: 9090.
> HttpService servicesNamed: 'httpd'.
>
> あたりで、起動したサービスを捕まえられます。捕まえた後でstop
> (またはunregister)
> ですね。
>
> (HttpService serviceOnPort: 9090) ifNotNilDo: [:service | service  
> stop].
>
> では。
> ---
> [:masashi | ^umezawa]

- - - -
Sho Yoshida
[hidden email]