重庆幸运农场中奖金额|重庆幸运农场官网
MyException - 我的異常網
當前位置:我的異常網» Java Web開發 » Servlet與javabean莫不是有仇嗎

Servlet與javabean莫不是有仇嗎

www.h0f1.com  網友分享于:2013-12-25  瀏覽:35次
Servlet與javabean難道有仇嗎?
是這樣的·小弟最近剛學習MVC模式,想自己做一個簡單的登錄界面,用于邏輯運算的JavaBean在被Servlet調用的時候總是報錯,注意·不是異常,而是debug··各位幫我看看··小弟不勝感激!
servlet代碼:
Java code

 public class Servlet01 extends HttpServlet {
    
    protected void service(HttpServletRequest req,HttpServletResponse resp)throws ServletException,java.io.IOException{
        String name= req.getParameter("name");
        GetJdbc gj=new GetJdbc();
        boolean flag=gj.getIn(name);
        if(flag==true){
            RequestDispatcher rd=req.getRequestDispatcher("Yes.jsp");//。forward方式只能跳轉到本web應用中的頁面上。
            req.setAttribute(name, "name");
            System.out.print(name);
            rd.forward(req, resp);//跳轉
        }
        
    }
}


javabean代碼:
Java code

package com.cme.cen;

import java.sql.*;

public class GetJdbc {
    String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";// 將驅動器的包名和類名存儲到字符串中
    String dbURL = "jdbc:sqlserver://localhost:1433;DatabaseName=Sales"; // 將數據庫StuInfo的路徑存儲到字符串中
    String userName = "sa"; // 默認用戶名
    String userPwd = "19881212"; // 安裝sql server 2005時的密碼
    Statement sm = null;
    public static Connection dbConn = null;// 定義打開了的接口對象
    ResultSet rs = null;

    // 構造方法
    public GetJdbc() {
        try {
            Class.forName(driverName);
            dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
            sm = dbConn.createStatement();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public boolean getIn(String name){
        String sql="select * from Employees";
        boolean flag=false;
        try {
            rs = sm.executeQuery(sql);
            while(rs.next()){
                if(rs.getString("姓名").trim().equals(name)){
                    flag=true;
                }
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return flag;
    }
}


從登錄頁面內輸入名字,然后由JavaBean來鏈接數據庫,并且返回其用戶名是否包含在數據庫中。但是老是出錯,錯誤如下:


Daemon System Thread [Finalizer] (Suspended (exception NullPointerException))
JdbcOdbcDriver.finalize() line: 96
Finalizer.invokeFinalizeMethod(Object) line: not available [native method]
Finalizer.runFinalizer() line: 83
Finalizer.access$100(Finalizer) line: 14
Finalizer$FinalizerThread.run() line: 160
跪求高人指點··能解釋為什么以及解決辦法的話更是不勝感激!

------解決方案--------------------
首先,我建議在寫servlet的時候,不要覆蓋service方法,而是覆蓋doget和dopost方法。
其次,lz的GetJDBC不能稱之為javabean,充其量可以成為dbutil,即數據庫操作輔助類。除此之外,建議lz在進行數據庫操作時,要顯示的調用數據庫的關閉,即在進行操作之后,顯示關閉相應的statment,connection。
最后,建議lz把問題可以百度一下,你要相信你絕不是遇到的此類問題的第一個人,類似問題肯定別人也遇到過,如果你運氣好的話,可以順利的找到解決辦法,即使沒有找到,你也可以在這過程中,學到一些知識以及與問題相關的解決思路,然后結合自己的具體情況,沒準你就能自己解決了。


------解決方案--------------------
亂碼。

文章評論

軟件開發程序錯誤異常ExceptionCopyright © 2009-2015 MyException 版權所有
重庆幸运农场中奖金额