servlet主要代码package demo;
import java.awt.image.BufferedImage;
import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import javax.imageio.ImageIO;
import javax.sql.*;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
import com.whut.DB.*;public class Show extends HttpServlet { /**
* Constructor of the object.
*/
public Show() {
super();
} /**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println(request.getParameter("filename"));
String filename=request.getParameter("filename");
String archive_no=request.getParameter("archive_no");
String folder_no=request.getParameter("folder_no");
response.setContentType("text/html");
String showImage ="select * from ImageStore where archive_no='"+archive_no+"'and folder_no='"+folder_no+"' and file_name ='"+filename+"'";
if(filename!=null){
DBConnect con = new DBConnect();
BufferedInputStream inputImage = null;
ServletOutputStream sos =null;
BufferedImage image = null;
JPEGImageEncoder encoder =null;
try{
ResultSet rs = con.executeQuery(showImage);
while(rs.next()){
inputImage = new BufferedInputStream(rs.getBinaryStream("memory") );
image = ImageIO.read(inputImage);
sos = response.getOutputStream();
encoder =JPEGCodec.createJPEGEncoder(sos);
encoder.encode(image);
sos.flush();
sos.close();
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
else
{
PrintWriter out=response.getWriter();
out.println("请选择要查看的图片名称!");
}
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { doGet(request,response);
}
public void init() throws ServletException { }}JSP代码
<%@ page language="java" pageEncoding="gb2312"%>
<html>
<head>
<title>showDBImage</title>
<script type="text/javascript" src="PopBox/scripts/PopBox.js"></script>
<script type="text/javascript">
popBoxWaitImage.src = "PopBox/images/spinner40.gif";
popBoxRevertImage = "PopBox/images/magminus.gif";
popBoxPopImage = "PopBox/images/magplus.gif";
</script>
<style type=text/css>
<!--
.PopBoxImageSmall
{
border: none 0px white;
cursor: url("http://localhost:8080/showPicture/kjxm/PopBox/images/magplus.cur"), pointer;
}
.PopBoxImageLarge
{
border: solid thin #CCCCFF;
cursor: url("http://localhost:8080/showPicture/kjxm/PopBox/images/magminus.cur"), pointer;
}
-->
</style><img src="../Show?filename=<%=request.getParameter("filename")%>" alt="" class="PopBoxImageLarge" title="Click to magnify/shrink" onclick="Pop(this,50,'PopBoxImageLarge');"/>
</head><body></body>
</html>图片显示出现叉叉
是否是路径问题?
import java.awt.image.BufferedImage;
import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import javax.imageio.ImageIO;
import javax.sql.*;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
import com.whut.DB.*;public class Show extends HttpServlet { /**
* Constructor of the object.
*/
public Show() {
super();
} /**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println(request.getParameter("filename"));
String filename=request.getParameter("filename");
String archive_no=request.getParameter("archive_no");
String folder_no=request.getParameter("folder_no");
response.setContentType("text/html");
String showImage ="select * from ImageStore where archive_no='"+archive_no+"'and folder_no='"+folder_no+"' and file_name ='"+filename+"'";
if(filename!=null){
DBConnect con = new DBConnect();
BufferedInputStream inputImage = null;
ServletOutputStream sos =null;
BufferedImage image = null;
JPEGImageEncoder encoder =null;
try{
ResultSet rs = con.executeQuery(showImage);
while(rs.next()){
inputImage = new BufferedInputStream(rs.getBinaryStream("memory") );
image = ImageIO.read(inputImage);
sos = response.getOutputStream();
encoder =JPEGCodec.createJPEGEncoder(sos);
encoder.encode(image);
sos.flush();
sos.close();
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
else
{
PrintWriter out=response.getWriter();
out.println("请选择要查看的图片名称!");
}
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { doGet(request,response);
}
public void init() throws ServletException { }}JSP代码
<%@ page language="java" pageEncoding="gb2312"%>
<html>
<head>
<title>showDBImage</title>
<script type="text/javascript" src="PopBox/scripts/PopBox.js"></script>
<script type="text/javascript">
popBoxWaitImage.src = "PopBox/images/spinner40.gif";
popBoxRevertImage = "PopBox/images/magminus.gif";
popBoxPopImage = "PopBox/images/magplus.gif";
</script>
<style type=text/css>
<!--
.PopBoxImageSmall
{
border: none 0px white;
cursor: url("http://localhost:8080/showPicture/kjxm/PopBox/images/magplus.cur"), pointer;
}
.PopBoxImageLarge
{
border: solid thin #CCCCFF;
cursor: url("http://localhost:8080/showPicture/kjxm/PopBox/images/magminus.cur"), pointer;
}
-->
</style><img src="../Show?filename=<%=request.getParameter("filename")%>" alt="" class="PopBoxImageLarge" title="Click to magnify/shrink" onclick="Pop(this,50,'PopBoxImageLarge');"/>
</head><body></body>
</html>图片显示出现叉叉
是否是路径问题?
import java.awt.image.BufferedImage;
import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import javax.imageio.ImageIO;
import javax.sql.*;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
import com.whut.DB.*;public class Show extends HttpServlet {/**
* Constructor of the object.
*/
public Show() {
super();
}/**
* Destruction of the servlet. <br>
*/
public void destroy() {super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println(request.getParameter("filename"));
String filename=request.getParameter("filename");
String archive_no=request.getParameter("archive_no");
String folder_no=request.getParameter("folder_no");
response.setContentType("text/html");
String showImage ="select * from ImageStore where archive_no='"+archive_no+"'and folder_no='"+folder_no+"' and file_name ='"+filename+"'";
if(filename!=null){
DBConnect con = new DBConnect();
BufferedInputStream inputImage = null;
ServletOutputStream sos =null;
BufferedImage image = null;
JPEGImageEncoder encoder =null;
try{
ResultSet rs = con.executeQuery(showImage);
while(rs.next()){
inputImage = new BufferedInputStream(rs.getBinaryStream("memory") );
image = ImageIO.read(inputImage);
sos = response.getOutputStream();
encoder =JPEGCodec.createJPEGEncoder(sos);
encoder.encode(image);
sos.flush();
sos.close();
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
else
{PrintWriter out=response.getWriter();
out.println("请选择要查看的图片名称!");}
}public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {doGet(request,response);
}
public void init() throws ServletException {}}<%@ page language="java" pageEncoding="gb2312"%>
<html>
<head>
<title>showDBImage </title>
<script type="text/javascript" src="PopBox/scripts/PopBox.js"> </script>
<script type="text/javascript">
popBoxWaitImage.src = "PopBox/images/spinner40.gif";
popBoxRevertImage = "PopBox/images/magminus.gif";
popBoxPopImage = "PopBox/images/magplus.gif";
</script>
<style type=text/css>
<!--
.PopBoxImageSmall
{
border: none 0px white;
cursor: url("http://localhost:8080/showPicture/kjxm/PopBox/images/magplus.cur"), pointer;
}
.PopBoxImageLarge
{
border: solid thin #CCCCFF;
cursor: url("http://localhost:8080/showPicture/kjxm/PopBox/images/magminus.cur"), pointer;
}
-->
</style><img src="../Show?filename= <%=request.getParameter("filename")%>" alt="" class="PopBoxImageLarge" title="Click to magnify/shrink" onclick="Pop(this,50,'PopBoxImageLarge');"/>
</head><body></body>
</html>
看没格式化的代码最头疼