Java Servlet/Jsp 图像上传以及表单值[关闭]

2024-02-10

我有一个 jsp 表单,它接受有关员工姓名、性别、年龄、电子邮件地址和


Servlet 3.0 容器对多部分数据有标准支持。首先,您应该编写一个 HTML 页面,该页面接受文件输入以及其他输入参数。

<form action="uploadservlet" method="post" enctype="multipart/form-data">
    <input type="text" name="name" />
    <input type="text" name="age" />
    <input type="file" name="photo" />
    <input type="submit" />
</form>

现在编写一个使用 Servlet 3.0 Upload API 的 UploadServlet。下面是演示 API 用法的代码。首先,处理多部分数据的 Servlet 应该使用以下两种方法之一定义 MultiPartConfig:

  • @MultiPartConfigServlet 类的注释
  • In web.xml,通过增加<multipart-config>进入内部<servlet>定义。

这是UploadServlet,

@MultipartConfig
 public class UploadServlet extends HttpServlet
 {
   protected void service(HttpServletRequest request, 
       HttpServletResponse responst) throws ServletException, IOException
   {
      Collection<Part> parts = request.getParts();
      if (parts.size() != 3) {
         //can write error page saying all details are not entered
       }

       Part filePart = httpServletRequest.getPart("photo");
       InputStream imageInputStream = filePart.getInputStream();
       //read imageInputStream
       filePart.write("somefiepath");
       //can also write the photo to local storage

       //Read Name, String Type 
       Part namePart = request.getPart("name");
       if(namePart.getSize() > 20){
           //write name cannot exceed 20 chars
       }
       //use nameInputStream if required        
       InputStream nameInputStream = namePart.getInputStream();
       //name , String type can also obtained using Request parameter 
       String nameParameter = request.getParameter("name");

       //Similialrly can read age properties
       Part agePart = request.getPart("age");
       int ageParameter = Integer.parseInt(request.getParameter("age"));



    }

}

如果您没有使用 Servlet 3.0 容器,您应该了解 Apache Commons 文件上传。以下是使用 Apache Commons 文件上传的链接:

  • 使用 Apache Commons 文件上传 http://commons.apache.org/fileupload/using.html
  • Apache Commons 文件上传示例 http://www.kodejava.org/browse/55.html

