月度归档:2008年12月

java.io.CharConversionException: Not an ISO 8859-1

Servlet不能正常显示中文:        

                                String outStr = null;

        if (str == null) {

            outStr = ” 请输入关键字!”;

        

        } else {

            outStr = str;

        }

        res.setContentType(“text/html;charset=gb2312″);

        ServletOutputStream out = res.getOutputStream();

        out.println(““);

        out.println(““);

        out.println(““);

        out.println(outStr);

        out.println(““);

        out.println(““);

    

java.io.CharConversionException: Not an ISO 8859-1 character: 请

    javax.servlet.ServletOutputStream.print(ServletOutputStream.java:89)

    javax.servlet.ServletOutputStream.println(ServletOutputStream.java:242)

    dataBase.searchArticle.doGet(searchArticle.java:34)

    javax.servlet.http.HttpServlet.service(HttpServlet.java:617)

    javax.servlet.http.HttpServlet.service(HttpServlet.java:717

浏览是发生错误:



ServletOutputStream out = res.getOutputStream();

改为:

PrintWriter out = res.getWriter();

就可以了。

Apache支持JSP – 转载

作者:greathack
网址:www.greathack.com
Email:greathack@sohu.com    

转载请保留作者信息

 
一、简要说明:
1、安装所用到的软件:
apache_2.0.55-win32-x86-no_ssl.msi
 
jdk-1_5_0_04-windows-i586-p.exe
 
apache-tomcat-6.0
 
mod_jk_1.2.6_2.0.50.dll
 
2、mod_jk_1.2.6_2.0.50说明:mod_jk_1.2.6_2.0.50 是比较旧的mod_jk,从Apache2.0.59以后,Apache对于mod_jk,有一套新的对应了,详细见Apache网站
 
二、安装Apache
下载完Apache后,双击apache_2.0.55-win32-x86-no_ssl.msi文件。选择同意条款,点Next;在Network Domain的框里填入域名(不带www的),在ServerName填入带前缀的域名(有带www或其他前缀的),在Email Address填入你的Email地址;点选For All Users单选框;然后一路Next。
 
三、安装JDK
双击jdk-1_5_0_04-windows-i586-p.exe文件。一路Next就行了。
 
四、安装Tomcat
Tomcat安装按默认安装即可。
 
五、安装mod_jk
将mod_jk_1.2.6_2.0.50.dll拷贝到Apache安装目录下的modules目录里,重合名为mod_jk.dll
 
六、配置httpd.conf
进入Apache安装目录下,找到conf文件夹,双击进入。用文本打开httpd.conf文件,在文件的最底部加入:
 
NameVirtualHost *:80
<VirtualHost *:80>
    ServerAdmin $Mail_address
    DocumentRoot "$Apache_home\htdocs"
    ServerName $serverName
    DirectoryIndex index.jsp index.htm
</VirtualHost>
# 加载 mod_jk module
LoadModule jk_module "modules/mod_jk.dll"
<IfModule mod_jk.c>
              # workers.properties的地址
              JkWorkersFile $Tomcat_home/conf/workers.properties
             
              # 日志文件
              JkLogFile     $Tomcat_home /logs/mod_jk.log
             
              # Set the jk log level [debug/error/info]
              JkLogLevel    info
             
              # Select the timestamp log format
              JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
             
              # Send *.do,*.jsp,*.xls files to worker named ajp13
              JkMount /*.do ajp13
              JkMount /*.jsp ajp13
</IfModule>
 
你在应用中要把上面的$Tomcat_home改成Tomcat的安装目录;把$Apache_home改成Apache的安装目录;把$serverName改成主机名,没有主机名也可以写成IP地址;把$Mail_address改成你的电子邮箱地址。
 
七、配置workers.properties
在Tomcat安装目录下的conf目录中新建一个文件
workers.properties
workers.tomcat_home=$Tomcat_home
workers.java_home=$Java_home
ps=\
worker.list=ajp13
            
worker.ajp13.port=8009        
worker.ajp13.host=$serverName
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1
 
你在应用中要把上面的$Tomcat_home改成Tomcat的安装目录;把$Java_home改成JDK的安装目录;把$serverName改成主机名,没有设置虚拟主机的也可以写上IP地址。
 
八、配置Tomcat虚拟主机
在Tomcat安装目录下的conf目录中打开server.xml文件,找到</Engine>标签,在它上面加入:
      <Host name="$serverName " appBase="$Apache_home\htdocs"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
 
        <Context path="" docBase="." debug="0"/><!–一定要有这一句,这一句设定当前目录为根目录 –>
 
      </Host>
 
你在应用中要把上面的$Apache_home改成Apache的安装目录;把$serverName改成主机名,没有主机名也可以写成IP地址
注意:Tomcat虚拟主机的目录和Apache虚拟主机的目录一定要是同一个,主机名也一定要相同(即Tomcat中Host标签的appBase属性值要和Apache中VirtualHost标签的DocumentRoot要相同;即Tomcat中Host标签的name属性值要和Apache中VirtualHost标签的ServerName要相同;),只是端口不同而已,一个是80,一个是8080,否则在该问index.jsp时会有问题。
 
九、测试
Apache的安装目录下的htdocs目录中加添加个HelloWorld文件,测试一下:
HelloWorld.jsp:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"; >
<head>
    <title>Hello World! – Tomcat</title>
</head>
<body>
    <form id="form1">
    <div>
        <% out.print ("<h1>Hello World!</h1>");%>
    </div>
    </form>
</body>
</html>
 
打开浏览器,在地址栏输入:http://$serverName/HelloWorld.jsp,把上面的$serverName改成主机名
如果正确输出Hello World!

说明你的配置是正确的,现在你可以在Apache中使用JSP