`

tomcat5.x-6.x 调试与疑难排解一些总结.

阅读更多
1.环境变量设置问题

1.1 java环境变量
    JAVA_HOMe=c:\j2sdk1.6

1.2 Tomcat环境变量
    TOMCAT_HOME=c:\tomcat6

2.端口冲突

    HTTP的8080端口冲突:
    tomcat的HTTP服务的端口默认为8080.
    如果启动报以下错误:
    java.net.BindException:cannot assign requested address:JVM_Bind:8080
    ......
    则需要修改$CATALINA_HOME/conf/server.xml中端口的值,重启tomcat。

    可以用netstat -p tcp 命令查看TCP监听的端口.

3. 中文字符解决方案

3.1 HTML中文编码转换
    head之间加入 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

   或者修改MIME编码:
   <mime-mapping>
   <extension>htm</extension>
        <mime-type>text/html; charset=utf-8</mime-type>
   </mime-mapping>
   <mime-mapping>
   <extension>html</extension>
        <mime-type>text/html; charset=utf-8</mime-type>
   </mime-mapping>

3.2 JSP中文编码
   (1) <%@page language="java" contentType="text/html; charset=utf-8"%>

   (2) request.setCharacterEncoding("utf-8");

   (3) 使用编码过滤器:
      public class CharacterEncodingFilter implements Filter{
             public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws IOException,
                  ServletException{
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
chain.doFilter(request, response);
     }

      } 

      web.xml:配置过滤器。

  (4) web.xml添加如下配置:
     <jsp-config>
         <jsp-property-group>
              <page-encoding>utf-8</page-encoding>
         <jsp-property-group>
     </jsp-config>

  (5) 配置编码过滤参数。
      server.xml中的JspServlet设置中文编码:
      <init-param>
         <param-name>javaEncoding</param-name>
         <param-value>utf-8</param-value>
      </init-param>
     也可以设置SSI、CGI文件的编码参数。

  (6) 修改server.xml.
     在Connector中加入URIEncoding="utf-8".
     <Connector port="80" maxThreads="150" .... URIEncoding="utf-8"/>

4. 调试方法:
 
  4.1 解读日志文件:
      Tomcat的logs目录下基本的日志文件。

  4.2 URL和Http会话:
      $telnet localhost 80
      
     
分享到:
评论
1 楼 chainhou 2010-05-22  
不错,如果楼主把启动时设置内存参数加上就更全了,呵呵

相关推荐

Global site tag (gtag.js) - Google Analytics