gpt4 book ai didi

java - 从 java 类调用 servlet

转载 作者:太空宇宙 更新时间:2023-11-04 15:21:09 25 4
gpt4 key购买 nike

出于测试目的,我在简单的 java 类中调用 servlet 时遇到了问题。我想随 servlet 一起传递一个参数,方法将是 POST。如何才能实现呢?

在搜索答案时,我看到有人推荐了 HTTPClient。但只是想知道是否有办法避免这种情况。

最佳答案

您所要做的就是请求一个 URL。像平常一样放置所有名称、值对,然后在其上打开一个流。

这里是示例代码:

import java.io.*; 
import javax.servlet.http.*;
import javax.servlet.*;

public class SpecialServlet extends HttpServlet
{

public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
{
PrintWriter out = res.getWriter();
out.println ("Hello " + req.getParameter("name") + ", this is SpecialServlet!");
out.close();
}
}

java程序:

import java.net.*; 
import java.io.*;

public class CmdLineApplication
{
public static void main (String args[])
{
String line;
try
{
URL url = new URL( "http://127.0.0.1/servlet/special?name=CmdLineApplication" );
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
line = in.readLine();
System.out.println( line );
in.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}

将 servlet .class 文件放入 servlet 引擎的 WEB-INF/classes 目录中。以通常的方式在命令行上运行另一个类:

java CmdLineApplication

您应该看到来自 servlet 的字符串

关于java - 从 java 类调用 servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20368375/

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