Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
jsp中调用Bean,然后在Bean中调用oracle存储过程。

作者:未知 来源:月光软件站 加入时间:2005-6-5 月光软件站

       新手在写程序时,一定要胆大心细,而且要有耐心,不妥协,不懂就翻书,网上查资料,问朋友,坚决进行到底。

     最近一直凭着ASP的知识在摸索中前进,一跑坎坷,自不用说了。 言归正传。

     建立一个登录系统,要求达到以下目的。

     1、用户通过Bean来认证以及得到得到用户信息。

     2、记录用户登录信息,如用户登录次数,最后登录时间。

     3、记录操作日志。

    未解决及疑惑的问题:

    1、用户登录后的Session是否可以通过Bean来判断。

    2、通过Bean调用ORACLE存储过程,返回select后的记录集。

   操作步骤:

   1、建立用户验证Bean:

    public boolean checkUser() throws Exception {
    boolean flag=false;
    ResultSet rs=conn.executeQuery(getSql());
    if(rs.next()){
      userID        =rs.getString("userID");
      userName      =rs.getString("userName");
      userPWD       =rs.getString("userPWD");
      userUnit      =rs.getString("userUnit");
      userLoadTime  =rs.getDate("userLoadTime");
      userLoadNumeric=rs.getInt("userLoadNumber");
      flag=true;
    }
    rs.close();
    conn.closeConn();
    return flag;
  }
  

  通过返回的值判定用户是否存在。

 2、记录用户登录信息:

  public void changeLoginInfo(String userID) throws Exception{
    String sql="update SystemUserTable set UserLoadTime=sysdate,UserLoadNumber=UserLoadNumber+1 where userID='"+userID+"'";
    conn.executeUpdate(sql);
  }

3、记录操作日志:

第一步,建立存储过程

create or replace procedure proc_writeNote(
  description in varchar2,
  wName in varchar2,
  wIP in varchar2
  )
is
begin
  insert into Systemnote (Id,Description,Wname,Wip) values(Autoaddid.Nextval,description,wName,wIP);
  commit;
end proc_writeNote;

第二步、建立操作存储过程的方法(重写prepareCall()方法)

  public CallableStatement prepareCall(String produce){
    try {
      conn = DriverManager.getConnection(DBUrl, UserID, UserPWD);
      cstmt=conn.prepareCall(produce);
    }
    catch (SQLException ex) {
      System.err.print("prepareCall():"+ex.getMessage());
    }
    return cstmt;
  }

第三步,执行存储过程

  public void writeNote(String description,String wName,String wIP){
    String sql="{call proc_writeNote(?,?,?)}";
    try {
      CallableStatement cstmt=conn.prepareCall(sql);
      cstmt.setString(1, description);
      cstmt.setString(2,wName);
      cstmt.setString(3,wIP);
      cstmt.executeUpdate();
    }
    catch (SQLException ex) {
      System.out.print("writeNote():"+ex.getMessage());
    }
  }




相关文章

相关软件