`

javaweb上传文件(sevlet)

阅读更多
把file标签与其他标签分开只处理file标签并把其他参数重定向到另外的函数或servlet

 public class D_BookServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	private D_BookService d_BookService = new D_BookServiceImpl();

	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		String method = request.getParameter("method");
		System.out.println(method);
		if ("add".equals(method)) {
		    upLoadFile(request,  response);
		}else if("addbook".equals(method)){
			addBook(request, response);
		}else if("edit".equals(method)){
			showBook(request, response);
		}
        
	}
       //添加图书
	private void addBook(HttpServletRequest request, HttpServletResponse response) throws IOException{
		  D_Book d_Book = new D_Book();
		  String product_pic  = request.getParameter("product_pic");
		  String product_name  = request.getParameter("product_name");   // varchar(100) NOT NULL,-- 商品名称
		  String fixed_price   = request.getParameter("fixed_price");    // double NOT NULL,-- 商品定价
		  String dang_price    = request.getParameter("dang_price");     //double NOT NULL,-- 当当价
		  String author        = request.getParameter("author") ;        //varchar(200) NOT NULL,-- 作者
		  String publishing    = request.getParameter("publishing");     //varchar(200) NOT NULL,-- 出版社
		  String publish_time  = request.getParameter("publish_time");   //date NOT NULL,-- 出版时间
		  String author_summary= request.getParameter("author_summary"); // varchar(100) NOT NULL,-- 作者简介
		  String description   = request.getParameter("description");    //varchar(100) default NULL,-- 商品描述
		  d_Book.setProduct_pic(product_pic);
		  d_Book.setProduct_name(product_name);
		  d_Book.setDang_price(Double.parseDouble(dang_price));
		  d_Book.setFixed_price(Double.parseDouble(fixed_price));
		  d_Book.setAuthor(author);
		  d_Book.setPublishing(publishing);
		  d_Book.setPublish_time(Date.valueOf(publish_time));
		  d_Book.setAuthor_summary(author_summary);
		  d_Book.setDescription(description);	
		  d_Book.setScore(1);
		  d_BookService.insertD_Book(d_Book);
		  response.sendRedirect("/DangDang/Admin/jspfile/editbook.jsp");
	}
	//上传文件
	@SuppressWarnings("unchecked")
	public void upLoadFile(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
		 // 在解析请求之前先判断请求类型是否为文件上传类型
		  boolean isMultipart = ServletFileUpload.isMultipartContent(request);
		  String url = "";
		  if(isMultipart){
		      // 文件上传处理工厂
		      FileItemFactory fileItemFactory = new DiskFileItemFactory(); 
		      // 创建文件上传处理器
		      ServletFileUpload servletFileUpload = new ServletFileUpload(fileItemFactory);
		      // 开始解析请求信息
			  try {
					List<FileItem> fileItems = servletFileUpload.parseRequest(request);
			        // 对所有请求信息进行判断
				    for(FileItem fileItem: fileItems){
				     //如果提交信息为表单格式设置为新的url
				       if (fileItem.isFormField()) {
			                    String fieldName = fileItem.getFieldName();
			                    String value = fileItem.getString();
				    	        url += "&" + fieldName + "=" + value;
			           }
				       //如果提交信息为文件格式
			           else {
			                    String fileName = fileItem.getName();
			                    String basePath = System.getProperty("user.dir").replace("\\", "/")  + "/../webapps/DangDang/BookImage/";
			                    File file = new File(basePath, fileName);
			                    if (!file.exists()) {
			                       file.createNewFile(); 
			    				}
			                    fileItem.write(file);
			                    url += "&product_pic"  + "=" + "BookImage/" + fileName;
			           }
				    } 
				} catch (FileUploadException e1) {
						e1.printStackTrace();
				} catch (Exception e) {
						e.printStackTrace();
				}
//把设置好的url重新转发到servlet或函数
              response.sendRedirect("/DangDang/admindbook?method=addbook" + url);		           
		  }
 
	}
   
}

1
1
分享到:
评论

相关推荐

    FileUploadServlet_javaweb文件上传servlet_

    在本示例中,"FileUploadServlet"是一个专门处理文件上传的Servlet,让我们详细了解一下如何利用Servlet实现文件上传功能。 首先,我们需要了解Servlet生命周期中的关键方法,如`init()`, `service()`, `doGet()` ...

    JavaWeb06-Servlet.rar

    JSP+servlet+javabean学习 里面有PDF文件对该章节的详细讲解,培训老师才讲的到的,非常详细......资源内容如下: JavaWeb02-request与response.rar ...JavaWeb12-文件上传.rar JavaWeb13-过滤器与监听器.rar

    JavaWeb12-文件上传.rar

    JSP+servlet+javabean学习 里面有PDF文件对该章节的详细讲解,培训老师才讲的到的,非常详细......资源内容如下: JavaWeb02-request与response.rar ...JavaWeb12-文件上传.rar JavaWeb13-过滤器与监听器.rar

    javaweb文件上传与下载模块源代码

    这个"javaweb文件上传与下载模块源代码"提供了一个实现这些功能的基础框架,对于初学者和Java程序员来说,这是一个很好的学习资源。下面将详细讲解其中涉及的关键知识点。 1. **Servlet和HTTP协议**: - 在Java ...

    JavaWeb_servlet(11)_ 通过 ServletContex 获得类路径下的文件路径

    总之,通过ServletContext,JavaWeb开发者可以方便地在类路径下查找和操作文件,这对于管理应用配置、读取静态资源和实现文件上传等操作具有重要作用。在进行Servlet编程时,熟练掌握ServletContext的使用,能够提高...

    javaweb的文件上传整理

    普通Servlet文件上传是JavaWeb中最基础的文件上传方式之一,它主要依赖于Java的标准库进行文件读取和写入。具体步骤如下: 1. **创建HTML表单**:确保表单的`method`属性设置为`POST`,并且`enctype`属性设置为`...

    JavaWeb中文件上传最强工具类

    在JavaWeb开发中,文件上传是一项常见的功能,用于接收用户通过网页上传的文件,例如图片、文档等。这里我们关注的是一个自定义的Util工具类,它特别针对Excel2007格式进行了优化,同时也兼容其他版本的Excel处理。...

    javaweb文件上传和下载

    3. **MultipartConfigElement**:在Servlet配置中,可以使用`@MultipartConfig`注解或`&lt;multipart-config&gt;`元素指定文件上传的配置,如临时文件路径、大小限制等。 4. **处理文件**:上传的文件可以被保存到服务器...

    javaWeb实现文件的上传和下载(可以返回上一级目录)server.zip

    这个"javaWeb实现文件的上传和下载(可以返回上一级目录)"项目,旨在提供一个用户友好的交互式文件管理系统,允许用户不仅能够上传和下载文件,还能方便地浏览文件目录,包括返回上一级目录的功能。下面我们将详细...

    javaweb简单实现文件上传与下载源代码

    在JavaWeb开发中,文件上传和下载是常见的功能需求,特别是在构建交互性强的Web应用时。本源代码示例提供了一个简单的实现,帮助开发者理解如何处理这些操作。下面将详细解释涉及的技术点。 1. **文件上传** - **...

    javaWeb+servlet实现的文件上传和下载功能的所有代码

    本项目聚焦于使用Servlet处理文件的上传和下载功能,这对于任何需要与用户交互并处理文件的Web应用来说都是至关重要的。以下是这些功能的具体实现细节和相关知识点。 **Servlet介绍** Servlet是Java提供的一种...

    javaweb文件上传与下载

    在这个"javaweb文件上传与下载"的示例中,我们将探讨如何实现这两个关键操作。 文件上传: 1. **表单设计**:在HTML页面上,我们需要一个`&lt;form&gt;`元素,包含`&lt;input type="file"&gt;`标签,让用户选择要上传的文件。...

    javaWeb上传代码(普通上传和ajax后台上传)

    在JavaWeb开发中,文件上传是一项常见的功能,用于允许用户上传他们的文件到服务器。本教程将探讨如何使用Apache Commons FileUpload库实现这两种上传方式:普通表单上传和使用jQuery进行AJAX后台上传。 首先,...

    JavaWeb开发实战宝典-servlet篇

    其他诸如"4.04"、"4.02"等可能是章节编号,代表了不同主题的源代码示例,可能涵盖了请求分发、会话管理、MVC模式应用、文件上传下载、过滤器和监听器等实践内容。 学习这个教程,开发者不仅可以掌握Servlet的基本...

    使用javaweb写Servlet

    Servlet不仅仅用于简单的输出文本,它们可以处理复杂的业务逻辑,例如数据库操作、文件上传下载、会话管理等。Servlet还可以与其他Java Web组件如JSP(JavaServer Pages)、Filter和Listener协同工作,构建更强大的...

    javaweb文件域包

    JavaWeb文件域包是开发JavaWeb应用程序时处理文件上传功能的重要工具。在Web应用中,用户经常需要上传图片、文档等文件,这时就需要借助特定的库来实现这一功能。"commons-fileupload-1.3.1.jar" 和 "commons-io-2.4...

    javaweb实际项目开发中上传文件图片的实现(代码)

    这里我们将深入探讨如何在JavaWeb环境中实现文件图片的上传功能,主要涉及到的技术点包括Servlet、MultipartFile、文件存储策略以及异常处理。 1. **Servlet基础**: - Servlet是JavaWeb开发中的核心组件,用于...

    JavaWeb文件上传功能

    3. **Servlet规范**:在JavaWeb中,我们通常使用Servlet来处理文件上传请求。Servlet 3.0及以上版本提供了更方便的API,可以直接通过`Part`接口处理上传的文件。例如,我们可以使用`HttpServletRequest.getParts()`...

    javaweb表单数据和多文件上传

    综上所述,Java Web中的表单数据和多文件上传涉及多个步骤,包括表单配置、Servlet处理、文件上传库的使用、安全性考虑、错误处理和性能优化。理解这些概念和实践是构建功能完善的Web应用不可或缺的部分。通过熟练...

    文件上传到服务器 javaweb

    本教程将探讨如何利用Servlet技术实现文件上传至由Tomcat服务器托管的应用中。 首先,我们需要了解Servlet的基本概念。Servlet是Java编程语言中用于扩展Web服务器功能的Java类。在文件上传场景下,Servlet扮演了...

Global site tag (gtag.js) - Google Analytics