首 页 网管技术 病毒木马 网络安全 网站技术
服务器技术 数据库技术 操作系统 存储/编程 技术文档
  你的位置:首 页 > 网站技术 > 正文

Servlet汉字问题解决办法
发布时间:2007-5-24
//要在Linux上编译,JDK1.2,JSWDK1.0.1,
//时区 US-EAST

import java.lang.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
import java.util.*;

public class IsItWorking extends HttpServlet {

public static final String TITLE = "我们来测试 okokokok!!!!";
private static Connection conn = null;

String native2unicode(String s)
{
if(s==null || s.length()==0)
{
return null;
}

byte [] buffer = new byte[s.length()];

for(int i=0;i<s.length();i++)
{
buffer = (byte)s.charAt(i);
}

return new String(buffer);
}

String unicode2native(String s)
{
if(s==null || s.length()==0)
{
return null;
}

char [] buffer = new char[s.length() * 2];

char c;
int j=0;
for(int i=0;i<s.length();i++)
{
if(s.charAt(i)>=0x100)
{
c = s.charAt(i);
byte [] buf = (""+c).getBytes();
buffer[j++] = (char)buf[0];
buffer[j++] = (char)buf[1];
}
else
{
buffer[j++] = s.charAt(i);
}
}

return new String(buffer,0,j);
}

public void service (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html");
ServletOutputStream out = response.getOutputStream();
try
{
Class.forName ("oracle.jdbc.driver.OracleDriver");
}
catch ( Exception e )
{
out.println("Could not establish connection.");
}

out.println("Success Oracle Driver JJJJJJJJJJ<BR>\n");

out.println(TITLE);

byte [] by = TITLE.getBytes("GB2312");
String unicode = new String(by,"8859_1");

out.println(unicode+"<BR>\n");

try
{
try
{
conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.6:1521:ORCL", "expert","expert");
}
catch(SQLException e)
{
out.println("Connect Error<BR>\n");
}

out.println("conn successfully");

Statement stmt = null;
try
{
stmt = conn.createStatement ();
}
catch(SQLException e)
{
out.println("STMT Error<BR>\n");
}

ResultSet rset;
try
{
//rset = stmt.executeQuery ("select modulename from modmethodinter");
/*
//SQL 语句嵌入汉字处理方法。
String szSQL = "insert into test values('测试')";

String szTemp;// = unicode2native(szSQL);

byte [] b = szSQL.getBytes("8859_1");

szTemp = new String(b,"GB2312");
*/

String szSQL = "select name from test";
rset = stmt.executeQuery (szSQL);

String szOut;
String szTemp;

while(rset.next())
{
szTemp = rset.getString("name");
byte [] b = szTemp.getBytes("GB2312");
szOut = new String(b,"8859_1");
out.println(szOut+"<BR>\n");
}
rset.close();

}
catch(SQLException e)
{
out.println("SQL Execute Error<BR>\n");
stmt.close();
conn.close();
return;
}

stmt.close();
conn.close();

out.println("SQL Execute Successfully<BR>\n");
}
catch(Exception e)
{
}

/*
// set content type and other response header fields first
response.setContentType("text/html");

ServletOutputStream out_put = response.getOutputStream();
OutputStreamWriter ow = new OutputStreamWriter(out_put,"8859_1");

try
{
// byte [] b = TITLE.getBytes("GB2312");
// String unicode = new String(b,"8859_1");
//NT out.println(unicode);
//Linux
ow.write(TITLE);
ow.close();
}
catch( UnsupportedEncodingException e)
{
out_put.println("Error!");
}
// write the data
//stockDb db = new stockDb();
*/
}
public void doGet ( HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{

response.setContentType("text/html");
ServletOutputStream out = response.getOutputStream();

out.println("Hello World");

try
{
Class.forName ("oracle.jdbc.driver.OracleDriver");
}
catch ( Exception e )
{
out.println("Could not establish connection.");
}

out.println("Success Oracle Driver<BR>\n");

try
{
conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.6:1521:ORCL", "expert","expert");

out.println("conn successfully");

Statement stmt = conn.createStatement ();

// Select the ENAME column from the EMP table
ResultSet rset = stmt.executeQuery ("insert into test values('测试')");

/*
while(rset.next())
{
out.println("TEST");//(rset.getBinaryStream(1));
}
*/
rset.close();
stmt.close();
conn.close();
}
catch(Exception e)
{
}

}//doGet
}


Documentation is like sex. When it is good, it is very very good. When it is bad, it is better than nothing.
-- Bruce Perence
[关闭窗口] [打印本页]
 相关文章
·JS脚本加密方法 2007-5-24
·十天学会ASP.net之第一天 2007-6-14
·十天学会ASP.net之第二天 2007-6-14
·十天学会ASP.net之第三天 2007-6-14
·十天学会ASP.net之第四天 2007-6-14
·十天学会ASP.net之第五天 2007-6-14
 本栏推荐
·十天学会ASP.net之第十天
·十天学会ASP.net之第九天
·十天学会ASP.net之第八天
·十天学会ASP.net之第七天
·十天学会ASP.net之第六天
·十天学会ASP.net之第五天
·十天学会ASP.net之第四天
·十天学会ASP.net之第三天
·十天学会ASP.net之第二天
·十天学会ASP.net之第一天
网站地图 - 关于我们 - 广告服务 - 联系我们 - 法律声明 - 服务条款 - 隐私声明 - 帮助中心
Copyright © 2004~2007 QINGDAOLIFE.COM All Rights Reserved
本站信息仅供参考,不能作为诊断及治疗的依据
版权所有 青岛生活网