在你的jsp文件里,编写显示图片的代码(就像在普通的html里显示图片一样)。
解决方案 »
- linux下 tomcat服务器中访问shtml页面失败
- 哪位大侠帮帮我啊?郁闷多时了!求好心人,谢谢!
- 怎么样配置log4j ,才能将hibernate在控制台输出的sql语句,写入到日志文件中
- 页面传值过来 radio怎么写选中啊??????
- 如何更改 Request中的值
- 向各位高人求救:Applet小程序运行时抛出java.lang.OutOfMemoryError
- Tomcat疑惑?不太会用,200分请求赐教!!!
- jsp中包含两个applet的话,那两个applet的参数可不可以互传的?
- jbuilder8中如何新建的taglib描述(*.tld)文件??有没有向导生成标签?
- java代码中json字符串怎么写?
- SERVLET 不能运行!
- 高分求入门!
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import javax.naming.*;
import java.sql.*;
import javax.sql.*;
public class showimage extends HttpServlet {
public Connection conn=null;
public ResultSet rs=null;
public Statement stmt=null;
public void init(ServletConfig config) throws ServletException {
super.init(config);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{
try{
Context ctx = new InitialContext();
DataSource ds =(DataSource)ctx.lookup("java:comp/env/jdbc/dbconnect");
conn= ds.getConnection();
stmt=conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
}
catch(NamingException ne){System.out.print(ne.getMessage());this.closeConnection();return;}
catch(SQLException se){System.out.print(se.getMessage());this.closeConnection();return;}
catch(Exception e){System.out.print(e.getMessage());this.closeConnection();return;}
ServletOutputStream out=response.getOutputStream();
String teacher_id=request.getParameter("teacher_id");
response.setContentType("image/gif");
try{
rs=stmt.executeQuery("select zp from teacher where teacher_id='"+teacher_id+"'");
if(rs.next()){
InputStream in=rs.getBinaryStream(1);
if(in==null){
this.closeConnection();
return;
}
byte[] buffer=new byte[4096];
while(true){
int nbytes=in.read(buffer);
if(nbytes==-1)
break;
out.write(buffer,0,nbytes);
}//end while;*/
in.close();
out.flush();
}//end if;
}catch(Exception e){
out.print("error 1"+e.toString());
this.closeConnection();
return;
}
this.closeConnection();
}//end function doGet();
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
}
public void destroy(){
super.destroy();
}
protected void closeConnection(){
if(conn!=null){
try{if(rs!=null)rs.close();
if(stmt!=null)stmt.close();
conn.close();
}catch(Exception e){
System.out.print("close error"+e.toString());
}finally{
if(rs!=null){try{rs.close();}catch(Exception ignore){}}
if(stmt!=null){try{stmt.close();}catch(Exception ignore){}}
if(conn!=null){try{conn=null;}catch(Exception ignore){}}
}//end finally;
}//end if;
}
}
<%@ page
contentType="text/html; charset=GBK"
import="com.client.gzdx.*,com.client.rk.*,zxctc.tool.*,java.sql.*,javax.servlet.*,javax.servlet.http.*"
%>
<%
double dou=Math.random();
//response.setHeader("Refresh","300");
%>
<jsp:useBean id="ejbutil" scope="Application" class="com.util.EJBUtil" />
<jsp:useBean id="jsputil" scope="Application" class="com.util.JSPUtil" />
<jsp:useBean id="gzdxgzdxzb" scope="request" class="com.client.gzdx.GzdxGzdxzb" />
<jsp:useBean id="gzdxgzdxzbtmtz" scope="request" class="com.client.gzdx.GzdxGzdxzbTmtz" />
<jsp:useBean id="gzdxgzdxzbtbtsbj" scope="request" class="com.client.gzdx.GzdxGzdxzbTbtsbj" />
<jsp:useBean id="rk" scope="request" class="com.client.rk.Rk" />
<jsp:useBean id="rkcs" scope="request" class="com.client.rk.RkCs" />
<jsp:useBean id="rkrhgx" scope="request" class="com.client.rk.RkRhgx" />
<jsp:useBean id="rkjzjzxx" scope="request" class="com.client.rk.RkJzJzxx" />
<jsp:useBean id="gzdxgzdxzbajglb" scope="request" class="com.client.gzdx.GzdxGzdxzbAjglb" /><html>
<head>
<title></title>
<link rel="stylesheet" href="../public/css/view.css" type="text/css">
<link rel="stylesheet" href="../public/css/button.css" type="text/css">
<link rel="stylesheet" href="../public/css/special.css" type="text/css">
<link rel="stylesheet" href="../public/css/005.css" type="text/css"><script language="JavaScript" src="../public/js/button.js"></script>
<script LANGUAGE="Javascript" src="../public/js/s_or_h.js"></script>
<script language="JavaScript" src="../public/js/image.js"></script>
<script language="JavaScript">
<!--
function GetDescription(sValue,codename)
{
var sReturnVal;
var sReturnVal2;
var oDataRoot ;
var oData = new ActiveXObject("Msxml2.DOMDocument.3.0");
var sXMLFile = "../public/xml/htkz/"+codename+".xml";
oData.async = false;
oData.load(sXMLFile);
oNode = oData.documentElement.selectSingleNode("//DMYY[../DM='" + sValue +"']");
oNode2 = oData.documentElement.selectSingleNode("//DMYY[../DM=" + 0 +"]");
if (null == oNode)
sReturnVal = "<font color=red size=2>无代码意义</font>" ;
else
sReturnVal = oNode.text ;
return sReturnVal;
}
function GetStrDepict(p_sStr, p_cCodeName)//翻译单个和多个代码函数
{
if (p_sStr==""||p_sStr==null||arguments.length==0)
{
document.write("<font color=red size=2>无数据</font>");
}
else
{
var sReturnVal = ""; if (p_sStr.indexOf(";") > 0)
{
var aStr = p_sStr.split(";");
var sTmp = ";";
var i, nLen nLen = aStr.length ;
for (i=0; i<nLen; i++)
{ if (0 == i)
{
sReturnVal += GetDescription(aStr[i], p_cCodeName) ;
}
else
{
sReturnVal += sTmp + GetDescription(aStr[i], p_cCodeName) ;
} }
}
else
{
sReturnVal = GetDescription(p_sStr, p_cCodeName) ;
} document.writeln(sReturnVal) ;
}
}//-->
</SCRIPT>
</head>
<body onerror="document.location=#" topMargin=0 leftMargin=0>
<table class="button_table" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td class="frame_td" align="center">
<!-- 登记表:工作对象基本信息 -->
<table id="tab" cellPadding=0 cellSpacing=0 class="view_parent_table" style="display:block"><tr><td class="view_th" colspan="18">常住人口基本信息</td></tr>
<tr>
<td align="center">
<table border="1" width="100%" class="view_sub_table">
<tr>
<td width="5%" rowspan="10" class="view_field_class">
<td width="8%" class="view_field_class1">
<p>公民身份<br>
证件编号</p></td>
<td width="40%" colspan="6" class="view_data_class1"><%=rk.getRkbh()%> </td>
<td width="8%" class="view_field_class1"><p><%=jsputil.getFieldCName("xm@rk")%></p></td>
<td width="18%" colspan="4" class="view_data_class1"><%=rk.getXm()%> </td>
<td width="20%" rowspan="4" colspan="3" class="view_field_class1"><img id="photo" src="showImageServlet.photo?showMethod=directShow&colName=photo&ran=<%=dou%>" width="90" height="110" onclick="showOriginalPhoto('photo')" style="cursor:hand" title="显示照片原始尺寸"></td>><!--!!!照片调用处 -->
</tr>
<tr>
<td width="8%" class="view_field_class1"><p><%=jsputil.getFieldCName("xbbm@rk")%></P></td>
<td width="10%" class="view_data_class1"><Script LANGUAGE="JavaScript">GetStrDepict("<%=rk.getXbbm()%>","sex")</Script> </td>
<td width="9%" class="view_field_class1"><%=jsputil.getFieldCName("csrq@rk")%> </td>
<td width="180" colspan="4" class="view_data_class1"><%=rk.getCsrq().toString().substring(0,10)%> </td>
<td width="8%" class="view_field_class1"><%=jsputil.getFieldCName("mzbm@rk")%> </td>
<td width="18%" colspan="4" class="view_data_class1"><script LANGUAGE="JavaScript">GetStrDepict("<%=rk.getMzbm()%>","rt003")</Script> </td>
</tr>
<tr>
<td width="8%" class="view_field_class1"><%=jsputil.getFieldCName("whcdbm@rk")%> </td>
<td width="10%" class="view_data_class1"> <script LANGUAGE="JavaScript">GetStrDepict("<%=rk.getWhcdbm()%>","whcdbm")</script></td>
<td width="8%" class="view_field_class1"><%=jsputil.getFieldCName("jgbm@rk")%> </td>
<td width="42%" colspan="9" class="view_data_class1"><script LANGUAGE="JavaScript">GetStrDepict("<%=rk.getJgbm()%>","rt002")</script> </td>
</tr>
<tr>
<td width="8%" class="view_field_class1"><%=jsputil.getFieldCName("fwcsmc@rk")%> </td>
<td width="180" height="23" colspan="2" class="view_data_class1"> <%=rk.getFwcsmc()%></td>
<td width="8%" class="view_field_class1"><%=jsputil.getFieldCName("zymc@rk")%> </td>
<td width="141" height="23" colspan="3" class="view_data_class1"> <%=rk.getZymc()%></td>
<td width="8%" class="view_field_class1"><%=jsputil.getFieldCName("sfbm@gzdx_gzdxzb")%> </td>
<td width="18%" colspan="4" class="view_data_class1"><script LANGUAGE="JavaScript">GetStrDepict("<%=gzdxgzdxzb.getSfbm()%>","zktjsf")</script> </td>
</tr>
<tr>
<td width="8%" class="view_field_class1">别名绰号</td>
<td width="440" colspan="7" class="view_data_class1">
<%
ArrayList bmch=(ArrayList)request.getAttribute("Rkbm");
Iterator iterator_bmch=bmch.iterator();
RkBm rkbmch=new RkBm();
while(iterator_bmch.hasNext())
{
rkbmch=(RkBm)iterator_bmch.next();
%>
<script LANGUAGE="JavaScript">GetStrDepict("<%=rkbmch.getBmlxbm()%>","bmlxbm")</script><b>:</b><%=rkbmch.getBm()%><b>|</b>
<%
}
bmch=null;
%>
</td>
<td width="8%" colspan="2" class="view_field_class1">通讯号码</td>
<td colspan="5" class="view_data_class1">
<%
ArrayList rktx=(ArrayList)request.getAttribute("Rktx");
Iterator iterator_rktx=rktx.iterator();
RkTx rktxhm=new RkTx();
while(iterator_rktx.hasNext())
{
rktxhm=(RkTx)iterator_rktx.next();
%>
<script LANGUAGE="JavaScript">GetStrDepict("<%=rktxhm.getTxhmzlbm()%>","txhmzlbm")</script>:<%=rktxhm.getTxhm()%>;
<%
}
rktxhm=null;
%>
</td>
</tr>
<tr>
<td width="8%" class="view_field_class1"><%=jsputil.getFieldCName("kybm@gzdx_gzdxzb_ky")%> </td>
<td width="440" colspan="7" class="view_data_class1">
<%
ArrayList kybm=(ArrayList)request.getAttribute("Kybm");
Iterator iterator=kybm.iterator();
GzdxGzdxzbKy gzdxgzdxzbky=new GzdxGzdxzbKy();
while(iterator.hasNext())
{
gzdxgzdxzbky=(GzdxGzdxzbKy)iterator.next();
%>
<script LANGUAGE="JavaScript">GetStrDepict("<%=gzdxgzdxzbky.getKybm()%>","rt057")</script>;
<%
}
kybm=null;
%>
</td>
图片是类似那种身份证像的图片,乱码时大部分是黑色,其中能夹杂白色条纹,但是大体能看清人头的轮廓!有时第一次请求之后正常显示,之后发出同一请求,在JSP显示时就又乱码了,救救我呀!
<img scr=/servlet/servlet文件名?传递的参数=<%=value%>>这样就可以了,其中SERVLET是用来显示图片的那个类!
其中src指定的就是你输出图片流的类,这和制定图片文件没什么区别。
只要你的类输出的图片流没出什么问题,那么这边jsp显示的也就不会有问题。
根据你说出现的情况,好像是图片流输出时有时候不完整。
所以才会有显示有残缺的情况。