gpt4 book ai didi

java - 需要将 servlet 输出获取到 html 文件中

转载 作者:行者123 更新时间:2023-12-01 12:31:08 24 4
gpt4 key购买 nike

我有一个 html 文件,需要采用两个 servlet 参数,其余参数是硬编码的,然后保存自身,然后在 Javamail 中发送。

JSP获取参数:

    RequestDispatcher rd = getServletContext().getRequestDispatcher(
"/email.jsp");
rd.forward(request, response);

Your User Number is "<em><%=request.getParameter("USERNO")%></em>"
and your password is "<em><%= request.getParameter("PASSWORD")%></em>".

只是为了确认 servlet 在执行时确实成功给出了参数。当我调用如下 url 时,将给出 jsp 到 html 文件的输出:

localhost/MailServlet/HTMLEmail?USERNO=1&PASSWORD=TEST

我的想法是将 jsp 输出的字节保存到 html 文件中,然后将该 html 文件作为电子邮件发送。问题是,当我尝试从 url 进行复制时,它会成为我调用 servlet 的无限循环。

复制字节代码:

        System.out.println("opening connection");
URL url = new URL("http://localhost:8080/MailServlet/HTMLEmail?USERNO="+USERNO+"&PASSWORD="+PASSWORD");
System.out.println("urlString created with URL="+url);
InputStream in = url.openStream();
System.out.println("InputStream opened");
FileOutputStream fos = new FileOutputStream(new File("C:/Users/****/workspace/HtmlMailServlet/WebContent/email.html"));
System.out.println("FileOutputStream opened");
System.out.println("reading file...");
int length = -1;
byte[] buffer = new byte[1024];
// buffer for portion of data from connection
while ((length = in.read(buffer)) > -1) {
fos.write(buffer, 0, length);
}
System.out.println("file read...");
fos.close();
in.close();
System.out.println("file was downloaded");

目前我正在使用一个疯狂的 3 页字符串,其中传递了两个参数,这显然不好看,但可以完成工作。如有任何帮助,我们将不胜感激。

最佳答案

javax.servlet.RequestDispatcher 是您正在寻找的: http://docs.oracle.com/javaee/6/api/javax/servlet/RequestDispatcher.html

关于java - 需要将 servlet 输出获取到 html 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25908994/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com