JSP初级教程之跟我学JSP(八)(2)_JSP教程
教程Tag:暂无Tag,欢迎添加,赚取U币!
推荐:JSP初级教程之跟我学JSP(七)第七章“备注型”超长文本的操作——Clob类型数据的存取 存放 oracle 留言板的正文内容,用VARCHAR2()是不行的,VARCHAR2()(可变长度的字符串)只能存4000字节,也就是2000个汉字,这也太少了啊,查一下 数据库 类型的资料,发现有这么几个类型: LONG,2G
out.print("<script>");
out.print("alert(’操作成功!’);");
out.print("window.location.href=’upphoto.htm’;");
out.print("</script>");
}//if
}//try
catch(Exception e)
{out.print(e);}
%>
</body>
</html>
----------------------------------------------------------------------------
upphoto.jsp对图片进行存入数据库操作。注意需要将得到的文件的路径改变一下格式:c:\d\e.jpg改成c:\\d\e.jpg
------------------------------showphoto.jsp---------------------------------
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>显示图片</title>
</head>
<body>
<%
String id=request.getParameter("vid");
%>
<table>
<tr>
<td colspan="3"> <img border="1" src="http://ringz/photo?id=<%=id%>"></td>
</tr>
</table>
</body>
</html>
---------------------------------------------------------------------------
showphoto.jsp的这句是关键:src="http://ringz/photo?id=<%=id%>",它说明调用了一个Servlet,这个Servlet的名字叫photo,而且需要给它传一个值(id)。下面看这个Servlet的代码:
---------------------------PhotoServlet.java------------------------------
package ringz.servlet;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.lang.*;
import java.sql.*;
public class PhotoServlet extends HttpServlet//和javabean一样是“类”,所以类名同样要和文件名一致
{
private String CLASSFORNAME = "oracle.jdbc.driver.OracleDriver";
private String SERVANDDB = "jdbc:oracle:thin:name/password@ringz:1521:rock";
Connection con = null;
PreparedStatement psmt = null;
ResultSet rs = null;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
int id = Integer.parseInt(request.getParameter("id"));
try
{
Class.forName(CLASSFORNAME);
con=DriverManager.getConnection(SERVANDDB);
con.setAutoCommit(false);
String sql = "select * from clb where id="+id;
psmt = con.prepareStatement(sql);
rs = psmt.executeQuery();
if (rs.next())
{
Blob bb = rs.getBlob("blob");
InputStream instream = bb.getBinaryStream();
response.setContentType("image/*");
OutputStream outStream = response.getOutputStream();
byte[] bytes = new byte[1024];
int i=0;
while ( (i = instream.read(bytes)) != -1)
{
outStream.write(bytes, 0, i);
}
instream.close();
outStream.close();
outStream = null;
con.commit();
rs.close();
psmt.close();
con.close();
}//if
}//try
catch (Exception ex)
{}
}//doGet
}
分享:JSP初级教程之跟我学JSP(六)第六章 jsp 实现画柱状统计图 这一节的内容是用jsp生成一个统计——统计一年内每个月完成的报修任务量。 Java里和画图有关的是java.awt包,由于我构想的图只是由矩形组成,那么用到的方法也就这么几个:fillRect,drawRect,setColor,setFont,drawString。
相关JSP教程:
- jsp response.sendRedirect不跳转的原因分析及解决
- JSP指令元素(page指令/include指令/taglib指令)复习整理
- JSP脚本元素和注释复习总结示例
- JSP FusionCharts Free显示图表 具体实现
- 网页模板:关于jsp页面使用jstl的异常分析
- JSP页面中文传递参数使用escape编码
- 基于jsp:included的使用与jsp:param乱码的解决方法
- Java Web项目中连接Access数据库的配置方法
- JDBC连接Access数据库的几种方式介绍
- 网站图片路径的问题:绝对路径/虚拟路径
- (jsp/html)网页上嵌入播放器(常用播放器代码整理)
- jsp下显示中文文件名及绝对路径下的图片解决方法
- 相关链接:
- 教程说明:
JSP教程-JSP初级教程之跟我学JSP(八)(2)。