在Action中,取jsp中的数据保存数据库 date

案例:

        数据库 -- jsp主页面 --  jsp修改页面  -- 数据库

jsp主页面取出数据库date类型的值,然后记录在jsp页面上

<fmt:formatDate value="${数据列}" pattern="yyyy-MM-dd HH:mm:ss" />

点击修改或者其他,跳转到jsp 修改页面:

在修改的按钮的事件中,设置date类型的传至:

<form name="name" id="id" action="${path}/路径.do?method=方法名&time=${数据库中对应列}" method="post"  enctype="multipart/form-data">

在方法的中(Action):找到实体对象的名称。运行,实体对象中取不到date类型的值。

在方法中定义string 类型,接受jsp修改页面传过来的date值。

String aa  = request.getParameter("time");
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  Date dateTemp = sdf.parse(aa);
  实体对象名.setCreattime(dateTemp);

然后把值转换为date类型,传给实体对象。实现对数据库中date类型值的修改操作。

首先需要明确的是,影片上传功能需要涉及到文件上传和文件存储两个方面。 1. 文件上传 在JSP,可以使用form表单的<input type="file">元素实现文件上传。具体实现方法如下: 在上传页面的表单添加一个文件选择框: ``` <form action="upload.jsp" method="post" enctype="multipart/form-data"> <label for="file">选择文件:</label> <input type="file" name="file" id="file"> <input type="submit" name="submit" value="上传"> </form> ``` 在服务器端的upload.jsp页面,通过request对象获上传的文件并保存到指定位置: ``` <% String savePath = "D:/upload"; // 保存的目录 String fileName = ""; // 保存的文件名 File file = new File(savePath); if (!file.exists() && !file.isDirectory()) { System.out.println(savePath+"目录不存在,需要创建"); file.mkdir(); // 创建目录 } // 上传文件 String contentType = request.getContentType(); if (contentType != null && contentType.indexOf("multipart/form-data") >= 0) { try { DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); List<FileItem> items = upload.parseRequest(request); for (FileItem item : items) { if (!item.isFormField()) { fileName = item.getName(); // 处理上传的文件名,只保留文件名部分 fileName = fileName.substring(fileName.lastIndexOf("\\")+1); OutputStream out = new FileOutputStream(new File(savePath, fileName)); InputStream in = item.getInputStream(); int len; byte[] buffer = new byte[1024]; while ((len = in.read(buffer)) > 0) { out.write(buffer, 0, len); } out.close(); in.close(); } } } catch (Exception e) { e.printStackTrace(); } } %> ``` 2. 文件存储 影片上传之后需要将文件存储到服务器的指定目录,并保存文件信息到数据库。可以在upload.jsp页面添加代码实现存储操作。具体实现方法如下: 在数据库创建一个存储影片信息的表,例如film表,包含以下字段: - film_id:影片ID,自增长 - film_name:影片名称 - film_path:影片存储路径 - film_time:上传时间 在upload.jsp页面添加代码实现存储操作: ``` <% String savePath = "D:/upload"; // 保存的目录 String fileName = ""; // 保存的文件名 File file = new File(savePath); if (!file.exists() && !file.isDirectory()) { System.out.println(savePath+"目录不存在,需要创建"); file.mkdir(); // 创建目录 } // 上传文件 String contentType = request.getContentType(); if (contentType != null && contentType.indexOf("multipart/form-data") >= 0) { try { DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); List<FileItem> items = upload.parseRequest(request); for (FileItem item : items) { if (!item.isFormField()) { fileName = item.getName(); // 处理上传的文件名,只保留文件名部分 fileName = fileName.substring(fileName.lastIndexOf("\\")+1); OutputStream out = new FileOutputStream(new File(savePath, fileName)); InputStream in = item.getInputStream(); int len; byte[] buffer = new byte[1024]; while ((len = in.read(buffer)) > 0) { out.write(buffer, 0, len); } out.close(); in.close(); // 将影片信息保存数据库 String filmName = request.getParameter("film_name"); String filmPath = savePath + "/" + fileName; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String filmTime = sdf.format(new Date()); Connection conn = null; PreparedStatement ps = null; try { Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/test"; String user = "root"; String password = "123456"; conn = DriverManager.getConnection(url, user, password); String sql = "insert into film(film_name, film_path, film_time) values(?,?,?)"; ps = conn.prepareStatement(sql); ps.setString(1, filmName); ps.setString(2, filmPath); ps.setString(3, filmTime); ps.executeUpdate(); } catch (Exception e) { e.printStackTrace(); } finally { try { if (ps != null) { ps.close(); } if (conn != null) { conn.close(); } } catch (Exception e) { e.printStackTrace(); } } } } } catch (Exception e) { e.printStackTrace(); } } %> ``` 这样,影片上传功能就实现了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值