servlet文件上传

jsp:

 

servlet:

/*
*
* 文件上传
*/
public class UploadServlet extends HttpServlet {

/**
* Constructor of the object.
*/
public UploadServlet() {
super();
}

@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {


String url=request.getServletPath();
if(url.contains("add"))
{
//上传路径
String filePath = getServletContext().getRealPath("/")+"upload";
//如果文件夹不存在 则创建这个文件夹
File file = new File(filePath);
if(!file.exists())
{
file.mkdir();
}

request.setCharacterEncoding("UTF-8");

//初始化smartupload对象
SmartUpload upload=new SmartUpload();
upload.initialize(getServletConfig(), request,response);
//设置上传文件大小
upload.setMaxFileSize(1024*1024*2);
//设置上传文件的格式
upload.setAllowedFilesList("jpg,png,gif");
try {
//文件开始上传
upload.upload();
//对文件名字不做修改的上传
//upload.save(filePath);

// 如果要对文件进行重命名 使用saveAs()
String ext = upload.getFiles().getFile(0).getFileExt() ; //取得文件的扩展名
String picname=System.currentTimeMillis()+"";
upload.getFiles().getFile(0).saveAs("/upload/"+picname+"."+ext) ;


//获取表单中的文本框


String name=upload.getRequest().getParameter("name");
Connection con=Dbutil.getconnect();

String insert="insert into product (name,pic) value(?,?)";
PreparedStatement preparedStatement=con.prepareStatement(insert);

preparedStatement.setString(1, name);
preparedStatement.setString(2, picname+"."+ext);
preparedStatement.execute();






String select="select * from product";

preparedStatement=con.prepareStatement(select);

ResultSet r=preparedStatement.executeQuery();
List<Product> list=new ArrayList();
while(r.next())
{
Product product=new Product();
product.setId(r.getInt("id"));
product.setName(r.getString("name"));
product.setPic(r.getString("pic"));
list.add(product);
}
preparedStatement.close();
Dbutil.realConnection(con);

request.setAttribute("list", list);
request.getRequestDispatcher("/jsp/list.jsp").forward(request, response);




} catch (SmartUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


}

 

转载于:https://www.cnblogs.com/love1/p/7657489.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值