photoaction.java~4~
来自「一个J2EE模式的」· JAVA~4~ 代码 · 共 75 行
JAVA~4~
75 行
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 java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import java.io.InputStream;
import java.sql.*;
public class PhotoAction extends Action {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm,
HttpServletRequest servletRequest,
HttpServletResponse servletResponse) throws
ServletException, IOException {
PhotoForm photoForm = (PhotoForm) actionForm;
//准备接受变量
ServletOutputStream out = servletResponse.getOutputStream();
byte buf[]=GetPicBuffer(photoForm.getId()); //从数据库中得到图片的数据
//开始
if (buf != null) {
try {
int len=buf.length;
out.write(buf, 0, len);
}
catch (IOException ioe) {
//ioe.printStackTrace();
}
}
return null;
}
//从数据库中读出指定id号的图片数据
public byte[] GetPicBuffer(String id){
byte[] bufferArray=null;
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 where id= "; //查询指定id值的记录
sql_query+=id;
ResultSet rs = stmt.executeQuery(sql_query); //得到查询的结果集
if (rs.next()) {
bufferArray=rs.getBytes("picData"); //得到数据
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("Operateor DataBase Error!");
return null;
}
return bufferArray;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?