常见错误四:Invalid authorization specification
500 Servlet Exception
java.sql.SQLException: Invalid authorization specification: Access
denied
for user: 'hongze@ns.langkey.loc' (Using password: YES)
at org.gjt.mm.mysql.MysqlIO.init(MysqlIO.java:330)
at org.gjt.mm.mysql.Connection.connectionInit(Connection.java:261)
at org.gjt.mm.mysql.jdbc2.Connection.connectionInit(Connection.java:89)
at org.gjt.mm.mysql.Driver.connect(Driver.java:167)
at java.sql.DriverManager.getConnection(DriverManager.java:517)
at java.sql.DriverManager.getConnection(DriverManager.java:177)
at _cnmysql__jsp._jspService(/cnmysql.jsp:5)
at com.caucho.jsp.JavaPage.service(JavaPage.java:74)
at com.caucho.jsp.Page.subservice(Page.java:485)
at com.caucho.server.http.FilterChainPage.doFilter(FilterChainPage.java:176)
at com.caucho.server.http.Invocation.service(Invocation.java:278)
at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:129)
at com.caucho.server.http.RunnerRequest.handleRequest(RunnerRequest.java:338)
at com.caucho.server.http.RunnerRequest.handleConnection(RunnerRequest.java:270)
at com.caucho.server.TcpConnection.run(TcpConnection.java:140)
at java.lang.Thread.run(Thread.java:484)
Resin 2.0.5 (built Thu Nov 15 17:56:24 PST 2001)
原因可能是:
1、源代码中的主机名、数据库名、帐号或者密码输入错误;
2、如果数据库名、帐号、密码均正确,那说明是主机名不匹配;
3、如果使用数据源连库,检查数据源的设置和源代码中名称是否输入正确。
Solution:
1、参见Resin install和Server test两部分;
2、注意:数据库的连接不仅仅是帐号和密码决定的,而是由主机名、数据库名、用户名和密码四个参数决定的。
常见错误五:Invalid authorization specification
500 Servlet Exception
java.lang.AbstractMethodError
at _cnmysql__jsp._jspService(/cnmysql.jsp:11)
at com.caucho.jsp.JavaPage.service(JavaPage.java:74)
at com.caucho.jsp.Page.subservice(Page.java:485)
at com.caucho.server.http.FilterChainPage.doFilter(FilterChainPage.java:176)
at com.caucho.server.http.Invocation.service(Invocation.java:278)
at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:129)
at com.caucho.server.http.RunnerRequest.handleRequest(RunnerRequest.java:338)
at com.caucho.server.http.RunnerRequest.handleConnection(RunnerRequest.java:270)
at com.caucho.server.TcpConnection.run(TcpConnection.java:140)
at java.lang.Thread.run(Thread.java:484)
Resin 2.0.5 (built Thu Nov 15 17:56:24 PST 2001)
原因可能是:
1、你安装的JDK版本太低以至于JDBC版本并不是2.0的;
2、更大的可能性是你的驱动程序不支持JDBC2.0,JDBC只是提供了抽象类接口,它需要驱动程序作为其实体类来具体实现。
解决办法:
1、升级JDK,我的建议是 is j2sdk-1_3_1_01-linux-i386.bin,参见Jvm install部分;
2、替换数据库驱动,你很有可能使用的是mysql_comp.jar ,使用 mm.mysql-2.0.4-bin.jar.zip替代它。
常见错误六:中文乱码
可能的原因:
安装操作系统时候,你没有选择i18n的简体包也没有在源文件中加以处理
解决办法:
1、Html方式,添加如下一行到你的JSP源代码:
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
2、JSP方式一:
<%@ page contentType = "text/html; charSet=gb2312" %>
3、JSP方式二:
一般说来使用Resin作为JSP引擎是不需要本方法的,我就从来都没用到,只有使用象Tomcat之类的东东才可能用到这个繁琐的方法,不过这个方法也有它的好处,就是提高了程序的可移植性,不至于换了系统或者引擎就乱码了。
<%
String chs="这个方法肯定可以!";
byte[] bchs=chs.getBytes();
out.print(new String(bchs,"8859_1"));
%>