参考:

  • Servlet 3.0 javax.servlet.http.HttpServletRequest API http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html
  • Servlet 3.0 javax.servlet.http.Part API http://docs.oracle.com/javaee/6/api/javax/servlet/http/Part.html
  • 使用Servlet 3.0上传文件 http://srikanthtechnologies.com/blog/java/uploadfile.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java Servlet/Jsp 图像上传以及表单值[关闭] 的相关文章

  • 在 JList 中写一些东西

    嘿 我还有另一个问题 我创建JList在我的主窗口中 现在我想向其中添加一些内容 我这样做 private void jButton2ActionPerformed java awt event ActionEvent evt Dodaj
  • 如何在 Android 中签署 AAR Artifacts?

    我目前正在开发一个 AAR android 库 我想用我自己的密钥对已发布的工件进行签名 以便我可以确定我是否发布了具有相同名称和功能的假 aar 注意事项1 我希望能够以编程方式检查我的库的真实性 即使是一个伪造的库 只是伪造了我的 aa
  • 带嵌入式 tomcat 的 spring-boot 不会将请求分派到控制器

    我有一个使用 spring boot 和嵌入式 Tomcat 容器的应用程序 据我所知 我的代码与 spring boot 相同示例项目 https github com spring projects spring boot tree m
  • 关闭 选择文件对话框和 onchange 事件之间存在大量延迟。浏览器有点冻结

    有时我会遇到浏览器本机选择文件对话框的非常奇怪的行为 我有一个
  • OpenCV Python 删除图像中的某些对象

    我正在使用带有 opencv 和 numpy 的 python 来检测天文中的星星 例如这个1 https i stack imgur com AKwEJ jpg图片 使用模板匹配 我可以用阈值检测星星 单击 2 2 https i sta
  • php 发送带有图像的电子邮件

    我正在尝试发送一封带有图片的电子邮件 我的电子邮件正文是 当我收到电子邮件时 我看不到图片 相反 我 看 img src http planet earth bogus us icons secret pictures gif 我知道这是因
  • 如何在 SpringBoot v3.0.0 中使用嵌入式 MongoDB?

    我正在尝试连接嵌入式 mongodb 并使用 MongoDbSpringIntegrationTest 对其进行测试 问题是相同的代码在 2 7 7 中适用于 spring boot 但在 3 0 0 中不适用于 spring boot 问
  • 如何使用Gson将JSONArray转换为List?

    在我的 Android 项目中 我试图将收到的 JSONArray 转换为列表 在 的帮助下这个答案 https stackoverflow com questions 8371274 how to parse json array in
  • 如何防止我的 servlet 被其他网站调用

    好的 我有一个像这样的简单的 servlet public class SimpleServlet extends HttpServlet public void doPost HttpServletRequest req HttpServ
  • Android 的@hide 注解到底有什么作用?

    Android中很多内部API都被标记出来了 hide What exactly这是吗 另一个答案 https stackoverflow com questions 17035271 what does hide mean in the
  • 使用 PHP 上传、调整图像大小并裁剪图像中心

    我想要创建一个非常非常基本的上传 调整大小和裁剪 PHP 脚本 其功能与 Twitter 用于上传头像图片的方法相同 无论如何我最后检查过 我希望脚本拍摄任何尺寸的图像 将最短边的大小调整为 116 像素 然后裁剪顶部和底部 如果是横向 则
  • String.intern() 线程安全吗

    我想在Java中使用 String intern 来节省内存 对具有相同内容的字符串使用内部池 我从不同的线程调用这个方法 这是个问题吗 对你的问题的简短回答是肯定的 它是线程安全的 但是 您可能需要重新考虑使用此工具来减少内存消耗 原因是
  • 错误包括 bouncycastle 提供商

    我需要使用bouncycastle provider我的项目中的库 我已将其包含在 gradle 项目中 apply plugin application sourceCompatibility 1 6 version 1 0 0 main
  • 将序列化数据发送到 servlet 时出现 java.io.EOFException

    我正在尝试从 Java 本地应用程序上传一个包含文件到服务器的对象 我的计划是 在 tomcat 上运行的 servlet 将使用以下方法获取对象ObjectInputStream in the doGet方法 但我得到一个EOFExcep
  • mysql 准备好的语句错误:MySQLSyntaxErrorException

    我使用准备好的语句编写了选择语句 每次尝试运行都会出现此错误 我如何克服这个错误 我的jdbc连接器是mysql connector java 5 1 13 bin jar 我的代码 public Main add ad to getAdD
  • 如何在列表视图中选择时启用视频序列自动播放?

    大家好 有人可以与我分享一下我如何编写我的 viewvideo java 类 以便它允许自动播放视频功能 自动排序在列表视图中播放所选视频的任务 从当前位置到最新录制的视频 按顺序直到最新的视频播放完毕 这类似于 YouTube 自动播放功
  • 在Android项目中引用(纯java)项目(找不到类)

    我试图在我的 Android 项目中引用一个纯 java 项目 gt Java 项目有一大堆我需要使用的类 哦 正如第一个回复所指出的 我正在使用 eclipse 是的 唯一的问题是 我总是找不到类 XXX 从方法 com example
  • 为什么找不到 getservletcontext?

    我正在尝试使用getServletContext getRealPath 但我不断收到此错误 cannot find symbol symbol method getServletContext location interface jav
  • 位图太大 as3

    在AS3中 我从zip文件加载png nochump的zip库通过ByteArray到Loader png 的宽度最大可达 45k 像素 但高度仅为 120 像素 这在 Flash 中产生了一个问题 因为图像的宽度只能约为 8000 像素
  • Spring Boot 2 中的 401 代替 403

    With 春季启动 https projects spring io spring boot 1 5 6 发布我能够发送 HTTP 状态代码401代替403如中所述如果请求未经身份验证的uri 如何让Spring Security响应未经授

