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

📄 picaction.java

📁 一个J2EE模式的
💻 JAVA
字号:
package com.hanb.pic.wkhPic;

import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.Action;
import org.apache.struts.upload.FormFile;
import java.io.InputStream;
import com.hanb.pic.wkhPic.PicForm;

import java.sql.*;
import java.util.List;
import java.util.ArrayList;

public class PicAction extends Action {
    public ActionForward execute(ActionMapping actionMapping,
                                 ActionForm actionForm,
                                 HttpServletRequest servletRequest,
                                 HttpServletResponse servletResponse)throws Exception {
        PicForm picForm = (PicForm) actionForm;

        if(picForm.getAction().equals("Save")){
            //存储图片专用

            FormFile file = picForm.getPicfile();
            if (file == null) {
                return actionMapping.findForward("Error");
            }
            InputStream imgstm = file.getInputStream();
            byte[] bufferArray = new byte[imgstm.available()];
            imgstm.read(bufferArray);
            imgstm.close();

            if(SavePicToDataBase(bufferArray)==0){
                return actionMapping.findForward("Error");
            }

            return actionMapping.findForward("OK");
        }
        else if(picForm.getAction().equals("List")){
            servletRequest.setAttribute("PicIdList", GetPicIdList());
            return actionMapping.findForward("ImgList");
        }

        return actionMapping.findForward("OK");
    }


    public int SavePicToDataBase(byte[] bufferArray){
        try {
                //下面连接数据库
                Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").
                        newInstance();
                String url =
                        "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=TestPic";

                String user = "sa";
                String password = "";
                Connection conn = DriverManager.getConnection(url, user, password);
                Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                                                      ResultSet.CONCUR_UPDATABLE);

                String sql_insert = "insert into test (picData) values (null) "; //插入一条空
                //String sql_ID="select IDD=@@Identity from test ";
                String sql_query = "select * from test where id=@@Identity "; //查询刚刚插入的一条记录

                stmt.executeUpdate(sql_insert); //插入一条空

                ResultSet rs = stmt.executeQuery(sql_query); //查询刚刚插入的一条记录

                if (rs.next()) {
                    rs.updateBytes("picData", bufferArray);
                    rs.updateRow();
                }
            } catch (Exception e) {
                e.printStackTrace();
                System.out.println("Operateor DataBase Error!");
                return 0;
            }
            return 1;

    }

    //取得数据库中所有记录的Id列表,注意,只取id字段
    public List GetPicIdList(){
        List endList=new ArrayList();
        int iid;
       try {
               //下面连接数据库
               Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").
                       newInstance();
               String url =
                       "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=TestPic";

               String user = "sa";
               String password = "";
               Connection conn = DriverManager.getConnection(url, user, password);
               Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                                                     ResultSet.CONCUR_UPDATABLE);

               String sql_query = "select id from test "; //查询所有记录的id值

               ResultSet rs = stmt.executeQuery(sql_query); //查询刚刚插入的一条记录


               while (rs.next()) {
                   iid=rs.getInt("id");
                   endList.add(String.valueOf(iid));
               }
           } catch (Exception e) {
               e.printStackTrace();
               System.out.println("Operateor DataBase Error!");
               return endList;
           }
           return endList;

   }

}

⌨️ 快捷键说明

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