//Servlet/*** Servlet implementation class BookServlet*/@WebServlet("/BookServlet")public class BookServlet extendsHttpServlet {private static final long serialVersionUID = 1L;/***@seeHttpServlet#HttpServlet()*/
publicBookServlet() {super();//TODO Auto-generated constructor stub
}/***@seeHttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)*/
protected voiddoGet(HttpServletRequest request,
HttpServletResponse response)throwsServletException, IOException {//TODO Auto-generated method stub
doPost(request, response);
}/***@seeHttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)*/
protected voiddoPost(HttpServletRequest request,
HttpServletResponse response)throwsServletException, IOException {//TODO Auto-generated method stub//图片上传后存储在服务器端的目录名称
String savePath = this.getServletConfig().getServletContext()
.getRealPath("/")+ "uploads/";
System.out.println(savePath);//MultipartReques类主要是对文件上传进行的处理,在上传文件时,编码格式为enctype="multipart/form-data"格式,以二进制形式提交数据,提交方式为post方式。//第一个参数为传过来的请求HttpServletRequest,//第二个参数为上传文件要存储在服务器端的目录名称//第三个参数是用来限制用户上传文件大小//第四个参数可以设定用何种编码方式来上传文件名称,可以解决中文问题
MultipartRequest mul = newMultipartRequest(request, savePath,10 * 1024 * 1024, "gbk");
request.setCharacterEncoding("gbk");
String bookName= mul.getParameter("bookName");
String bookIntroduce= mul.getParameter("bookIntroduce");
String imgAddress= null;//Enumeration是java.util中的一个接口类,在Enumeration中封装了有关枚举数据集合的方法。//在Enumeration中提供了方法hasMoreElement()来判断集合中是否还有其它元素和方法nextElement()来获取下一个元素。利用这两个方法可以依次获得集合中元素。//传回所有文件输入类型的名称
Enumeration files =mul.getFileNames();while(files.hasMoreElements()) {
String fileName=(String) files.nextElement();//用此方法得到上传文件的真正的文件名,这里的fileName指文件输入类型的名称
String filedName =mul.getFilesystemName(fileName);
imgAddress= "uploads/" + filedName;//存在数据库中的路径//imgAddress=fileName;
System.out.println(fileName);
System.out.println(filedName);
}
BookInf bookInf=newBookInf();
bookInf.setBookName(bookName);
bookInf.setBookIntroduce(bookIntroduce);
bookInf.setBookImage(imgAddress);
BookOperate bookOperate=newBookOperate();
bookOperate.insertBook(bookName, bookIntroduce, imgAddress);
ServletConfig config=getServletConfig();
ServletContext context=config.getServletContext();
RequestDispatcher dispatcher=context.getRequestDispatcher("/DisplayBook.jsp");
dispatcher.forward(request,response);
}
}