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

📄 uploadevent.java~18~

📁 用jsp做的一个简单的论文管理系统。由于时间关系
💻 JAVA~18~
字号:
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 java.util.*;
import java.io.*;
import org.apache.commons.fileupload.DiskFileUpload;
import org.apache.commons.fileupload.FileItem;
import java.sql.DriverManager;
import org.apache.commons.fileupload.FileUploadException;
import java.sql.PreparedStatement;
import java.sql.Connection;
import javax.servlet.http.HttpSession;
import stumanage.beans.*;
public class UploadEvent
    extends EventHandleBase {
  private static final String CONTENT_TYPE = "text/html; charset=GBK";
  private UserInfo student = new UserInfo();
  public UploadEvent() {
  }

  /**
   * 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 {

  HttpSession session = request.getSession();
  student = (UserInfo)session.getAttribute("user");
  response.setContentType(CONTENT_TYPE);
  //System.out.println(request.getParameter("subject")); //for test
  //System.out.println(request.getParameter("tNo"));     //for test
  //System.out.println(request.getParameter("filename"));  //for test

  PrintWriter out = response.getWriter();
  try {
    System.out.println("enter the first try");
    DiskFileUpload fu = new DiskFileUpload();
    /**
     * 设置允许用户上传的文件最大值   单位:字节
     */
    fu.setSizeMax(2*1024*1024);
    /**
     * 设置最多只允许在内存中的数据大小 单位:字节
     */
    fu.setSizeThreshold(4096);
    /**
     * 设置不能放在内存中的数据临时存放的目录
     */
    fu.setRepositoryPath("f:\\temp");
    /**
     * 开始读取上传信息
     */
    System.out.println("信息设置成功");
    List fileItems = fu.parseRequest(request);
    // 依次处理每个上传的文件
    Iterator iter = fileItems.iterator();
    String temp1 = null;
    String subject = null;
    String tno = null;
    while(iter.hasNext()){
      System.out.println("enter the while");  //for test
      FileItem item = (FileItem)iter.next();
      if(item.isFormField()) {
        temp1 = item.getFieldName();

        /**
         * 这里用request.getParameter("subject")得到的是null
         */
        if (temp1.equalsIgnoreCase("subject")) {
          subject = item.getString();
          System.out.println(subject); //for test
        }
        else if(temp1.equalsIgnoreCase("tNo")) {
          tno = item.getString();
        }
        continue;
      }
      //忽略其他不是文件域的所有表单信息
      if (!item.isFormField()) {
        String name = item.getName();
        System.out.println(name);
        long size = item.getSize();
        if ( (name == null || name.equals("")) && size == 0)
          continue;
        try {
          int byteRead = 0;
          InputStream inStream = item.getInputStream();
          InputStreamReader reader = new InputStreamReader(inStream);
          /*char  [] buf = new char[5];
          reader.read(buf);
          String test = new String(buf);
          String newString = new String(test.getBytes("ISO8859_1"));
          System.out.println(newString);   // for test  */
          byte [] b = new byte[50];
          inStream.read(b);
          String test = new String(b,"GB2312");
          System.out.println(test);
          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
          String dsn = "jdbc:odbc:info";
          Connection con = DriverManager.getConnection(dsn);
          String temp =
              "insert into PaperInfo(Sno,TNo,Subject,PaperContent,flag) values(?,?,?,?,'no')";
          PreparedStatement pstmt = con.prepareStatement(temp);
          pstmt.setString(1,student.getUserID());
          pstmt.setString(2,tno);
          pstmt.setString(3,subject);
          pstmt.setCharacterStream(4,reader,(int)size);
          System.out.println(temp);
          pstmt.executeUpdate();
          System.out.println("上传成功");
          inStream.close();
        }
        catch (Exception e) {
          System.out.println("发生异常");

        }
      }
      else {
        throw new FileUploadException("fail to upLoad");
      }

    }


  }catch(Exception e) {

  }

   //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 = rd.getString("UPSUC");
    return temp;
  }
}

⌨️ 快捷键说明

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