一、基本概要
以前的数据库存储基本类型,但如果需要检索图像该怎么办? 我们可以用varchar保存图像的名称和类型。 实际操作如下。
二、基本部署
1 .创建数据库
2 .项目布局
三.介绍和具体代码
1 .配置虚拟路径
2 .图片添加代码
//简化名称
@ web servlet ((/picture add ),)/add' } ) )
//标准装备
@多点配置
publicclasspictureaddextendshttp servlet {
私有状态长时间服务版本=1l;
protectedvoiddoget (httpservletrequestrequest,http服务器响应响应)。
throws ServletException,IOException {
//设置获取格式
request.setcharacterencoding (utf-8 );
//给定的路径
string basepath=' d : /文件服务器';
//获取一个文件单元
part part=request.get part (' picurl );
获取//文件名
string fname=part.getsubmittedfilename (;
//防止重复,特定代码
String uuid=UUID.randomUUID ().toString );
获取//文件类型
string suffix=fname.substring (fname.lastindexof ('.' );
//获得文件名
fname=uuid suffix;
//加载到指定目录
部件. write (basepath file.separator fname );
Connection conn=DBUtils.getConn (;
图片图片=new图片(;
string name=request.getparameter (' picname );
picture.setname(name;
图片. set imgurl (fname );
picturedaopd=newpicturedao (conn );
booleanf=PD.insert (图片;
//请求传输值
request.setattribute('pname ',fname );
if(f ) {
跳转到show.jsp页面,在页面上显示图像
request.getrequest dispatcher (show.JSP ).forward ) request,response );
} else {
request.getrequest dispatcher (error.html ) ).forward (请求,响应);
}
try {
conn.close (;
}catch(sqlexceptione ) {
//todo auto-generated catch块
e .打印堆栈跟踪(;
}
}
保护性语音响应(httpservletrequestrequest,http servlet响应)。
throws ServletException,IOException {
doget (请求,响应);
}
3,show.jsp的具体代码:
插入标题here
-%
//获取请求转发过来的值并显示在页面上
(/
四.展示效果
五.总结
您可以在数据库中保存图像的地址。 UUID编码可以防止图像重叠。