我将为我的学期项目开发一个电子商务商店,我为此目的使用spring mvc,hibernate和jsp。现在需要从客户端上传图像并将其放入MySql数据库中。我已经尝试过,但不知何故不能做这个工作。
这就是我创建数据库的方式
create table PRODUCT_INFORMATION(
productName varchar(255) not null primary key,
productShortInformation varchar(500),
productFullInformation varchar(60000),
productImage longblob
);
这是我的模型类ProductInformation.java
@Entity
@Table(name="PRODUCT_INFORMATION")
public class ProductInformation {
@Id
private String productName;
private byte[] productImage;
private String productShortInformation;
private String productFullInformation;
//getter and setter
}
这是我的控制器类AddProductController.java
@Controller
@RequestMapping(value="/manager")
public class AddProductController extends HttpServlet {
@RequestMapping("/addProduct.html")
public ModelAndView AddingProduct() {
ModelAndView model = new ModelAndView("AddProduct");
return model;
}
@RequestMapping("/addingProductSuccess.html")
public ModelAndView addProductSuccess(HttpServletRequest request) {
ModelAndView model = new ModelAndView("AddingProductSuccess");
ProductInformation productInformation = new ProductInformation();
productInformation.setProductName(request.getParameter("productName"));
productInformation.setProductShortInformation(request.getParameter("productShortInformation"));
productInformation.setProductFullInformation(request.getParameter("productFullInformation"));
try {
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
org.hibernate.Session session = sessionFactory.openSession();
session.beginTransaction();
session.save(productInformation);
session.getTransaction().commit();
session.close();
} catch(Exception e) {
System.out.println("Exception on storing in database: " + e.toString());
return new ModelAndView("AddProduct");
}
return model;
}
}
这是一个AddProduct.jsp视图
<form action="/E-CommerceDemo/manager/addingProductSuccess.html" />
<table>
<tr><td><input type="text" name="productName" /> </td> </tr>
<tr><td><input type="text" name="productShortInformation" /> </td> </tr>
<tr><td><input type="text" name="productFullInformation" /> </td> </tr>
<tr><td><input type="file" name="productImage" /> </td> </tr>
<tr><td><input type="submit"/></td></tr>
` </table>
</form>
现在在AddProduct.jsp文件中,当我点击提交按钮时,我想保存所有保存在数据库中的信息。我在控制器类(name = AddProductController.java)addProductSuccess()fucntion中尝试了这个操作。它插入productName,productShortInformation和productFullInformation。但无法找到如何插入图像。提前谢谢。