📄 picaction.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 + -