- 浏览: 168150 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
mengyue0477:
最后还不忘吐槽一下 哈哈 太逗了
spring容器的懒加载lazy-init设置 -
comet0515:
不是maven工程能不能用checkstyle插件?job是一 ...
jenkins 配置checkstyle -
xfxlch:
http://docs.spring.io/spring-bo ...
NoteBook -
With_Me_Forever:
太浅了。我最近也在看着方面的资料,一起进步把。
互联网金融定义 -
xfxlch:
在http://r.m.baidu.com/6pmxgig
NoteBook
本篇主要是简单的实现jsp servlet 的上传文件的功能,基于servlet 2.5。
jar依赖:
commons-fileupload/commons-io/servlet-api(commons-fileupload 自动依赖common-io)
pom.xml文件的内容如下:
form 表单的内容:
要点: method必须是post方法,get是不支持文件上传的。
enctype 属性值为:multipart/form-data。
action 的名字可以取了humanable的值就好了。
input的type要设为file,以支持文件类型。
代码如下:
为了能把上传的文件保存起来,我们配置一个保存的路径c:\temp\data, 这个路径必须是真是存在,如果不存在就手动去创建该目录(in web.xml)如下:
整个web.xml如下:
后台的servlet代码如下:
参考链接:http://www.tutorialspoint.com/servlets/servlets-file-uploading.htm
--EOF--
jar依赖:
commons-fileupload/commons-io/servlet-api(commons-fileupload 自动依赖common-io)
pom.xml文件的内容如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.luchenghao.demo</groupId> <artifactId>gridconfig</artifactId> <version>0.0.1-SNAPSHOT</version> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <org.springframework.version>4.1.5.RELEASE</org.springframework.version> </properties> <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> </dependency> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3</version> </dependency> </dependencies> </project>
form 表单的内容:
要点: method必须是post方法,get是不支持文件上传的。
enctype 属性值为:multipart/form-data。
action 的名字可以取了humanable的值就好了。
input的type要设为file,以支持文件类型。
代码如下:
<!DOCTYPE title PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>File Uploading Form</title> </head> <h3>File Upload:</h3> Select a file to upload: <br/> <form action="UploadServlet" method="post" enctype="multipart/form-data"> <input type="file" name="file" size="50" /> <br /> <input type="Submit" value="Upload"/> </form> </html>
为了能把上传的文件保存起来,我们配置一个保存的路径c:\temp\data, 这个路径必须是真是存在,如果不存在就手动去创建该目录(in web.xml)如下:
<context-param> <description>Location to store uploaded file</description> <param-name>file-upload</param-name> <param-value> c:\temp\data\ </param-value> </context-param>
整个web.xml如下:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5"> <context-param> <description>Location to store uploaded file</description> <param-name>file-upload</param-name> <param-value> c:\temp\data\ </param-value> </context-param> <servlet> <servlet-name>upload</servlet-name> <servlet-class>com.statestreetgx.fcm.core.controller.UploadController</servlet-class> </servlet> <servlet-mapping> <servlet-name>upload</servlet-name> <url-pattern>/UploadServlet</url-pattern> </servlet-mapping> </web-app>
后台的servlet代码如下:
package com.statestreetgx.fcm.core.controller; import java.io.File; import java.util.Iterator; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; /** * * @author a574539 */ public class UploadController extends HttpServlet { /** * serialVersionUID */ private static final long serialVersionUID = -3218211616591116540L; private boolean isMultipart; private String filePath; private int maxFileSize = 50 * 1024; private int maxMemSize = 4 * 1024; private File file; public void init() { // Get the file location where it would be stored. filePath = getServletContext().getInitParameter("file-upload"); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { // Check that we have a file upload request isMultipart = ServletFileUpload.isMultipartContent(request); response.setContentType("text/html"); java.io.PrintWriter out = response.getWriter(); if (!isMultipart) { out.println("<html>"); out.println("<head>"); out.println("<title>Servlet upload</title>"); out.println("</head>"); out.println("<body>"); out.println("<p>No file uploaded</p>"); out.println("</body>"); out.println("</html>"); return; } DiskFileItemFactory factory = new DiskFileItemFactory(); // maximum size that will be stored in memory factory.setSizeThreshold(maxMemSize); // Location to save data that is larger than maxMemSize. factory.setRepository(new File("c:\\temp")); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); // maximum file size to be uploaded. upload.setSizeMax(maxFileSize); try { // Parse the request to get file items. List fileItems = upload.parseRequest(request); // Process the uploaded file items Iterator i = fileItems.iterator(); out.println("<html>"); out.println("<head>"); out.println("<title>Servlet upload</title>"); out.println("</head>"); out.println("<body>"); while (i.hasNext()) { FileItem fi = (FileItem) i.next(); if (!fi.isFormField()) { // Get the uploaded file parameters String fieldName = fi.getFieldName(); String fileName = fi.getName(); String contentType = fi.getContentType(); boolean isInMemory = fi.isInMemory(); long sizeInBytes = fi.getSize(); // Write the file if (fileName.lastIndexOf("\\") >= 0) { file = new File(filePath + fileName.substring(fileName.lastIndexOf("\\"))); } else { file = new File(filePath + fileName.substring(fileName.lastIndexOf("\\") + 1)); } fi.write(file); out.println("Uploaded Filename: " + fileName + "<br>"); } } out.println("</body>"); out.println("</html>"); } catch (Exception ex) { System.out.println(ex); } } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { throw new ServletException("GET method used with " + getClass().getName() + ": POST method required."); } // @RequestMapping(value = "upload") // @ResponseBody // public void upload() { // System.out.println("hello"); // } }
参考链接:http://www.tutorialspoint.com/servlets/servlets-file-uploading.htm
--EOF--
发表评论
-
eclipse project .setting
2016-08-24 11:30 609有一个文件在.setting的目录下面: 文件名:org.ec ... -
jar命令工具
2016-01-23 20:29 700背景: 今天介绍两个jar的命令工具,对我个人来说,还是比较好 ... -
Java的按值传递
2016-01-23 19:30 577问题: 最近在看Mar ... -
Mac OS 安装java 开发环境
2016-01-03 13:00 1777我的机器是: 1. jdk1.7下载安装 jdk7:h ... -
记一次Java Rest Service Hang住的经历
2015-12-28 20:08 2712背景: 在前后端分开开发的过程中,前段的页面要调用后台Java ... -
一个String字符串的问题2
2015-12-14 14:22 614背景: 今天遇到个问题: String str = & ... -
我读重构这本书
2015-12-01 22:30 0第一点:关注变量命名。好的变量名能让读者更快更好的理解程序到底 ... -
系统log的编写
2015-11-16 09:41 0log很关键,一定要记录好对追踪问题有帮助的日志。 -
CAS 授权问题
2015-11-16 09:40 0CAS 授权问题 -
Caused by: java.lang.UnsupportedOperationException 解决方案
2015-10-21 22:09 4123背景: 今天在跑一个UnitTest,跑的过程中想在list ... -
LogBack 框架里log-access的使用
2015-10-18 16:05 7114背景: 想通过配置log-access来实现直接使用浏览器来访 ... -
how to fix "org.hamcrest.CoreMatchers.containsString cannot be resolved"
2015-09-23 23:12 3034背景: 山姆大叔比较喜欢用一些新的技术和新的特性,最近在jun ... -
java 打印金字塔
2015-08-24 00:53 791背景: 一个同事,面试应聘者喜欢用学校里学过的一个书本或者课后 ... -
dos 命令窗口執行java 命令,帶包路徑
2015-07-26 12:16 537記錄一下,是為了自己下次再run java命令的時候,可以很快 ... -
tomcat 远程调试
2015-07-23 18:41 494背景: 我们在项目开发过程中,很多时候会遇到这样的情况:项目在 ... -
使用android studio 来开发hello world app的时候,遇到的一些坑。
2015-07-13 01:38 2170使用android studio 来开发h ... -
ThreadLocal
2015-05-11 07:22 451Java线程:深入ThreadLocal ThreadLo ... -
Hibernate Interceptor(拦截器)
2015-04-28 20:30 2436需求: 对所有操作数据库的事件,添加audit log, 此l ... -
eclipse 加入tomcat 包
2015-03-24 01:09 436... -
Transforming XML with XSLT
2014-10-11 19:14 534public static void catalog() ...
相关推荐
public class ServletUpload extends HttpServlet { private ServletConfig config; @Override public void init(ServletConfig config) throws ServletException { this.config = config; } @Override ...
一旦文件被上传,我们可以在JSP或对应的Servlet中访问它们。`jspsmartupload`提供了许多方法来获取文件信息,例如: ```jsp File file = smart.getFile("fileToUpload"); String fileName = file.getFileName(); ...
在实现文件上传功能时,除了基础的功能实现外,还需要考虑以下几点优化与安全措施: 1. **限制文件大小与类型**:通过配置限制上传文件的大小和类型,防止恶意上传大文件或非预期格式的文件。 2. **文件名冲突处理...
本教程将详细讲解如何使用 `JSP` 和 `Servlet` 结合 `jspsmartupload` 库来实现文件上传功能。 首先,我们需要了解`jspsmartupload`库。`jspsmartupload` 是一个基于Java的开源项目,专门设计用于在`JSP`页面上处理...
综上所述,Servlet、JSP和JavaBean协同工作,实现了用户友好的文件上传功能。Servlet处理HTTP请求,JSP提供用户界面,JavaBean封装业务逻辑,共同构建了一个安全、可控的文件上传系统。通过合理的代码组织和优化,...
本知识点主要探讨如何使用JSP和Servlet来实现文件的上传与下载功能,这是Web应用中常见的需求。 首先,我们要理解JSP和Servlet的角色。JSP主要用于展示视图,而Servlet则处理业务逻辑和控制流程。在上传下载场景中...
在本文中,我们将深入探讨如何使用JSP、Servlet和MySQL实现文件上传功能,特别是基于Servlet 3.0的实现方式。文件上传是Web应用程序中常见的需求,它允许用户上传文件到服务器并存储在数据库中。这里我们将讲解关键...
本知识点主要聚焦于如何利用JSP和Servlet实现文件上传功能,这是一个在Web应用中非常实用的功能,例如用户在网站上提交简历、上传图片等。 首先,我们需要了解文件上传的基本原理。HTTP协议本身不支持文件上传,但...
在Java Web环境中,JSP(JavaServer Pages)与Servlet结合使用,能够实现这样的功能。本教程将详细介绍如何使用JSP和潇湘组件来实现一个简单的文件上传系统。 首先,潇湘组件是Java Web开发中的一个开源工具,提供...
在Java Web开发中,JSP(JavaServer...通过查看和学习这个文件,你可以了解如何在没有第三方库的情况下,用基本的JSP和Servlet实现文件上传功能。这将有助于你理解Web开发中的文件处理原理,提高你的Java Web开发技能。
以下是使用Servlet和JSP实现文件上传的基本步骤: 1. **配置依赖**:在项目中添加Apache Commons FileUpload和IO库。这两个库可以通过Maven或Gradle等构建工具导入,或者手动下载jar文件并添加到项目的类路径中。 ...
本篇将详细讲解如何使用`JSP`和`Servlet`合作实现文件上传功能,特别是针对图片文件的上传。 一、JSP简介 JSP是一种基于Java的服务器端脚本语言,它允许开发者在HTML或XML文档中嵌入Java代码,用于创建动态网页。...
本篇主要讨论如何利用JSP实现上传和下载功能。 上传功能在Web应用中常见于用户需要提交文件至服务器的情况,例如提交简历、上传图片等。在JSP中,我们可以使用Servlet API来处理文件上传。首先,需要在HTML表单中...
本教程将详细解析如何使用纯JSP技术实现一个不刷新页面、允许用户连续填写表单数据并最终上传文件的功能。这一特性对于提高用户体验至关重要,因为它使得用户可以在同一页面上完成所有操作,无需频繁跳转或刷新页面...
总的来说,“jquery jsp servlet 上传”这个案例涵盖了前端交互、文件处理、服务器端逻辑等多个关键环节,是学习Web开发中文件上传功能的宝贵资源。通过实践这个案例,初学者能更好地理解前后端协作的机制,并为后续...
在Java Web开发中,JSP(JavaServer Pages)和Servlet是两种常见的技术,它们常常用于构建动态网页。在处理文件上传需求时,JSP通常作为前端界面,而Servlet则负责后端逻辑处理。本篇文章将深入探讨如何使用JSP与...
本主题将深入探讨如何使用JSP和Servlet来实现一个图片上传功能,并将图片数据存储到Oracle数据库中。 首先,我们需要理解JSP和Servlet的角色。JSP是用于创建动态内容的视图层技术,而Servlet则是Java编写的应用程序...
<%@ page import="com.jspsmart.upload.*" %> SmartUpload su = new SmartUpload(); su.initialize(request, response); su.setMaxFileSize(1024*1024); // 设置最大文件大小 su上传(); if(!su.isCancelled())...
总之,使用JSP实现图片上传功能涉及前端表单设计、后端Servlet处理、文件存储以及错误处理等多个环节。通过学习和实践,我们可以创建出稳定且安全的图片上传功能,提升Web应用的用户体验。在实际项目中,还可能需要...
**JSPUpload 文件上传详解** ...总之,JSPUpload涉及到前端表单设计、后端Servlet处理、文件存储策略等多个环节,需要综合运用多种技术来实现。了解这些知识点有助于构建稳定、安全且用户体验良好的文件上传功能。