鍦?
server.xml鏂囦歡涓鍔?br /><Context path="/oicq" docBase="myweb" debug="0" reloadable="true">
</Context>
myweb璇存槑鍏剁浉瀵箇ebapps鐨勪綅緗紝鏄墿鐞嗗瓨鍦ㄧ殑鐩綍錛?
/oicq璇存槑鍏剁浉瀵箇eb URL鐨勮礬寰勶紝鏄竴涓櫄鎷熺殑璺緞錛屽錛?/font>
http://localhost/oicq
JSP鏂囦歡鐩存帴鏀懼湪myweb涓嬶紱
緙栬瘧濂界殑
JavaBean銆丼ervlet鏀懼湪WEB-INF涓嬬殑classes鐩綍錛岃屼笖鍖呯殑璺緞瑕佷笌鐩綍璺緞涓鑷淬?/font>
鍦?/font>
server.xml鏂囦歡鐨勭56琛岋紝淇敼port = 鈥?080鈥?涓轟綘鎵甯屾湜浣跨敤鐨勭鍙e彿錛屽錛?0
鍦?/font>
server.xml鏂囦歡涓紝淇敼鏍囩Connector錛屽湪鏈鍚庡姞鍏ュ涓婥onnector鏍囩鏈鍚庡姞鍏ョ殑灞炴?br />聽聽聽聽 <Connector port="8090"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 enableLookups="false" redirectPort="8443" acceptCount="100"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 debug="0" connectionTimeout="20000"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 disableUploadTimeout="true" URIEncoding='GB2312'/>
聽聽聽聽 <Connector className="org.apache.coyote.tomcat5.CoyoteConnector"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 port="8009" minProcessors="5" maxProcessors="75"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 enableLookups="true" redirectPort="8443"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 acceptCount="10" debug="0" connectionTimeout="0"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 useURIValidationHack="false" protocol="AJP/1.3"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 URIEncoding='GB2312'/>
鍦?/font>
h:\tomcat4\conf\web.xml涓紝<welcome-file-list>涓嶪IS涓殑榛樿鏂囦歡鎰忔濈浉鍚屻?/font>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<error-page>
聽<error-code>404</error-code>
<location>/notFileFound.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.NullPointerException</exception-type>
聽<location>/null.jsp</location>
</error-page>
濡傛灉鏌愭枃浠惰祫婧愭病鏈夋壘鍒幫紝鏈嶅姟鍣ㄨ鎶?span lang="EN-US">404閿欒錛屾寜涓婅堪閰嶇疆鍒欎細璋冪敤H:\tomcat4\webapps\ROOT\notFileFound.jsp銆?
濡傛灉鎵ц鐨勬煇涓?span lang="EN-US">JSP鏂囦歡浜х敓NullPointException 錛屽垯浼氳皟鐢℉:\tomcat4\webapps\ROOT\null.jsp
鍏稿瀷鐨?span lang="EN-US">JSP閿欒欏甸潰搴旇榪欐牱鍐欙細
<%@ page isErrorPage=鈥漷rue鈥?>
鍑洪敊浜嗭細錛?lt;/p> 閿欒淇℃伅: <%= exception.getMessage() %><br>
Stack Trace is : <pre><font color="red">
<%
java.io.CharArrayWriter cw = new java.io.CharArrayWriter();
java.io.PrintWriter pw = new java.io.PrintWriter(cw,true);
exception.printStackTrace(pw);
out.println(cw.toString());
%>
</font></pre>
璁劇疆session 鐨勮繃鏈熸椂闂達紝鍗曚綅鏄垎閽燂紱
<session-config> <session-timeout>30</session-timeout> </session-config>
聽 <filter>
聽 <filter-name>FilterSource</filter-name>
聽 <filter-class>project4. FilterSource </filter-class>
</filter>
聽<filter-mapping>
聽<filter-name>FilterSource</filter-name>
<url-pattern>/WwwServlet</url-pattern>
聽(<url-pattern>/haha/*</url-pattern>)
</filter-mapping>
</filter>
榪囨護錛?/font>
1) 韜喚楠岃瘉鐨勮繃婊uthentication Filters
2) 鏃ュ織鍜屽鏍哥殑榪囨護Logging and Auditing Filters
3) 鍥劇墖杞寲鐨勮繃婊mage conversion Filters
4) 鏁版嵁鍘嬬緝鐨勮繃婊ata compression Filters
5) 鍔犲瘑榪囨護Encryption Filters
6) Tokenizing Filters
7) 璧勬簮璁塊棶浜嬩歡瑙﹀彂鐨勮繃婊ilters that trigger resource access events
8) XSL/T 榪囨護XSL/T filters
9) 鍐呭綾誨瀷鐨勮繃婊ime-type chain Filter 娉ㄦ剰鐩戝惉鍣ㄧ殑欏哄簭錛屽錛氬厛瀹夊叏榪囨護錛岀劧鍚庤祫婧愶紝鐒跺悗鍐呭綾誨瀷絳夛紝榪欎釜欏哄簭鍙互鑷繁瀹氾紝浣嗘渶濂借鍚堢悊銆?/font>
<listener>
<listener-class>project4.SALListenerServlet</listener-class>
</listener>
鐩戝惉鍣ㄥ垎鍥涚錛屽垎鍒槸錛?
ServletContextListener :瀵逛笂涓嬫枃(鍏ㄥ眬)瀵硅薄鐨勫垱寤哄拰閿姣佽繘琛岀洃鍚?br />ServletContextAttributeListener錛氬涓婁笅鏂囧璞℃煇涓灞炴х殑澧炲姞銆佹浛鎹€佸垹闄よ繘琛岀洃鍚?br />HttpSessionListener錛氬Session鐨勫垱寤哄拰閿姣佽繘琛岀洃鍚?br />HttpSessionAttributeListener錛氬Session鏌愪竴灞炴х殑澧炲姞銆佹浛鎹€佸垹闄よ繘琛岀洃鍚?
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>project4.HelloServlet</servlet-class>
<init-param>
<param-name>age</param-name>
<param-value>26</param-value>
</init-param>
<init-param>
<param-name>ip</param-name>
<param-value>192.168.5.65</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>
瑙i噴錛?br />
<servlet>鍐呯殑<servlet-name> 鏄竴涓昏緫鍚嶏紝鍙互鏄換浣曟湁鏁堢殑鏍囪瘑鍚嶏紝鍙互灝嗕笂榪伴厤緗腑鐨勪袱涓?lt;servlet-name>HelloServlet</servlet-name>鍚屾椂鏀規垚<servlet-name>qq</servlet-name>錛屽緱鍒扮殑鏁堟灉鐩稿悓錛屾敞鎰忚"鍚屾椂鏀?錛岃繖鏍峰彲浠ョ戶緇繚鎸佸搴旂殑鍏崇郴銆?
<init-param>鏄疭ervlet鍒濆鍙傛暟錛屽湪Servlet 鐨刬nit()鏂規硶涓氳繃getInitParameter("ip")鍙栧緱錛岃繑鍥濻tring鍨嬫暟鎹紝
<servlet-mapping>鍐呯殑<servlet-name>涓?lt;servlet>鍐呯殑<servlet-name>涓涓瀵瑰簲錛屾妸瀹㈡埛绔/HeeloServlet鐨勮姹傚搴斿埌<servlet-class>project4.HelloServlet</servlet-class>鎵鎸囧畾鐨勪綅緗?
<url-pattern>/HelloServlet</url-pattern>鎸囧湪IE url涓殑璇鋒眰褰㈠紡銆傝繖閲岀殑/ 鏄浉瀵逛簬褰撳墠鐨剋eb鐩綍鐨勶紝濡侶:\tomcat4\webapps\myweb
<
security-constraint>
聽<display-name>test</display-name>
聽<web-resource-collection>
<web-resource-name>Success</web-resource-name>
<url-pattern>/HelloServlet</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
聽</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
聽</auth-constraint>
<user-data-constraint>
聽<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
聽<realm-name>China of Beijing : ) </realm-name>
</login-config>
璇存槑錛?
<display-name>鍜?lt;web-resource-name>鍙互鏄換鎰忥紝浣嗘渶濂借搗涓涓湁鎰忎箟鐨勫悕銆?lt;auth-constraint>涓?lt;role-name>綰︽潫浜嗗彧鏈夊摢浜涜鑹插彲浠ヨ闂敱<url-pattern>鎸囧畾鐨勮祫婧愩?
<http-method>瀵規寚瀹氭柟娉曠殑璁塊棶榪涜闄愬畾錛屾湭鎸囧嚭鐨勪笉榪涜闄愬畾銆?
<transport-guarantee>鎸囨槑瀵硅漿杈撶殑鏁版嵁鐨勮姹傦紝鏈変笁涓彲閫夊鹼細NONE錛孖NTEGRAL,CONFIDENTIAL聽
聽
<login-config>錛?鍐呰鏄庣殑鏄互浣曠鏂瑰紡榪涜韜喚楠岃瘉錛屾湁涓夌鍙夊鹼細 None,Digest,Client-Cert,Basic,Form銆?
<realm-name>錛氬尯鍩熷悕錛屽彲浠ユ槸浣犳兂緇欏鎴風湅鐨勬彁紺轟俊鎭?
鍙︿竴縐嶉獙璇佹柟寮忥細
<login-config>
<auth-method>FORM</auth-method>
聽<form-login-config>
聽<form-login-page>/login.htm</form-login-page>
<form-error-page>/loginError.htm</form-error-page>
</form-login-config>
</login-config>
login.htm鏂囦歡錛?
<form method="POST" action="j_security_check" >
鐢ㄦ埛鍚嶏細<input type="text" name="j_username"> </p>
瀵?amp;nbsp; 鐮侊細<input type="password" name="j_password"> </p>
<input type="submit" value="璁╂垜榪涘幓鍚э紒">
</form>
鍏朵腑綰㈠瓧閮ㄥ垎涓嶈兘鏇存敼錛屽茍涓斿尯鍒嗗ぇ灝忓啓
<tomcat-users>
<user name="tomcat" password="tomcat" roles="tomcat" />
聽<user name="role1" password="tomcat" roles="role1" />
<user name="both" password="tomcat" roles="tomcat,role1" />
<user name="wang" password="tomcat" roles="admin" />
</tomcat-users>
瀹氫箟鐢ㄦ埛鍚嶅拰鐢ㄦ埛鎵灞炵殑瑙掕壊錛屽湪瀹夊叏鎬ц闂腑璧蜂綔鐢紝濡?span lang="EN-US">Basic錛孎orm絳夊姞瀵嗘柟寮忋?
server.xml
<Context path="/icq" docBase="myweb" debug="0" reloadable="true">
<Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_icq_log." suffix=".txt" timestamp="true"/>
</Context>
Logger 孌碉紝涓篿cq榪欎釜搴旂敤鐩綍寤虹珛涓涓棩蹇楁枃浠訛紱
Prefix 鏄棩蹇楁枃浠剁殑鍓嶇紑錛?suffix 鏄棩蹇楁枃浠剁殑鍚庣紑錛?myweb璇存槑鍏剁浉瀵箇ebapps鐨勪綅緗紝鏄墿鐞嗗瓨鍦ㄧ殑鐩綍錛?
/icq璇存槑鍏剁浉瀵箇eb URL鐨勮礬寰勶紝鏄竴涓櫄鎷熺殑璺緞錛屽錛歨ttp://localhost/icq reloadable鍦ㄥ紑鍙戞椂姣旇緝鏈夌敤錛屾寚鑷姩杞藉叆鏂扮殑Servlet綾匯?/font>
<Connector className="org.apache.catalina.connector.http.HttpConnector" port="8080" minProcessors="5" maxProcessors="75" ... ... 澶ф鍦╯erver.xml涓殑絎?5銆?6琛岋紝閰嶇疆鏈嶅姟鍣ㄧ殑绔彛銆?
鏃ュ織鏂囦歡鏈夊洓涓紝鍦?span lang="EN-US">jakarta-tomcat-4.0.1\logs鐩綍涓嬶紝
catalina_log鍦?25琛宑atalina_log.2002-06-20.txt 璁板綍浜唗omcat鏈嶅姟鍣ㄥ惎鍔ㄧ殑鐩稿叧淇℃伅
localhost_access_log鍦?80琛岋細 localhost_access_log.2002-06-20.txt 鐢ㄦ潵璁板綍瀹㈡埛绔闂簡鍝簺璧勬簮錛屾牸寮忓錛?172.28.11.91 - - [20/Jun/2002:13:29:09 8000] "GET /web/WwwServlet HTTP/1.1" 500 149 200 149 鏄湇鍔″櫒鍙嶅簲鐨勭姸鎬佺爜
localhost_examples_log localhost_examples_log.2002-06-20.txt鍦?13琛岃繖涓槸examples鐨勬棩蹇楁枃浠?
localhost_log localhost_log.2002-06-20.txt 鍦?90琛屄?/font>
聽
榪欓噷璁板綍浜嗘湇鍔″櫒鎵榪愯鐨勭▼搴忕殑璇︾粏淇℃伅銆傚寘鎷敊璇俊鎭紝璋冭瘯淇℃伅絳夈傜敤濡備笅鍐欐硶鍚戣繖涓棩蹇楁枃浠跺啓鍏ヨ皟璇曚俊鎭湪Servlet涓敤getServletContext().log("Servlet 涓姤鐨勯敊錛?); 鎴栧湪JSP涓敤application.log("鍝堝搱錛屽嚭閿欎簡錛氾紙"); (ServletContext鍚宎pplication鏄竴鍥炰簨)