日期:2014-05-20  浏览次数:20707 次

Servlet不能编译通过!!!!!!!!
请各位帮我看看问题出在哪?谢谢啦!

package test;
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class DBConnectionManager extends HttpServlet{
private DBConnectionManager connMgr;
public void init(ServletConfig conf)throws ServletException{
super.init(conf);
connMgr=DBConnectionManager.getInstance();}
public void service(HttpServletRequest req,HttpServletResponse res)throws IOException{
res.setContentType("text/html");
PrintWriter out=res.getWriter();
Connection con=connMgr.getConnection("dbname");
if(con==null){
out.println("database connection failed.");
return;}
ResultSet rs=null;
ResultSetMetaData md=null;
Statement stmt=null;
try{
stmt=con.createStatement();
rs=stmt.executeQuery("SELECT * FROM member");
md=rs.getMetaData();
out.println("<h1>member</h1>");
while(rs.next()){
out.println("<br>");
for(int i=1;i<md.getColumnCount();i++){
out.println(rs.getString(i)+",");
}}
stmt.close();
rs.close();}
catch(SQLException e){
e.printStackTrace(out);
}
connMgr.freeConnection("dbname",con);
}
public void destroy(){
connMgr.release();
super.destroy();
}}

------解决方案--------------------
這個 DBConnectionManager原本應該是某個 singleton class用來管JDBC連結的,
你不需要直接改寫成 servlet的話,只要在程式內使用就可以了。
下面這幾個method你都沒有,當然無法編譯了。

connMgr=DBConnectionManager.getInstance();
connMgr.getConnection("dbname");
connMgr.freeConnection("dbname",con);
connMgr.release();
------解决方案--------------------
探讨
這個 DBConnectionManager原本應該是某個 singleton class用來管JDBC連結的,
你不需要直接改寫成 servlet的話,只要在程式內使用就可以了。
下面這幾個method你都沒有,當然無法編譯了。

connMgr=DBConnectionManager.getInstance();
connMgr.getConnection("dbname");
c……