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

📄 checkpaperevent.java~39~

📁 用jsp做的一个简单的论文管理系统。由于时间关系
💻 JAVA~39~
字号:
package stumanage.events;

import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletContext;
import stumanage.beans.*;
import javax.servlet.http.HttpSession;
import java.sql.*;
import java.io.*;
import java.util.ResourceBundle;
/**
 * <p>Title:抽取论文 </p>
 *
 * <p>Description: 可以依次抽取本老师所对应的论文或者是按课题抽取</p>
 *
 * <p>Copyright: Copyright (c) 2005</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class CheckPaperEvent
    extends EventHandleBase {
  private PaperInfo paper = new PaperInfo();
  private UserInfo teacher = null;
  private RegInfo regInfo = new RegInfo();
  private boolean checkResult = false;
  //private String getPaperWay = null;
  public CheckPaperEvent() {

  }

  /**
   * override process:批改论文
   * @param sc ServletContext
   * @param request HttpServletRequest
   * @param response HttpServletResponse
   * @throws IOException
   * @throws ServletException
   */
  public void process (ServletContext sc,
                      HttpServletRequest request, HttpServletResponse response)
   throws IOException, ServletException {
   //Clob clob = null;
   String text = new String();
   Connection con = null;
   PreparedStatement pstmt = null;
   String sno = null;
   String subject = null;
   try {
     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
     String dsn = "jdbc:odbc:info";
     con = DriverManager.getConnection(dsn);
   } catch(Exception e) {
     System.out.println("数据库操作异常");  //for test
     regInfo.setInfo("对不起,数据库操作异常");
   }
   HttpSession session = request.getSession();
   teacher = (UserInfo)session.getAttribute("user");
   System.out.println(teacher.getUserID());  //test teacher's ID

   /**
    * 依次取得论文的处理过程
    */
   if(request.getParameter("getPaper").equalsIgnoreCase("byOrder")) {
     //request.getParameter("getPaperWay") = "byOrder"
     //修改时需增加查询课题名
     String temp =
         "Select sNo,paperContent,flag,subject From PaperInfo where (flag = 'no') And (tNo = ?)";
     try {
       pstmt = con.prepareStatement(temp);
       pstmt.setString(1, teacher.getUserID());
       ResultSet rs = pstmt.executeQuery();
       ResultSetMetaData md = rs.getMetaData();
       System.out.println("pstmt.executeQuery();");    //for test
       if (rs.next()) {
         sno = rs.getString(1);
         subject = rs.getString(4);

         /**
          * 此处不能用rs.getClob(1);
          */
         Reader reader = rs.getCharacterStream(2);
         //InputStream inStream = rs.getBinaryStream(2);
         //String test = new String(rs.getBytes(2));
         //System.out.println(test);  // for test
         int n = 50;
         char [] buf = new char [50];
         //int off = 0;
         /**
          * reader.read(buf,off,5) 发生异常??
          */
         /**
          * 每次读取n个字符,直到所有的读取完
          */
         int i=reader.read(buf);
         while(i>0) {
           String texts = new String(buf);
           System.out.println("buf=" + texts);
           text = text + texts;
           /*
            * reader.read()读成功n个字符,则reader中少n个字符
            */
           //off += i;
           //reader.skip(off);
           i = reader.read();

         }
         //clob = rs.getClob(1);
         //text = clob.getSubString(1,(int)clob.length());
         System.out.println(text); //for test
         //rs.updateString(2, "yes");

         paper.setPaperContent(text);
         paper.setSNo(sno);
         paper.setSubject(subject);
         session.setAttribute("paper",paper);
         temp = " update PaperInfo Set flag = 'yes' where SNo = ? ";
         pstmt = con.prepareStatement(temp);
         pstmt.setString(1,sno);
         pstmt.executeUpdate();
         checkResult = true;
       }
       else {
         regInfo.setInfo("对不起,未抽取到您所需要的论文");
       }
       con.close();
     }
     catch (Exception e) {
       regInfo.setInfo("对不起,数据库操作发生异常");
       System.out.println("数据库操作发生异常");
     }
   }
   /**
    * 按条件抽取试卷
    */
   else {
     String temp = "Select sNo,paperContent,flag,subject From PaperInfo where (flag = 'no') And (tNo = ?) And (Subject = ?)";
     try {
       pstmt = con.prepareStatement(temp);
       pstmt.setString(1,teacher.getUserID());
       String tempSubject = new String(request.getParameter("subjects").getBytes("ISO8859_1"));
       pstmt.setString(2,tempSubject);
       System.out.println(request.getParameter("subjects")); //for test


       ResultSet rs = pstmt.executeQuery();
       ResultSetMetaData md = rs.getMetaData();
       System.out.println("pstmt.executeQuery();");    //for test
       if (rs.next()) {
        sno = rs.getString(1);
        subject = rs.getString(4);
        /**
         * 此处不能用rs.getClob(1);
         */
        Reader reader = rs.getCharacterStream(2);
        int n = 60000;
        char [] buf = new char[60000];
        //int off = 0;
        /**
         * reader.read(buf,off,5) 发生异常??
         */
        /**
         * 每次读取n个字符,直到所有的读取完
         */
        int i=reader.read(buf);
        while(i>0) {
          String texts = new String(buf);
          System.out.println("buf=" + texts);
          text = text + texts;
          /*
           * reader.read()读成功n个字符,则reader中少n个字符
           */
          //off += i;
          //reader.skip(off);
          /*int k ;
          for(k = 0; k <50 ; k ++ ) {
            buf[k] = ' ';
          }*/
          i = reader.read(buf);



        }
        //clob = rs.getClob(1);
        //text = clob.getSubString(1,(int)clob.length());
        System.out.println(text); //for test
        //rs.updateString(2, "yes");

        paper.setPaperContent(text);
        paper.setSNo(sno);
        paper.setSubject(subject);
        session.setAttribute("paper",paper);
        temp = " update PaperInfo Set flag = 'yes' where SNo = ? ";
        pstmt = con.prepareStatement(temp);
        pstmt.setString(1,sno);
        pstmt.executeUpdate();
        checkResult = true;
      }
      else {
        regInfo.setInfo("对不起,未找到你所需要的论文");
      }
      con.close();

     }catch (Exception e ) {
       regInfo.setInfo("对不起,数据库操作发生异常");
       System.out.println(e);  //for test
     }

   }
   session.setAttribute("regInfo",regInfo);
   //Debug.log (this, "process", "Using default process");
 }

  /**
   * getURL
   *
   * @return String
   * @todo Implement this stumanage.events.EventHandleBase method
   */
  protected String getURL() {
    ResourceBundle rd = ResourceBundle.getBundle("URL");
    String temp = new String();
    if(checkResult) {
      temp = rd.getString("GETPAPERSUC");
    }
    else {
      temp = rd.getString("REGERROR");
    }

    return temp;
  }
}

⌨️ 快捷键说明

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