RedHatLinux网络服务器构架实务(九)
- 2023-09-25 05:08:12
- 来源:网络
- 在手机上看
扫一扫立即进入手机端
常见错误四:Invalidauthorizationspecification
500ServletException
java.sql.SQLException:Invalidauthorizationspecification:accessdenied
foruser:'hongze@ns.langkey.loc'(Usingpassword:YES)
atorg.gjt.mm.mysql.MysqlIO.init(MysqlIO.java:330)
atorg.gjt.mm.mysql.Connection.connectionInit(Connection.java:261)
atorg.gjt.mm.mysql.jdbc2.Connection.connectionInit(Connection.java:89)
atorg.gjt.mm.mysql.Driver.connect(Driver.java:167)
atjava.sql.DriverManager.getconnection(DriverManager.java:517)
atjava.sql.DriverManager.getConnection(DriverManager.java:177)
at_cnmysql__jsp._jspService(/cnmysql.jsp:5)
atcom.caucho.jsp.JavaPage.service(JavaPage.java:74)
atcom.caucho.jsp.Page.subservice(Page.java:485)
atcom.caucho.server.http.FilterChainPage.doFilter(FilterChainPage.java:176)
atcom.caucho.server.http.Invocation.service(Invocation.java:278)
atcom.caucho.server.http.CacheInvocation.service(CacheInvocation.java:129)
atcom.caucho.server.http.RunnerRequest.handleRequest(RunnerRequest.java:338)
atcom.caucho.server.http.RunnerRequest.handleConnection(RunnerRequest.java:270)
atcom.caucho.server.TcpConnection.run(TcpConnection.java:140)
atjava.lang.Thread.run(Thread.java:484)
Resin2.0.5(builtThuNov1517:56:24PST2001)
原因可能是:
1、源代码中的主机名、数据库名、帐号或者密码输入错误;
2、如果数据库名、帐号、密码均正确,那说明是主机名不匹配;
3、如果使用数据源连库,检查数据源的设置和源代码中名称是否输入正确。
Solution:
1、参见Resininstall和Servertest两部分;
2、注意:数据库的连接不仅仅是帐号和密码决定的,而是由主机名、数据库名、用户名和密码四个参数决定的。
常见错误五:Invalidauthorizationspecification
500ServletException
java.lang.AbstractMethodError
at_cnmysql__jsp._jspService(/cnmysql.jsp:11)
atcom.caucho.jsp.JavaPage.service(JavaPage.java:74)
atcom.caucho.jsp.Page.subservice(Page.java:485)
atcom.caucho.server.http.FilterChainPage.doFilter(FilterChainPage.java:176)
atcom.caucho.server.http.Invocation.service(Invocation.java:278)
atcom.caucho.server.http.CacheInvocation.service(CacheInvocation.java:129)
atcom.caucho.server.http.RunnerRequest.handleRequest(RunnerRequest.java:338)
atcom.caucho.server.http.RunnerRequest.handleConnection(RunnerRequest.java:270)
atcom.caucho.server.TcpConnection.run(TcpConnection.java:140)
atjava.lang.Thread.run(Thread.java:484)
Resin2.0.5(builtThuNov1517:56:24PST2001)
原因可能是:
1、你安装的jdk版本太低以至于JDBC版本并不是2.0的;
2、更大的可能性是你的驱动程序不支持JDBC2.0,JDBC只是提供了抽象类接口,它需要驱动程序作为其实体类来具体实现。
解决办法:
1、升级JDK,我的建议是isj2sdk-1_3_1_01-linux-i386.bin,参见Jvminstall部分;
2、替换数据库驱动,你很有可能使用的是mysql_comp.jar,使用mm.mysql-2.0.4-bin.jar.zip替代它。
常见错误六:中文乱码
可能的原因:
安装操作系统时候,你没有选择i18n的简体包也没有在源文件中加以处理
解决办法:
1、Html方式,添加如下一行到你的JSP源代码:
<metahttp-equiv=“Content-Type“content=“text/html;charset=gb2312“>
2、JSP方式一:
<%@pagecontentType=“text/html;charSet=gb2312“%>
3、JSP方式二:
一般说来使用Resin作为JSP引擎是不需要本方法的,我就从来都没用到,只有使用象tomcat之类的东东才可能用到这个繁琐的方法,不过这个方法也有它的好处,就是提高了程序的可移植性,不至于换了系统或者引擎就乱码了。
<%
Stringchs=“这个方法肯定可以!“;
byte[]bchs=chs.getBytes();
out.print(newString(bchs,“8859_1“));
%>