可能是你的resin配置有问题,打开resin下的conf,把resin.conf(文本编辑器打开)下的classpath改一下试试,我在http://www.csdn.net/expert/topic/109/109651.shtm中有回答
解决方案 »
- Enumeration<String> 和 Parameter
- javaeetutorial5例子如何运行?
- 框架问题
- 执行这段代码,返回HTTP Status 500,啥原因。。
- spring jdbc数据库怎么没有插入数据,马上给分!!!
- 多个文件上传,并显示文件名(急)
- JS 求救 INPUT id="up_file" type="file" 难度很大!!!。
- window.returnValue 可否返回多个值?如何来做??高手请进!
- 如何在JSP中实现根据变量创建一个MYSQL的数据表,这样为什么不行?代码如下:
- java项目里面javascript打开页面时不执行,必须刷新一下才执行
- 怎么实现两个FRAME之间的通讯???(就像此论坛)
- Servlet 能知道当前绝对路径吗?
autoexec.bat
文件与bean是要放在某个目录下,要放到自己的目录下,往往要设置。
<%
String Driver = jdbc.getLocalDriverStr(); /* Jdbc驱动器 */
String URL = jdbc.getURL(jdbc.getLocalURLStr());
String Driver_R = jdbc.getRemoteDriverStr(); /* Jdbc驱动器 */
String URL_R = jdbc.getURL(jdbc.getRemoteURLStr());
%>
package hem;import java.io.*;
import java.sql.*;public class config
{
String RemoteURLLine;
String LocalURLLine;
String LocalProtocol;
Connection LocalConnection = null;
Statement LocalStatement = null;
Connection RemoteConnection = null;
Statement RemoteStatement = null;
boolean UseRemoteDB = true;
public config()
throws Exception
{
try
{
FileInputStream inDatabase = new FileInputStream("/config.txt");
int databaseBytes = inDatabase.available();
byte inDatabaseBuf[] = new byte[databaseBytes];
int bytesRead = inDatabase.read(inDatabaseBuf,0,databaseBytes);
LocalURLLine = new String(inDatabaseBuf);
}
catch(Exception e)
{
System.out.println("本地数据库配置文件出错!");
}
try
{
FileInputStream inDatabase = new FileInputStream("/remote.txt");
int databaseBytes = inDatabase.available();
byte inDatabaseBuf[] = new byte[databaseBytes];
int bytesRead = inDatabase.read(inDatabaseBuf,0,databaseBytes);
RemoteURLLine = new String(inDatabaseBuf);
}
catch(Exception e)
{
System.out.println("远程数据库配置文件出错!");
}
/*
FileReader IniFile;
IniFile = new FileReader("/interhome.conf");
LineNumberReader IniFileLines = new LineNumberReader(IniFile);
RemoteURLLine = IniFileLines.readLine();
LocalURLLine = IniFileLines.readLine();
*/
//String Driver = "oracle.jdbc.driver.OracleDriver"; /* Jdbc驱动器 */
//String Driver = GetSubString(LocalURLLine,1,',');
//Class.forName(Driver);
}
public String getLocalDriverStr()
{
return GetSubString(LocalURLLine,1,',');
}
public String getLocalProtocol()
{
return GetSubString(LocalURLLine,2,',');
}
public String getRemoteDriverStr()
{
return GetSubString(RemoteURLLine,1,',');
}
public String getLocalURLStr()
{
return LocalURLLine;
} public String getRemoteURLStr()
{
return RemoteURLLine;
} public Connection getRemoteConnection()
throws SQLException
{
return DriverManager.getConnection(getURL(RemoteURLLine));
} public Connection getLocalConnection()
throws SQLException
{
return DriverManager.getConnection(getURL(LocalURLLine));
} public String getURL(String DBURLLine)
{
String driver;
String Protocol;
String Port;
String Host;
String User;
String Password;
String Database; Protocol = GetSubString(DBURLLine,2,',');
Host = GetSubString(DBURLLine,3,',');
Port = GetSubString(DBURLLine,4,',');
Database = GetSubString(DBURLLine,5,',');
User = GetSubString(DBURLLine,6,',');
Password = GetSubString(DBURLLine,7,',');
return Protocol+":"+User+"/"+Password+"@"+Host+":"+Port+":"+Database;
} String GetSubString(String DBURLLine,int SubNum, char Sign)
{
int CharIndex1 = -1;
int CharIndex2 = 0; for (int i = 1; i<SubNum; i++)
{
CharIndex2 = DBURLLine.indexOf(Sign,CharIndex1+1);
CharIndex1 = CharIndex2;
} CharIndex2 = DBURLLine.indexOf(Sign,CharIndex1+2);
if (CharIndex2 < 0)
{
return DBURLLine.substring(CharIndex1+1);
}
else
{
return DBURLLine.substring(CharIndex1+1,CharIndex2);
}
}
public void OpenDB()
throws Exception
{
if (LocalConnection == null)
{
LocalConnection = getLocalConnection();
if (LocalStatement != null)
LocalStatement.close();
LocalStatement = LocalConnection.createStatement();
}
LocalConnection.setAutoCommit(true); if (UseRemoteDB)
{
if (RemoteConnection == null)
{
RemoteConnection = getRemoteConnection();
if (RemoteStatement != null)
RemoteStatement.close();
RemoteStatement = RemoteConnection.createStatement();
}
RemoteConnection.setAutoCommit(true);
}
}
public void OpenDBCommit()
throws Exception
{
if (LocalConnection == null)
{
LocalConnection = getLocalConnection();
if (LocalStatement != null)
LocalStatement.close();
LocalStatement = LocalConnection.createStatement();
}
LocalConnection.setAutoCommit(false); if (UseRemoteDB)
{
if (RemoteConnection == null)
{
RemoteConnection = getRemoteConnection();
if (RemoteStatement != null)
RemoteStatement.close();
RemoteStatement = RemoteConnection.createStatement();
}
RemoteConnection.setAutoCommit(false);
}
}
public void CloseDB()
throws Exception
{
if (LocalStatement != null)
{
LocalStatement.close();
LocalStatement = null;
}
if (LocalConnection != null)
{
LocalConnection.close();
LocalConnection = null;
} if (UseRemoteDB)
{
if (RemoteStatement != null)
{
RemoteStatement.close();
RemoteStatement = null;
}
if (RemoteConnection != null)
{
RemoteConnection.close();
RemoteConnection = null;
}
}
}
}
主要原因是 scope="session" ,或者你的 javabean有问题
Internal Servlet Error:javax.servlet.ServletException: javadb/tjavabean
at java.lang.Throwable.(Throwable.java:96)
at java.lang.Exception.(Exception.java:44)
at javax.servlet.ServletException.(ServletException.java:161)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:399)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
at org.apache.tomcat.core.Handler.service(Handler.java:286)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:210)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
at java.lang.Thread.run(Thread.java:498)Root cause:
java.lang.NoClassDefFoundError: javadb/tjavabean
at java.lang.Class.newInstance0(Native Method)
at java.lang.Class.newInstance(Class.java:254)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.load(JspServlet.java:116)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:154)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:164)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:391)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
at org.apache.tomcat.core.Handler.service(Handler.java:286)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:210)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
at java.lang.Thread.run(Thread.java:498)
---------------------------------------------------------------------
下面是我的代码:
---------------------------------------------------------------------
javadb.jsp:<%@ page contentType = "text/html; charset=gb2312" %>
<%@ page import = "java.sql.*" %>
<jsp:useBean id="jdb" class="javadb.tjavabean" scope="session" />
<html>
<head>
<title>Test JDBC for MS SQL Server</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<!--
<jsp:plugin type="applet" code="TJavaDB.class" codebase="/jsp" jreversion="1.3" width="200" height="75">
<jsp:fallback> Your browser doesn't support OBJECT or EMBED </jsp:fallback>
</jsp:plugin>
-->
<%
/*
ResultSet rset = jdb.Execute();
out.println( rset );
//*/
jdb.Execute();
%>
</body>
</html>
-----------------------------------------------------------
tjavabean.java:package javadb;import java.io.*;public class tjavabean
{
public tjavabean()
{
MsgStr = "HelloWorld !";
}
public void Execute()
{
System.out.println( MsgStr );
}
String MsgStr;
}
对于tomcat 3.2.1,如果是在用户自建的虚拟目录中使用JSP,则这个虚拟目录中应该建立WEB-INF目录,然后再WEB-INF目录下建立classes目录,JSP中需要引用的JavaBeans的class都存放于这个WEB-INF\classes目录中