蕭秋水的博客


          帶著淡淡的倦意,輕輕的憂惺,宛若遠山含笑迷蒙,但又如閃電驚雷般震人心魄……

          Tomcat的配置--轉載

          • 增加一個虛擬目錄

          server.xml文件中增加
          <Context path="/oicq" docBase="myweb" debug="0" reloadable="true">

          </Context>

          myweb說明其相對webapps的位置,是物理存在的目錄;

          /oicq說明其相對web URL的路徑,是一個虛擬的路徑,如: http://localhost/oicq

          • 配置 JSP及Servlet

          JSP文件直接放在myweb下;

          編譯好的 JavaBean、Servlet放在WEB-INF下的classes目錄,而且包的路徑要與目錄路徑一致。

          • 配置服務器的端口

          server.xml文件的第56行,修改port = “8080” 為你所希望使用的端口號,如:80

          • 配置中文亂碼問題

          server.xml文件中,修改標簽Connector,在最后加入如下Connector標簽最后加入的屬性
          ???? <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'/>

          • web.xml文件的設置

          默認 ( 歡迎)文件的設置

          h:\tomcat4\conf\web.xml中,<welcome-file-list>與IIS中的默認文件意思相同。

          <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>

          如果某文件資源沒有找到,服務器要報404錯誤,按上述配置則會調用H:\tomcat4\webapps\ROOT\notFileFound.jsp。

          如果執行的某個JSP文件產生NullPointException ,則會調用H:\tomcat4\webapps\ROOT\null.jsp

          典型的JSP錯誤頁面應該這樣寫:

          <%@ page isErrorPage=”true”%>
          出錯了:(</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>

          過濾:
          1) 身份驗證的過濾Authentication Filters
          2) 日志和審核的過濾Logging and Auditing Filters
          3) 圖片轉化的過濾Image conversion Filters
          4) 數據壓縮的過濾Data compression Filters
          5) 加密過濾Encryption Filters
          6) Tokenizing Filters
          7) 資源訪問事件觸發的過濾Filters that trigger resource access events
          8) XSL/T 過濾XSL/T filters
          9) 內容類型的過濾Mime-type chain Filter 注意監聽器的順序,如:先安全過濾,然后資源,然后內容類型等,這個順序可以自己定,但最好要合理。

          監聽器的設置

          <listener>
          <listener-class>project4.SALListenerServlet</listener-class>
          </listener>
          監聽器分四種,分別是:
          ServletContextListener :對上下文(全局)對象的創建和銷毀進行監聽
          ServletContextAttributeListener:對上下文對象某一屬性的增加、替換、刪除進行監聽
          HttpSessionListener:對Session的創建和銷毀進行監聽
          HttpSessionAttributeListener:對Session某一屬性的增加、替換、刪除進行監聽

          Servlet 的設置

          <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>

          解釋:
          <servlet>內的<servlet-name> 是一個邏輯名,可以是任何有效的標識名,可以將上述配置中的兩個<servlet-name>HelloServlet</servlet-name>同時改成<servlet-name>qq</servlet-name>,得到的效果相同,注意要"同時改",這樣可以繼續保持對應的關系。

          <init-param>是Servlet初始參數,在Servlet 的init()方法中通過getInitParameter("ip")取得,返回String型數據,

          <servlet-mapping>內的<servlet-name>與<servlet>內的<servlet-name>一一對應,把客戶端對/HeeloServlet的請求對應到<servlet-class>project4.HelloServlet</servlet-class>所指定的位置。

          <url-pattern>/HelloServlet</url-pattern>指在IE url中的請求形式。這里的/ 是相對于當前的web目錄的,如H:\tomcat4\webapps\myweb

          web.xml文件中安全性的設置

          < 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>和<web-resource-name>可以是任意,但最好起一個有意義的名。<auth-constraint>中<role-name>約束了只有哪些角色可以訪問由<url-pattern>指定的資源。

          <http-method>對指定方法的訪問進行限定,未指出的不進行限定。

          <transport-guarantee>指明對轉輸的數據的要求,有三個可選值:NONE,INTEGRAL,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>
          密&nbsp;&nbsp;碼:<input type="password" name="j_password"> </p>
          <input type="submit" value="讓我進去吧!">
          </form>
          其中紅字部分不能更改,并且區分大小寫

          • tomcat-users.xml 設置

          <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>

          定義用戶名和用戶所屬的角色,在安全性訪問中起作用,如Basic,Form等加密方式。

          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 段,為icq這個應用目錄建立一個日志文件;

          Prefix 是日志文件的前綴; suffix 是日志文件的后綴; myweb說明其相對webapps的位置,是物理存在的目錄;

          /icq說明其相對web URL的路徑,是一個虛擬的路徑,如:http://localhost/icq reloadable在開發時比較有用,指自動載入新的Servlet類。

          <Connector className="org.apache.catalina.connector.http.HttpConnector" port="8080" minProcessors="5" maxProcessors="75" ... ... 大概在server.xml中的第55、56行,配置服務器的端口。

          • 配置日志

          日志文件有四個,在jakarta-tomcat-4.0.1\logs目錄下,
          catalina_log在125行catalina_log.2002-06-20.txt 記錄了tomcat服務器啟動的相關信息
          localhost_access_log在180行: 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在213行這個是examples的日志文件

          localhost_log localhost_log.2002-06-20.txt 在190行? ?

          這里記錄了服務器所運行的程序的詳細信息。包括錯誤信息,調試信息等。用如下寫法向這個日志文件寫入調試信息在Servlet中用getServletContext().log("Servlet 中報的錯!"); 或在JSP中用application.log("哈哈,出錯了:("); (ServletContext同application是一回事)

          posted on 2006-09-05 10:09 蕭秋水 閱讀(473) 評論(0)  編輯  收藏 所屬分類: APP_SERVER


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 英吉沙县| 嘉义县| 卢湾区| 岚皋县| 古浪县| 皋兰县| 神农架林区| 洛阳市| 庆云县| 宁国市| 阳朔县| 峨山| 望都县| 黄石市| 揭阳市| 屯昌县| 湄潭县| 广南县| 潼关县| 康马县| 日喀则市| 北碚区| 古浪县| 孝昌县| 习水县| 安丘市| 化州市| 东港市| 黎平县| 广州市| 林州市| 永定县| 台东县| 桃江县| 芜湖县| 建始县| 松潘县| 永登县| 鄂尔多斯市| 库车县| 苏尼特左旗|