$Id: readme,v 1.8.2.20 2001/05/11 22:44:32 marcsaeg Exp $

                           [Xm[g:
                           =======================
                           TOMCAT o[W 3.2.2
                           =======================


0.  ڎ:

    1.  ͂߂
    2.  Tomact ̃CXg[Ǝs
    3.  Tomcat gpAvP[V̊J
    4.  Tomcat: ߋA݁AĖ
    5.  ̃[X̐V@\
    6.  m̃oOƖ_
    7.  Abvf[gł̏Cƒǉ

=============================================================================
1.  ͂߂

Tomcat ́AServletRei JavaServer Pages(tm)̎̈łBPƂœ
Aȉ̂悤ȗL Web T[oƈꏏɓ삳邱 ł܂B
- Apache, o[W 1.3 ȍ~
- Microsoft Internet Information Server, o[W 4.0 ȍ~
- Microsoft Personal Web Server, o[W 4.0 ȍ~
- Netscape Enterprise Server, o[W 3.0 ȍ~

gp_(gbvfBNgɂ LICENSE t@Cł)ǂł
 B͂̃[XɊ܂܂邷ׂẴ\tgEFAɓKp܂B

Tomcat 3.2.2 ̓oOC[XłB̃[Xł͐V@\͒ǉĂ
܂Bo[W 3.2.2 ŏCm̃oO 7.1 ͂ɏĂ܂B
=============================================================================
2.  Tomcat ̃CXg[Ǝs

Tomcat ɂ́AJRE 1.1 ȍ~ɏĂ Java Runtime Environment KvłB
ɂ Java2 vbgtH[VXe܂܂܂BAvP[VJ
悤Ƃꍇɂ́AJava Development Kit 1.1 ȍ~̊Ɋ܂܂悤 Java 
RpCKvłBɂ Java2 ɏ JDK ܂܂܂B

Tomcat ̃CXg[ƎsɂĂ̏ڂ́ATomcat ̔zz𓀂
fBNg̉ɂ "doc/uguide/tomcat_ug.html" uEUłB
(: {ł́A"doc-jp/uguide/tomcat_ug.html"łB)

=============================================================================
3.  Tomcat gpAvP[V̊J

Tomcat gpServlet JSP x[X̃AvP[VJۂ̕⑫
́AAvP[VJҗp̃KChɋLĂ܂BTomcat ̔zz𓀂
fBNg̉ɂ "doc/appdev/index.html" uEUłB
(: {ł́A"doc-ja/appdev/index.html"łB)

=============================================================================
4.  TOMCAT: ߋA݁AĖ

- o[W 3.0 (1999N12[X) Tomcat ̍ŏ̃[XłBJava
  ServletJSP̎dl̎ɉAŏ Apache RlN^Ă܂B

- Tomcat 3.1 (2000N4[X) ŁAApache Ƃ̐ڑPANetscape  IIS
  WebT[õRlN^T|[g܂B܂AWAR t@C̃T|[gA
  Servlet̎ēǍA JSP y[WOɃRpCĂ߂̃R 
  }hCc[(jspc)ǉ܂BŌɁAo[W 3.1ł́AR[h 
  ̍č\ɂœ_𓖂ĂĂ܂B(W[AN[AbvAR[h\
  AgpĂȂR[h̍폜AJ2EEdl̃R[h̕)

- Tomcat 3.2 ́A܂ptH[}X̃`[AbvȂ܂Aɂ
  ̐V@\ǉ܂B

- Tomcat 3.2.1 ̓ZLeB̂߂̍XVłBڍׂ 7.3͂ĂB

- Tomcat 3.2.2 ̓oOtBbNX[XłB7.1͂ɂ̃o[WŏC
  _qׂĂ܂B

- Tomcat 4.0 ́ATomcat 3.xƂ͓ƗĊJĂ܂BCatalina A[LeN`
  ɊÂĂATomcat 3.x ̃A[LeN`Ƃ͂ȂĂ܂B
  ɁATomcat 4.0  Servlet 2.3  JSP 1.2 dl̃t@Xڎw
  ܂B

=============================================================================
5.  ̃[Xł̐V@\

5.1 Docbase ƃt@Cx[X̃[JC[[V

Tomcat 3.2.2 ́AIɃNCAgƃT[õP[ɊÂāAv[
JCYꂽ\[Xփ}bsOiT|[g܂B[JCY
Reg͈̃P[ɂ̃fBNggp(Docbase)A܂
́AP[肷t@CtĈ̃fBNgɓ(t@Cx
[X)Ƃɂ\܂B

̋@\̏ڂ doc/tomcat-localization-how.html ɂ܂B

=============================================================================
6.  m̃oOƖ_

6.1 Windows ł Document Root ƂĂ̐΃pX̎gp

TOMCAT_HOME/conf/server.xml t@CŁAdocBase ɑ΃pX΃pX
錾邱Ƃł܂BWindows VXeŐ΃pXgpꍇ
́ÃvbgtH[ł Java ̐΃pX̒`ɏ]āAhCu
܂߂Ȃ΂Ȃ܂B

    ǂ:  c:\mydirectory\mydocbase
    ǂ:  c:/mydirectory/mydocbase
    :   \mydirectory\mydocbase
    :   /mydirectory/mydocbase

Unix ł́A΃pX̓XbV('/')Ŏn܂Ȃ΂Ȃ܂B

6.2 ReiǗɂZLeB

Tomcat 3.2 ́AServlet APIdl o[W2.2 11͂ŏqׂĂReiǗ
ɂZLeBĂ܂B̎ɊւẮAȉ̋Lqɖڂʂ
ĂB

- BASICF؂ƃtH[x[X̔F؂͐ɓ삷͂łBɊւoO
   <http://jakarta.apache.org/site/bugs.html> ɕ񍐂ĂB 
  eXgAvP[V͉URLŒ`ی̈Ă܂B

	http://localhost:8080/examples/jsp/security/protected

   $TOMCAT_HOME/conf/tomcat-users.xml œK؂Ȍ^悤ɒ
  `Ă郆[Uł΁ANłANZXł܂BftHgł̓tH[
  x[X̔F؂gĂ܂B AĂ݂Ǝvl̂߂
  BasicF؂̐ݒRgAEgԂŏĂ܂B

  x: Basic F؂́AC^[lbg₻̑̈SłȂlbg[NԂ
  gpʓIȃZLeBƂĂ͓KĂ܂BȂȂ΁ANG
  XgɃ[UƃpX[h̓GR[hĂÍꂸɑM
  邩łB

- DIGEST F؂ HTTPS NCAgF(. SSL)͂̃[Xł̓T|[
  gĂ܂B

6.3 Welcome t@Cɂ RequestDispatcher.include() ̎gp
    [Bug Report #160]

L̂ԈẽX|X𐶂܂:

- hLg[gȉɃTufBNgĂB
  ( "subdir/").

- URL ł̃TufBNgNGXgɕ\
  悤ɐݒ肵 welcome t@CÃTuf
  BNgɂB( "index.html")

- RequestDispatcher  "/subdir"  "/subdir/" 
  NGXgA̒ include() ĂтB

"/subdir"  "/subdir/"  <jsp:include/> Ŏw肵A
肪N\܂B

@́ARequestDispatcher  "/subdir/index.html" ̂悤ɁAȂ
\t@C̊Sȑ΃ReLXgpXLq邱ƂłB

6.4 Servlet̎[h

Tomcat 3.2 ́A( WEB-INF/classes fBNg WEB-INF/lib fBNg
ɂ JAR t@C烍[hꂽ)ServletNXɑ΂ăNGXg
ɁÃNXύXĂꍇɂ́AIɃ[hs
@\܂ł܂B̋@\͎IȂ̂łASɋ@\Ȃ
m܂BɃNGXgServletȊÕNXύXĂANX
[h܂B --̃NX̕ύX𔽉f邽߂ɂ́A
TomcatċNKv܂B

"conf/server.xml" t@C <Context> vf reloadable="true"̑
邱ƂŁA[hLɂ邱Ƃł܂BA[
h@\͐iŃAvP[Vɂ͂߂łȂƂɒӂĂB
ȂȂ΁A͎IȂ̂łANGXgƂɕKvȃ`FbN
s邽߂ɗ]vȃI[o[wbh邩łB

6.5 Windows 95/98 ł "Out of environment space" G[̖h~

̃G[́AftHg̊ϐp̗eʂ Tomcat s邽߂ɕs
\ȏꍇɂ悭N܂Bł́Ah~邢̕@
Ă܂B

   A. Tomcats邽߂ɁAMS-DOSvvggĂꍇ́AvO
       -> MS-DOS vvgsĂB^Cgo[̍ɂ
       MS-DOS ACRENbNāAj[̈ԉɂvpeB
      IĂBMS-DOS vvg̃vpeB_CAOŁA
      [^uI܂B"Initial environment:"tB[h̒ɁA\
      ȑ傫͂܂B悭킩Ȃꍇ́A3072 炢ŏ\
      łBOK NbN MS-DOS vvgEBhEĂ
      BvO -> MS-DOS vvgĂюsāATomcat C
      Xg[fBNgɈړĂB܂ݒ肵Ă
      ꍇ́AJAVA_HOME ϐݒ肵ĂBŁA"Out
      of environment space" G[ȂɁA"bin\startup" 
      "bin\shutdown" ŁATomcat ̎sƒ~ł͂łB

   B. startup.bat̂悤ȃob`t@C_uNbN邱ƂTomcat
      sꍇ́AWindows Explorer ł]݂̃ob`t@CE
      NbNĂvpeBIāAMS-DOS vvg̃vpeB
      _CAOJĂB[^uIŁA"Initial
      environment:" ŏ悤ɐݒ肵܂BvO^u
      "Close on exit" I܂B̌ɁAOK NbN
      ĂB̐ݒ肪ȂꂽV[gJbgfB
      NgɓÕob`t@CƂčł傤BŁA
      "Out of environment space" G[ȂɁAV[gJbgob`t@
      C_uNbN邱Ƃł͂łBstartup.bat 
      shutdown.bat ̕Ŏsꍇɂ́Aꂼ̃t@Cɂ
      ďL̐ݒsKv܂BJAVA_HOMEݒ肷Kv
      ܂B́Aautoexec.bat  startup.bat 
      shudown.bat t@CgɁA"SET JAVA_HOME=JDK ̃pX" ǉ
      ΂ł܂B 

6.6 ׂĂOSURL̑啶Eʂ悤ɂȂ܂B

Tomcat 3.2 AׂĂOSURL̑啶Eʂ悤ɂȂ
܂B́A啶EʂȂt@CVXegĂ
WindowsȂǂOS܂ł܂B

"non-portable"WebAvP[VA܂啶EvĂ
ȂAvP[V́A啶EʂȂOS Tomcat 3.1
͓삵܂ATomcat 3.2ł͈ڐAɖ肪邱Ƃ炩ɂȂł
B

ɂAꌩURLAۂɂ͐ȂƂƂN
蓾܂BWindows Explorer ł́AMS-DOS 8.3tH[}bgɏ]fB
NǵA"tH[}bgꂽ"Ogpĕ\邩܂B
Ƃ΁A"MYDIR"Ƃ̃fBNgA"Mydir"ƕ\邩
BA"http://localhost/mysite/Mydir/index.jsp" ̂悤URL
́A"File Not Found" Ԃł傤BȂȂ΁AURL
"http://localhost/mysite/MYDIR/index.jsp" łB"not found"Ƃ
悤ȕsvcURLA啶E̊ԈႢmFĂ
BWindows Explorer ̃vpeB_CAOAMS-DOS EBhEŁA
t@CƃfBNg̎ۂ̑啶EmFĂB

IIŜ悤ȑ啶EʂȂWebT[oƑgݍ킹āAÓIȃR
ec񋟂邽Tomcat gpĂꍇɂ́Aɖ肪N
\܂BWebT[óAURL̑啶EԈĂ悤
ȐÓIȃy[W񋟂邱Ƃł܂BA̐ÓIȃy[W 
Tomcat 񋟂郊\[Xւ̑΃N܂łꍇɂ́AN
NbNɁATomcatő啶EԈĂ邽߂ɁA\[X
ȂƂG[ł傤B

6.7 ꂽWebRlN^p̐ݒt@C

NɁA`ꂽReNXg𔽉f邽߂ Tomcat ͕
"tomcat-apache.conf" ̂悤Ȑݒt@C𐶐܂BA
ꂽt@ĆAWebAvP[VzuLqt@C(web.xml)̂
Ă̐ݒ𔽉f킯ł͂܂BWebT[o̐ݒt@C̒ɁA
ڊ֘AݒKv܂B

 Tomcat 3.2 WebRlN^̐݌v̌EłATomcat 4.0ł
MOD_WARP RlN^𓱓đ΍􂷂\łB

6.8 tH[x[X̃OČE

<form-login-page>  <form-error-page>Ŏw肵y[WZLeB
ɂĕی삳ꂽ̈ɂꍇɂ́ATomcat 3.2 ͂\ł
܂B̖̉eƂẮAtH[x[X̃OCgpĂ
ƂɁAWebAvP[Vׂ̂Ăی삷邽߂ "/*" ƂURLp^[
gpłȂƂ܂B

ƂẮAtH[OCy[WƃG[y[WWebAvP[V
̃[gfBNgɒuÂׂẴy[WA܂͕̃T
ufBNgɒuAăZLeBTufBNgی
悤ɐݒ肷邱ƂłB

6.9 hLgx[XpX̌E

Tomcat 3.2 ́A<Context> fBNeBuł́Aȉ̂悤 SMB pX
T|[g邱Ƃł܂B

        <Context path="/ctx" docBase="\\machine\share\path" />

A̕@Tomcat 3.1̓T|[gĂ܂ATomcat 4.0T|[
gĂ܂B@́A"\\machine\share"Ƀlbg[NhCu
蓖ĂĂAȉ̂悤ɃReLXg`邱ƂłB

        <Context path="/ctx" docBase="r:\path" />

"r:"Asharewlbg[NhCułB

6.10 \[XpX URL GXP[v܂ނƂłȂ

javax.servlet.Context.getResource() 
javax.servlet.Context.getResourceAsStream() ɓnpXɂ %HH ̌` URL
GXP[v܂ނƂł܂BURLGXP[v܂ރpXɑ΂
null Ԃł傤B

6.11 AJP12  SSL

APJ12 vgR͈SȃgX|[g( SSL)ɂ郊NGXg𔻕ʂ@\
Ă܂BTomcat  443 |[gɑ΂邷ׂẴNGXgSȂ̂Ƃ
ȂAURL XL[ HTTPS ɐݒ肵܂B̑SẴ|[gɑ΂郊NGXg͈
SłȂ̂Ƃ݂ȂAURLXL[} HTTP ɐݒ肷ł傤BAJP13 vgR
̖͂͂܂B

===============================================================================
7.  Abvf[gł̏Cƒǉ

7.1 [X 3.2.2 ł̏Cƒǉ

̏͂͂̃[XŏCꂽoO𖾂炩ɂ܂BɉāA
}Ci[ȃoȌCiʂčs܂B

hLg
  - How To hLgƃ[U[YKCh̍XVB

Servlet
  - vꂽURIɃ}b`vtBbNXȂꍇ̖[v̏CB
    ݂ 404 G[Ԃ܂B
  - 荞܂ꂽServlet UnavailableException 悤ɂȂ܂B
  - [ǓĕۂĂ܂B (#757)
  - ZLeB}l[WgĂƂɁAforward()  include() ɑ
    ăANZXRg[gp悤ɂȂ܂B
  - security-contraints ̒ url-patterns Kɉ߂悤ɂȂ܂B
    (#567)
  - Interbase  Sybase ASE 11.9.2 ɂF؂̏CB
  - SSL gpĂƂAreqest.getPort() |[gԂ悤ɂȂ
    B (#743)
  - JSP ̃\[XJ̏CB (#619)
  - ServletRequest.getProtocol()  CRLF ܂ނȂB (#620)
  - psuedo-random number generator ̏PAZbV𐶐
    ̃NGXg̃X|X^CǂȂ܂B
  - forward() gpZbVgbLȌCB (#504)
  - getSession() NGXgꂽZbVID㏑Ă܂ƁA
    Ɋ֘AURL̏CB (#160)
  - load-on-startup servler ̃[hs̃G[|[g̉PB (#489)
  - ÓIt@C( .html)Aweb.xml  <error-page>^O location Ƃ
    gƂł悤ɂȂ܂B (#291)
  - ServletpX path info URLGR[hꂽf[^KɃfR[h
    悤ɂȂ܂B (#657)
  - HttpServletRequest.encodeURL() AAJ[܂݁AANG[XgO
    ܂܂Ȃ URL KɃGR[h悤ɂȂ܂B(#1182)
  - o[`zXgŃG[y[W삷悤ɂȂ܂B
  - ServletRequest.getRemoteHost() (Kvł)[gzXg肷邽
    ߂ DNS bNAbvs悤ɂȂ܂BdlŗvĂ悤ɁA
    ̃bNAbvsꍇɂ́A\bh̓[gzXg IP AhX
    Ԃ܂B

Jasper
  - UTF-8 ł͂Ȃ UTF8 w肵 UnsupportedEncodingException ̏CB
  - fobOt̃RpC̃T|[gB
  - JSP \[Xt@C菜ꂽꍇAꂽt@C͎菜A
    ̗̌v 404 G[Ԃ܂B (#698)
  - Õ^Ȏgȏ゠Ƃ̃RpCG[̏CB (#540)
  - include y[W 8859-1 GR[fBOłȂ̃T|[gB
  - ^OCuȂ߂ɋNRpCs̃G[|[g̉PB
  - y[W̕ҏW̎sNXbh̏CB (#44)
  - ftHgLN^[GR[fBȌCBftHgLN^[Zb
    g ISO-8859-1 ɂȂ܂B (#285)
  - jsp:plugin ͐WJĂ܂łB (#467)
  - jpsInit() \bhsĂԁA͑OɁA JSP y[W
    {̂sĂ܂\oOC܂B(#1280)

RlN^
  - s content-length ł ajp12 ̖[v̏CB (#264)
  - Tomcat RlN^RlNVۂ̖[v̏CB (#510)
  - apj13 vgŔA}`p[gtH[GR[fBOƃt@CAbv
    [h̃T|[gǉA삷悤ɂȂ܂B
  - [hoT[ŃNbL[ZbVIDǂނ悤ɂȂ܂B
    (#603)
  - NCAgf[^󂯎ȂɁAHTTPRlNV̓^CA
    Eg悤ɂȂ܂B (#1006)
  IIS
  -  Jns̃G[L^̉PB
  NetWare
  -  NetWare 5.1  netbuf_getbytes() T|[gĂȂ̏CB


7.2 Tomcat 3.2.2 ŉꂽZLeB̐Ǝ㐫

7.2.1 vgRȂ HTTP v

vgRw肳ĂȂ HTTP vɑ΂āAJSP t@C̏ĂȂ
\[XԂĂ܂Ƃ܂BƂ

GET /examples/jsp/num/numguess.jsp 

 numguess.jsp t@C̃\[XԂĂ܂B

7.2.2

Tomcat 3.2.2 x[^3Õ[Xł́AURIR|[lgxfR[h邱
ƂĂ܂B̖ JDK 1.3.0 ȍ~gĂ鎞ɂ̂ݔ܂B
dfR[h͈ȉ̂悤 URL 𐶐Ă܂܂B

http://localhost:8080/%252e%252e/%252e%252e/%00.jsp

WebAvP[V̊OɂfBNgXgNĂ܂܂B
dfR[h̑̃o[Wł́AEFuAvP[V̊Oɂt@
C̒g邱ƂłĂ܂܂B


7.3 Tomcat 3.2.1 ŉꂽZLeB̐Ǝ㐫

7.3.1 /WEB-INF  /META-INF fBNgɂ郊\[X̕ی

ServletdĺA WebAvP[VA[JCu /WEB-INF  /META-INF fBN
gɂ郊\[XAServletReiڃNCAgɒ񋟂邱Ƃւ
܂BTomcat 3.2 ł́ÂƂ͎̂悤 URLAzLqqł͂ȂAG
[y[WԂƂӖĂ܂B

   http://localhost:8080/examples/WEB-INF/web.xml

ATomcat 3.2ɂ́Aȉ̂悤 URL NCAgvꍇɁA
\Ǝ㐫݂܂B

    http://localhost:8080/examples//WEB-INF/web.xml

("WEB-INF" ̑OɁA2dɃXbV邱ƂɒӂĂ) ̐Ǝ㐫́A
Tomcat 3.2.1ŏC܂B


7.3.2 \[XR[h\Ǝ㐫

Tomcat 3.2 ƋɔzzĂTvAvP[Vɂ́AJSP y[W̗
ă\[XR[h\郁JjY܂܂Ă܂B̃JjYA
WEB-INF  META-INF fBNg̏dvȏ̕\̐蔲邽
ɎgƂł܂B̐Ǝ㐫͎菜܂B

[: ͉͓ |󂵂܂B{ɑ΂Rg΁A
jajakarta-report@nekoyanagi.com ɑĂB]
