如何在java中添加变量以形成并通过doPost获取它们

时间:2015-09-01 10:53:45

标签: java jsp

所以我想在我的表单中添加四个变量,我将文件上传到ftp服务器。

现在我将所有变量都硬编码,它看起来像:

FileUploadHandler.java

public class FileUploadHandler extends HttpServlet {
    @Override
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
        ServletFileUpload upload = new ServletFileUpload();
        response.setContentType("text/plain");

        FileItemIterator iterator;
        try {
            iterator = upload.getItemIterator(request);
            while (iterator.hasNext()) {
                FileItemStream item;
                item = iterator.next();

                InputStream stream = item.openStream();
                CountriesReader countriesReader = new CountriesReader();
                Set<Country> sortedCountries = countriesReader.readCountries(stream, true);

                GroupOfCountries groupOfCountries = new GroupOfCountries();
                List<GroupOfCountries> listOfGroupedCountriesClasses = groupOfCountries.organizeCountriesInGroups(sortedCountries);

                FTPConnection ftpConnection = new FTPConnection();
                ftpConnection.makeConnection("localhost", "21", "ftptest", "test");

                Maker maker = new FTPFileMaker(ftpConnection);
                maker.createFiles(listOfGroupedCountriesClasses, File.separator + "test123");
                ftpConnection.makeDisconnection();               
            }
        } catch (FileUploadException e) {
            e.printStackTrace();
        } catch (RuntimeException e) {
            e.printStackTrace();
        } catch (JSONException e) {
            e.printStackTrace();
        } catch (JAXBException e) {
            e.printStackTrace();
        }
    }
}

的index.jsp

<%@page import="java.util.Date"%>
<%@page import="pl.marek.countriesmapper.reader.*" %>
<%@page import="pl.marek.countriesmapper.preparer.*" %>
<%@page import="pl.marek.countriesmapper.country.*" %>
<%@ page language="java" contentType="text/html; charset=US-ASCII" pageEncoding="US-ASCII"%>
<!DOCTYPE html 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=US-ASCII">
<title>Hello</title>
</head>
<body>
 <form name="form1" id="form1" action="upload" method="post" enctype="multipart/form-data">
    <input type="hidden" name="hiddenfield1" value="ok">
    Files to upload:
    <br/>
    <input type="file" size="50" name="file1">
    <input type="submit" value="Upload">
</form>
</body>
</html>

如何添加表格&#34; localhost&#34;,&#34; port&#34;,&#34; username&#34;和#34;密码&#34;然后把它带到FileUploadHandler类中的变量?

1 个答案:

答案 0 :(得分:1)

您可以将文本字段添加为<input type="text" size="50" name="port">,并将其他文本字段添加到表单中,使用request.getParameter(FILED_NAME)将为您提供doPost()方法中的值。