在Servlet中以字符串形式获取文件内容

阿迪·奥哈娜(Adi Ohana)

我正在使用HTML表单将文件上传到Servlet。通常,我想上传XML文件,但是验证是在服务器端完成的。

如何在Servlet上以字符串形式获取文件的内容?

这是我的HTML表单:

<form action="xml" enctype="multipart/form-data">
Select XML file: <input data-theme="b" type="file" name="xmlFile" >
<input data-theme="b" id="xml" type="submit" value="Load">
</form>

这是我的Servlet:

public class LoadFromXML extends HttpServlet {

    private BlackJackWebService_Service service;
    private BlackJackWebService BlackJackWB;

    /**
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
     * methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        URL serverUrl = new URL("http://" + "localhost" + ":" + 8080 + "/bjapi/BlackJackWebService");
        service = new BlackJackWebService_Service(serverUrl);
        BlackJackWB = service.getBlackJackWebServicePort();
        String XMlFileContent = request.getParameter("xmlFile");
        boolean isDuplicate = false;
        boolean isValid = true;
        try {
            BlackJackWB.createGameFromXML(XMlFileContent);
        } catch (DuplicateGameName_Exception ex) {
            isDuplicate = true;
        } catch (InvalidParameters_Exception ex) {
            isValid = false;
        } catch (InvalidXML_Exception ex) {
            isValid = false;
        }
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            /* TODO output your page here. You may use following sample code. */
            out.println("<!DOCTYPE html>");
            out.println("<html>");
            out.println("<head>");
            out.println("<title>BlackJack</title>");
            out.println("<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">");
            out.println("</head>");
            out.println("<body>");
            if (isDuplicate == false && isValid == true) {
                out.println("<h1 id=\"created\">" + " Game created" + "</h1>");
            } else if (isDuplicate == true) {
                out.println("<h1 id=\"created\">" + " Game already exist !" + "</h1>");
            } else if (isValid == false) {
                out.println("<h1 id=\"created\">" + " Invalid XML !" + "</h1>");
            }
            out.println("<form action=\"get_waiting_games\" method=\"get\">");
            out.println("<input data-theme=\"b\" type=\"submit\" value=\"Join a game\">");
            out.println("</form>");
            out.println("<form action=\"create_game.html\" method=\"get\">");
            out.println("<input data-theme=\"b\" type=\"submit\" value=\"Create another game\">");
            out.println("</form>");
            out.println("</body>");
            out.println("</html>");
        } finally {
            out.close();
        }
    }

目前,我试图将文件作为“参数”获取-返回空值。

我的目标是上传文件,将其内容作为servlet中的字符串获取,并继续处理servlet中的字符串。

布鲁诺·格里德(Bruno Grieder)

文件上载遵循RFC 1687,并向服务器发送Multipart(multipart / form-data)

要处理多部分服务器端,请使用适当的库,例如Apache Commons FileUpload

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

以字符串形式获取MimeMessage内容

获取文件内容并将其放入C ++中的字符串中

如何使用xmlStreamReader以字符串形式获取XML文件的全部内容?

无法在Servlet中获取JSON字符串

以字符串形式读取整个文件内容

如何以字符串形式获取UNO共享项目的文件内容

如何从Java文件中以字符串形式读取XML内容

函数从需求中以字符串形式返回内容

如何以字符串形式获取XML内容

按属性获取字符串形式的XML文件

获取任何文件的字符串表示形式,C ++

以字符串形式返回类中的内容

如何在vim中以字符串形式获取缓冲区的内容?

以字符串形式获取iframe内容

在PHP中以字符串形式获取外部PHP文件

Xamarin Forms以字符串形式获取WebView内容

在组织模式下以字符串形式获取文件路径

从字符串中获取特定内容

在 Java 中以字符串形式获取网页内容(类似于 php 的 file_get_contents())

如何从xml文件中以字符串形式获取URL?

MATLAB - 以字符串数组的形式获取文件夹内容

在 RoR 中创建 CKAN 资源,以字符串形式提供文件内容

从文件中获取字符串

从文件获取内容(php)获取json字符串时获取对象字符串

在python中获取'+'字符之前的字符串内容

如何以字符串形式获取 XML 元素的内容?

在 Rust 中以字符串形式获取文件名

如何以纯字符串形式查看文件内容

如何编写文件内容的字符串表示形式?