随机推荐

  • 如何告诉 Fluent NHibernate 不要映射类属性

    我有一个在 Fluent nhibernate 中映射的类 但我希望映射忽略其中一个类属性 使用下面的类和映射我收到此错误 以下类型不得用作代理 iMasterengine Data Model Calendar 方法 get HasEve
  • pickle.load() 在 Windows 中引发 EOFError

    代码是这样的 with open pickle f r as fhand obj pickle load fhand 这在 Linux 系统上工作正常 但在 Windows 上不行 它显示 EOFError 我必须使用rb模式使其在 Win
  • 配置 XML 序列化的替代方案

    目前 我们使用一个巨大的配置对象 该对象与 XML 序列化 这在大多数情况下都工作得很好 但我们发现 在断电和应用程序崩溃的情况下 文件可能会处于无法正确反序列化的状态 从而有效地损坏配置信息 我想使用内置的app config 但它似乎不
  • 最大最近值sql

    我有一个包含一些数值 直径 的表格 18 21 27 34 42 48 60 76 89 114 ETC 例如 如果我在文本框中输入一个数字 如何选择最大最接近的值 25 选择 27 100 选择 114 48 选择 48 我输入了以下代码
  • Subversion 1.5 的性能很糟糕吗?

    我们一直在致力于一个每个人都在主干上工作的项目 该项目已经达到了我们的开发团队不断壮大的程度 我们终于开始发布客户端 都是好事 因此 为了帮助协调这一切 我们开始遵循 SVN 的分支 合并等最佳实践 我们面临的问题是合并需要花费 20 分钟
  • python Flask-restful 无法获取资源类中的应用程序访问权限

    这是来自的示例代码Flask restful 文档 http flask restful readthedocs org en latest quickstart html a minimal api from flask import F
  • 同一 Django 应用程序中的多个域和多个目录

    我试图支持一个相当复杂的架构 在同一个 django 应用程序中混合多个域和多个目录 基本上 我们会有这样的网址 http www firstdomains com DJANGO APP http www firstdomains com
  • C# gRPC 客户端拦截器设置授权标头

    我正在尝试为 gRPC 客户端创建一个拦截器 始终设置配置的 API 令牌 问题是我找不到设置的方法context Options Headers 如果我正在阅读文档 我需要致电WithHeaders方法 需要设置新的元数据 以便我可以添加
  • MySQL查询-比较版本号

    我的 SQL 表中有一个字段存储版本号 例如 3 4 23 or 1 224 43 有没有办法使用比 更棒该字段的条件 SELECT FROM versions WHERE version number gt 2 1 27 感谢 symcb
  • 访问类方法内的变量

    我正在使用 Tkinter Python 创建一个预算程序 这是我的代码的基础知识 class Expense def init self def Save self TotalAmount blah 所以我需要访问TotalAmount在
  • Maven 隐式“提供”依赖项未显示在“依赖项:树”中

    一位同事正在尝试建立一个新的 Spring 项目 该项目明确依赖于 spring security 而 spring security 又 隐式 依赖于 wss4j 在运行测试时 他遇到了缺少类的问题 我们已将缺失的类跟踪到 axis sa
  • 我应该使用 ASP:Label 标记吗?

    我正在 ASP NET 中构建一个表单来发送电子邮件 到目前为止 一切进展顺利 我能够将 ASP TextBox 内容传递到电子邮件 没有任何问题 现在 我的做法是将静态文本作为 TB 标签放入 然后使用 TB 控件作为输入 我应该使用 A
  • 无法锁定 DLL 上的 c++ 11 std::mutex [重复]

    这个问题在这里已经有答案了 我试图通过使用 std lock 对象来防止多次调用 DLL 初始化函数 在独立程序上使用这样的程序时 include
  • 对数据集的一部分进行多项式拟合的算法

    我有一个算法问题 我不知道 stackoverflow 是否是发布它的正确位置 但由于我使用 matlab 并且想用它来完成此操作 所以我将其发布在那里 我的问题如下 我有一组数据 除了在这组数据的末尾 这些点必须非常线性之外 我对此了解不
  • 使用 aiohttp 嵌套“异步”

    我想创建一个使用 aiohttp 进行 API 调用的调度程序类 我试过这个 import asyncio import aiohttp class MySession def init self self session None asy
  • TextInputEditText:ArgumentNullException:MvxWeakEventSubscription 中缺少源事件信息

    突然 我的 TextInputEditText 的绑定开始失败 这与链接器有关 如果我将链接器设置为 无 则一切都会按预期进行 我使用的许多其他绑定仍然可以正常工作 我得到的堆栈 视图绑定期间抛出异常 ArgumentNullExcepti
  • 在背景中捕捉图像?

    我试图在不加载相机或预览界面的情况下从相机捕获背景图像 在我的应用程序中 照片是在后台拍摄的 没有预览屏幕 只有普通的应用程序屏幕 然后稍后显示给用户 有人可以指出我正确的方向吗 您必须使用 AVCaptureSession 和 AVCap
  • 访问 RadioButton 并在 Espresso 中选择它

    我正在使用 Espresso 来测试 Android 应用程序 我在尝试找到一种方法来访问和选择当前活动的RadioButton 属于RadioGroup 时遇到麻烦 有没有人有什么建议 给出以下布局
  • 如何处理 mod_rewrite 中查询字符串中的“#”?

    I asked 这个问题 https stackoverflow com questions 1640977 how to redirect old ugly urls to seo friendly ones关于将旧的 丑陋 链接重写为搜
  • Java Servlet/Jsp 图像上传以及表单值[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有一个 jsp 表单 它接受有关员