当前位置:  技术问答>java相关

如何在servlet中调用javaBean中的方法和出现java.lang.NullPointerException如何调试

    来源: 互联网  发布时间:2015-09-16

    本文导语:  有这样的一个Bean: package inittest; import java.sql.*; public class initBean {   static final String Driver = "sun.jdbc.odbc.JdbcOdbcDriver";   static final String URL = "jdbc:odbc:wangliang";   private Connection  con;   private Statement sqlStatem...

有这样的一个Bean:
package inittest;

import java.sql.*;

public class initBean {
  static final String Driver = "sun.jdbc.odbc.JdbcOdbcDriver";
  static final String URL = "jdbc:odbc:wangliang";
  private Connection  con;
  private Statement sqlStatement;
  private  ResultSet rs;
  private int num;

  public initBean() {
  }

  //建立与数据库的连接
  public boolean connect(){
    try{
      try{
      Class.forName(Driver);
      }catch(java.lang.ClassNotFoundException e){
        System.err.println(e.getMessage());
      }
      con = DriverManager.getConnection(URL);
      sqlStatement = con.createStatement();
    }catch(Exception e){
      return false;
    }
    return true;
  }

  //用于对数据库进行查询等操作
  public ResultSet opens(String sql)throws java.sql.SQLException{
    ResultSet rs = sqlStatement.executeQuery(sql);
    return(rs);
  }

  //向数据库提交一个SQL语句,执行一般操作,返回一个布尔值
  public boolean executeSql(String sql){
    try{
      sqlStatement.execute(sql);
    }catch(SQLException ex){
      System.err.println(ex.getMessage());
    }
    return true;
  }

  //向数据库提交一个SQL语句,执行更新,返回一个整数
  public int executeUpdate(String sql){
    try{
    int num = sqlStatement.executeUpdate(sql);
    }catch(SQLException exx){
      System.err.println(exx.getMessage());
    }
    return num;
  }

  //检查输入是否正确(用javaScript来检查)这里不用
  public boolean checklogin(){
    return true;
  }

  //关闭与数据库的连接
  public void close(){
    try{
      con.close();
      sqlStatement = null;
      con = null;
    }catch(SQLException exxx){
  }
  }
  //end
}

有这样的一个servlet:
package inittest;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.sql.*;

import inittest.initBean;


public class saveservlet extends HttpServlet {
  static final private String CONTENT_TYPE = "text/html; charset=GBK";
//Initialize global variables
  public void init() throws ServletException {
  }
  //Process the HTTP Post request
  public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType(CONTENT_TYPE);
    PrintWriter out = response.getWriter();
     //得到输入的数据
     String aa = request.getParameter("s1");
     String bb = request.getParameter("s2");
     String cc = request.getParameter("s3");
     String dd = request.getParameter("s4");
     String ee = request.getParameter("s5");
     String ff = request.getParameter("s6");
     String gg = request.getParameter("s7");
     String hh = request.getParameter("s8");
     String ii = request.getParameter("s9");
     String jj = request.getParameter("s10");
     String kk = request.getParameter("s11");
     String ll = request.getParameter("s12");
//??????????????????????????????????????????????????????????????????????????????
     //向数据库提交一个SQL语句
     String sqlinsert = "INSERT INTO biao1("+"编号,"+"活动编号,"+"名称,"+"目标,"+"合作公司,"+"活动主管,"+"实际增长,"+"影响指标,"+"发起原因,"+"执行人数,"+"备注,"+"说明)"+
                       "values("+aa+","+bb+","+cc+","+dd+","+ee+","+ff+","+gg+","+hh+","+ii+","+jj+","+kk+","+ll+")";
//????这里如何调用Bean中的方法向数据库提交SQL语句???????????   
 try{
       sqlStatement.execute(sqlinsert);
    }catch(SQLException e){
      out.println(e.getMessage());
    }
//上面的在JBUDIER7中不对????????????????????????????????????????????????
    out.println("");
    out.println("saveservlet");
    out.println("");
    out.println("

恭喜!保存成功!保存的数据如下:The servlet has received a POST. This is the reply.

");
    out.println(aa);
    out.println(bb);
    out.println(cc);
    out.println(dd);
    out.println(ee);
    out.println(ff);
    out.println(gg);
    out.println(hh);
    out.println(ii);
    out.println(jj);
    out.println(kk);
    out.println(ll);
    out.println("");

//关闭连接
    try{
       con.close();
    }catch(Exception e){
      ;
    }
  }
  //Clean up resources
  public void destroy() {
  }
}

|
例1:

  public boolean connect() throws Exception{
    try{
      try{
      Class.forName(Driver);
      }catch(java.lang.ClassNotFoundException e){
        System.err.println(e.getMessage());
      }
      con = DriverManager.getConnection(URL);
      sqlStatement = con.createStatement();
    }catch(Exception e){
      throw e;
    }
    finally{
      return true;
    }
  }


或者抛出一个自定义错误,更友好的提示信息:

  public boolean connect() throws Exception{
    try{
      try{
      Class.forName(Driver);
      }catch(java.lang.ClassNotFoundException e){
        System.err.println(e.getMessage());
      }
      con = DriverManager.getConnection(URL);
      sqlStatement = con.createStatement();
    }catch(Exception e){
      throw new Exception("连接数据库失败");
    }
    finally{
      return true;
    }
  }


|
对于你的那个catch可以换成如下:
catch(SQLException e)
{
    out.print("SQL error"+e);
}
catch(NullPointerException e)
{
    out.print("NULL Pointer Error");
}

    
 
 

您可能感兴趣的文章:

  • 一个Servlet如何在调用另一个Servlet时将自身的HttpServletRequest传递进去?
  • 关于servlet 的编译问题,怎样设置classpth,把那些java servlet类包含到classpath?而且无法调用servlet!谢谢!
  • 急问!!:如何用一个servlet接受请求后,改变请求的参数值后调用另一个servlet
  • 请教:servlet如何调用jsp页面或者servlet????
  • 怎样才能调用自已编写的Servlets程序
  • 在jsp页面加载时自动调用某个特定的servlet,由servlet查询数据库输出WEB页面返回给jsp显示?
  • 有谁知道怎样设置tomcat4.03 当重新编译servlet后不用重起便能调用最新编译的servlet.
  • 如何从SERVLET中调用APPLET?
  • 如何在jsp调用Servlet?在线等待。
  • .html文件如何调用servlet?
  • 我想做个程序进行Servlet调用
  • servlet +JSP调用JAVAbean 急,谢了!
  • 如何在SERVLET中调用一段汇编代码?
  • jsp如何调用servlet
  • 如何在Servlet中调用scope=application的bean?
  • 客户端JavaScipt对servlet的调用问题。各位高手请进!!!
  • 请问如何从JSP返回到调用它的SERVLET里呢?
  • 在weblogic中,html调用servlet需要什么设置?
  • @@请问如何在jsp文件中调用servlet??
  • Servlet调用的问题???
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何调试servlet程序?
  • 请大家讨论一下 JSP && JavaBean && Servlet 的调试解决方案
  • JBuilder下面调试运行servlet的问题
  • 哪位兄弟愿提供一APPLET与SERVLET通讯的通过调试的简单例子,立刻赠100分!!!
  • 请问调试JSP和SERVLET用什么好呀?
  • 新手向大家请教jsp,servlet的调试,发布问题
  • 关于JBuilder4中调试Servlet(绝对给分,不相信别来!)
  • 弱弱的问题^_^在VA中怎么编译调试Servlet程序啊?需要安装什么环境?除了VA还需要什么
  • 快速建立Servlet和JSP的运行、调试和编译环境
  • 我需要调试Servlet,是不是要设置tomcat的环境变量,如果是,那tomcat4的环境变量该怎么设,求救,定给分
  • java命名空间javax.xml.ws.handler接口messagecontext成员方法: servlet_context定义参考
  • 请问各位大虾,我在编译SERVLET时,总是找不到javax.servlet.*或者javax.servlet.http.*,需要怎么配一下。
  • java命名空间javax.xml.ws.handler接口messagecontext成员方法: servlet_response定义参考
  • 写了一个servlet程序,但用javac编译时,发现javax.servlet.*,javax.servlet.http.*不存在,为什么?怎样解决?
  • java命名空间javax.xml.ws.handler接口messagecontext成员方法: servlet_request定义参考
  • 为什么我在jsp页面用 "/servlet/goto.servlet?setname=中文",如果就这样传过去,在servlet里面得到的将是setname=null,如果传其他则可
  • java Servlet获取和设置cookie实例代码
  • 我想apple传object给servlet同时也打开servlet页,显示servlet的内容
  • java Servlet实现Session创建存取以及url重写代码示例
  • import javax.servlet.http.*;后,怎么提示package javax.servlet.http does not exist?我的classpath中已添加了tomcat/lib/servlet.jar!
  • 请问为什么我的servlet程序,在编译时总是会出现包javax.servlert和包javax.servlet.http不存在的错误,我在环境变量classpath种已经登记了servlet.jar的位置了。如何解决?
  • 编译 servlet 时,老提示 .....javax.servlet 不存在,为何 ???
  • jsp/servlet配置的小问题,如何添加servlet包
  • 包 javax.servlet ,javax.servlet.http 不存在,原因?解决办法?谢了!
  • servlet快在哪里?(什么时候用servlet好?)
  • 当多个请求同一个servlet时,servlet的生命周期是怎样的?
  • 急等用,现给分!servlet和servlet之间的通讯如何实现,最好有源代码,谢谢
  • 遍了一个简单的servlet,编译时提示:package javax.servlet does not exist!
  • 谁能解释一下如何使用javax.servlet.Filter 和javax.servlet.FilterChain!
  • servlet什么时候用?有了jsp+javabean,为什么还要用servlet??
  • 在IE下执行servlet时为什么有些servlet可以正常运行,有些却提示下载文件?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3