⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 docbaseman.java

📁 本例利用java和jsp实现电子政务系统中涉及到的档案管理系统。涉及到javabean和jsp的使用技巧。
💻 JAVA
字号:
package com.csbook.documentsystem;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Company: </p>
 * @author not attributable
 * @version 1.0
 */

import javax.naming.*;
import javax.sql.*;
import java.sql.*;
import java.util.*;

public class DocBaseMan{
    Context ctx=null;
    DataSource ds=null;
    SysLog log=null;
    ChangeEncoding ce=null;
   //构造函数
    public DocBaseMan(){
      //从连接池中获取数据库连接
      try{
      ctx=new InitialContext();
      ds=(DataSource)ctx.lookup("documents");
      }
       catch(NamingException e){
             e.printStackTrace();
       }
       //建立一个日志类的实例
       log=new SysLog();
       ce=new ChangeEncoding();
    }

     //删除档案库
    public void removeDocBase(String operator,String name)
    {
        Connection con = null;
        PreparedStatement ps = null;
        try{
          String strDelete = "delete from docBase where name=?";
          String strUpdate = "update documents set attr=0 where docBase=?";
          con=ds.getConnection();
          ps=con.prepareStatement(strDelete);
          ps.setString(1,ce.changeCharset(name));
          ps.executeUpdate();
          ps=con.prepareStatement(strUpdate);
          ps.setString(1,ce.changeCharset(name));
          ps.executeUpdate();
          log.addLog(operator,"remove docBase"+ce.changeCharset(name),"docBase");
        }
        catch(SQLException e){
          e.printStackTrace();
         }
         finally{
             if (ps != null)  try {ps.close();}
                catch (SQLException ignore) {}
             if (con != null)   try {con.close();}
                catch (SQLException ignore) {}
       }
      }

      //检查档案库是否为空
      public boolean isDocBaseEmpty(String name)
      {
        Connection con = null;
        PreparedStatement ps = null;
        ResultSet rs=null;
        boolean isEmpty=false;
        try{
          String strQuery = "select * from documents where docBase=?";
          con = ds.getConnection();
          ps = con.prepareStatement(strQuery);
          ps.setString(1, ce.changeCharset(name));
          rs=ps.executeQuery();
          if(!rs.next())
            isEmpty=true;
        }
        catch(SQLException e){
         e.printStackTrace();
        }
        finally{
            if (rs != null)  try {rs.close();}
               catch (SQLException ignore) {}
            if (ps != null)  try {ps.close();}
               catch (SQLException ignore) {}
            if (con != null)   try {con.close();}
               catch (SQLException ignore) {}
       }
       return isEmpty;
      }

     //检查档案库名称是否已经存在,在新建档案库之前使用
      public boolean isDocBaseNameConflict(String strName)
        {
        Connection con = null;
        PreparedStatement ps = null;
        ResultSet rs=null;
        boolean conflict=true;
        try{
          String strQuery = "select * from docBase where name=?";
          con = ds.getConnection();
          ps=con.prepareStatement(strQuery);
          ps.setString(1,ce.changeCharset(strName));
          rs=ps.executeQuery();
          if(!rs.next())
            conflict=false;
        }
        catch(SQLException e){
          e.printStackTrace();
         }
         finally{
             if (rs != null)   try {rs.close();}
                catch (SQLException ignore) {}
             if (ps != null)  try {ps.close();}
                catch (SQLException ignore) {}
             if (con != null)   try {con.close();}
                catch (SQLException ignore) {}
         }
        return conflict;
       }

   //设置档案库描述信息
       public void setDocBaseDesc(String operator,String name,String desc)
        {
        Connection con = null;
        PreparedStatement ps = null;
        try{
          String strUpdate = "update docBase set description=? where name=?";
          con=ds.getConnection();
          ps=con.prepareStatement(strUpdate);
          ps.setString(1,ce.changeCharset(desc));
          ps.setString(2,ce.changeCharset(name));
          ps.executeUpdate();
          log.addLog(operator,"set description of docclass "+ce.changeCharset(name)+":"+ce.changeCharset(desc),"docBase");
        }
        catch(SQLException e){
          e.printStackTrace();
         }
         finally{
             if (ps != null)  try {ps.close();}
                catch (SQLException ignore) {}
             if (con != null)   try {con.close();}
                catch (SQLException ignore) {}
        }
       }

