• 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();
    }


    }

  • 相关阅读:
    docker相关
    多线程
    设计模式
    ftp下载乱码问题
    Windows无法启动SQL server 代理服务(服务器)错误1067:进程意外终止
    Struts2 if标签
    Java项目编译时经常会出现不编译,或者报一些假性错误
    ajaxSubmit 上传文件 提示下载json处理
    MySQL中优化sql语句查询常用的30种方法
    mybatis 中的where标签
  • 原文地址:https://www.cnblogs.com/love1/p/7657489.html
Copyright © 2020-2023  润新知