    //设置档案库管理员
       public void setDocBaseAdmin(String operator,String name,String user)
        {
        Connection con = null;
        PreparedStatement ps = null;
        try{
          String strUpdate = "update docBase set admin=? where name=?";
          con = ds.getConnection();
          ps = con.prepareStatement(strUpdate);
          ps.setString(1,ce.changeCharset(user));
          ps.setString(2,ce.changeCharset(name));
          ps.executeUpdate();
          log.addLog(operator, "set admin of docBase "+ce.changeCharset(name)+":"+ce.changeCharset(user),"docBase");
        }
        catch(SQLException e){
          e.printStackTrace();
         }
         finally{
             if (ps != null)  try {ps.close();}
                catch (SQLException ignore) {}
             if (con != null)   try {con.close();}
                catch (SQLException ignore) {}
        }
       }

     //添加档案库
       public void addDocBase(String operator,String name)
        {
        Connection con = null;
        PreparedStatement ps = null;
        try{
          String strInsert = "insert into docBase(name) values(?)";
          con = ds.getConnection();
          ps = con.prepareStatement(strInsert);
          ps.setString(1,ce.changeCharset(name));
          ps.executeUpdate();
          log.addLog(operator,"add docBase:"+ce.changeCharset(name),"docBase");
        }
        catch(SQLException e){
         e.printStackTrace();
        }
        finally{
             if (ps != null)  try {ps.close();}
                catch (SQLException ignore) {}
             if (con != null)   try {con.close();}
                catch (SQLException ignore) {}
        }
       }

      //获取档案库的管理员
       public String getAdminOfDocBase(String name)
        {
        Connection con = null;
        PreparedStatement ps = null;
        ResultSet rs=null;
        String admin="";
        try{
          String strQuery = "select admin from docBase where name=?";
          con = ds.getConnection();
          ps = con.prepareStatement(strQuery);
          ps.setString(1,ce.changeCharset(name));
          rs=ps.executeQuery();
          if(rs.next())
            admin=rs.getString("admin");
        }
        catch(SQLException e){
        e.printStackTrace();
       }
       finally{
           if (rs != null)   try {rs.close();}
               catch (SQLException ignore) {}
            if (ps != null)  try {ps.close();}
               catch (SQLException ignore) {}
            if (con != null)   try {con.close();}
               catch (SQLException ignore) {}
      }
      return admin;
    }

    //检查指定用户是否具有对指定档案库的操作权限
    public boolean isWritableForDocBase(String docBase,String user)
      {
        boolean writable=false;
        UserMan uMan=new UserMan();
        if((uMan.getUserPri(user)==1)||user.equals(getAdminOfDocBase(ce.changeCharset(docBase))))
                writable =true;
        return writable;
      }

      //获取档案库的信息
      public ArrayList getDocBaseInfo()
      {
        Connection con = null;
        PreparedStatement ps = null;
        ResultSet rs=null;
        ArrayList docBases=new ArrayList();
        try{
        String strQuery="select * from docBase";
        con = ds.getConnection();
        ps = con.prepareStatement(strQuery);
        rs=ps.executeQuery();
        String temp,temp1;
	while(rs.next()){
          temp=ce.changeCharset(rs.getString("name"));
          temp1=rs.getString("description");
          if(temp1!=null)
            temp+=" "+ce.changeCharset(temp1);
            else
              temp+=" empty";
          temp1=rs.getString("admin");
          if(temp1!=null)
            temp+=" "+temp1;
            else
              temp+=" empty";
          docBases.add(temp);
        }
       }
       catch(SQLException e){
        e.printStackTrace();
       }
       finally
       {
           if (rs != null)   try {rs.close();}
               catch (SQLException ignore) {}
            if (ps != null)  try {ps.close();}
               catch (SQLException ignore) {}
            if (con != null)   try {con.close();}
               catch (SQLException ignore) {}
      }
      return docBases;
   }

  //获取档案库的列表
   public ArrayList getDocBaseList()
   {
        Connection con = null;
        PreparedStatement ps = null;
        ResultSet rs=null;
        ArrayList docBases=new ArrayList();
        try{
        String strQuery="select name from docBase";
        con = ds.getConnection();
        ps = con.prepareStatement(strQuery);
        rs=ps.executeQuery();
        String temp;
	while(rs.next()){
          temp=ce.changeCharset(rs.getString("name"));
          docBases.add(temp);
        }
       }
       catch(SQLException e){
        e.printStackTrace();
       }
       finally
       {
           if (rs != null)   try {rs.close();}
                catch (SQLException ignore) {}
             if (ps != null)  try {ps.close();}
                catch (SQLException ignore) {}
             if (con != null)   try {con.close();}
                catch (SQLException ignore) {}
      }
      return docBases;
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -