Java 从一个servlet向另一个servlet提交信息

Java 从一个servlet向另一个servlet提交信息,java,javascript,html,servlets,Java,Javascript,Html,Servlets,我有一个小错误,希望有人能帮我解决 servlet1: 这里的故事很简单——我创建了一个表单,里面有一个图像。单击此图像时,应将信息提交给servlet2 public void f1(HttpServletRequest request, HttpServletResponse response) throws IOException { response.setContentType("text/html"); PrintWriter out = response.ge

我有一个小错误,希望有人能帮我解决

servlet1:

这里的故事很简单——我创建了一个表单,里面有一个图像。单击此图像时,应将信息提交给servlet2

public void f1(HttpServletRequest request, HttpServletResponse response) throws  
IOException
{
    response.setContentType("text/html"); 
    PrintWriter out = response.getWriter();
    out.print("<html></br>");
    out.print("<script language='javascript' type='text/javascript'   
    src='functions.js'></script></br>");
    out.print("<body></br>");
    out.print("<form method='post' name='mainForm' action='servlet2'><br/>");
    out.print("<img id='someId' src='someSrc' onclick='submit()'/><br/>");
    out.print("<label id='gameStatus'>Welcome!</label></br>");        
    out.print("</form></br>");
    out.print("</body>\n</html></br>");
}
public void f1(HttpServletRequest请求,HttpServletResponse响应)抛出
IOException
{
response.setContentType(“text/html”);
PrintWriter out=response.getWriter();
输出。打印(“
”); 输出。打印(“
”); 输出。打印(“
”); 输出。打印(“
”); 输出。打印(“
”); 打印(“欢迎!
”; 输出。打印(“
”); 输出。打印(“\n
”; }
好的,我点击了图片,信息现在已经提交了(我想)

servlet2:

这里我只想打印出前面提交的参数

protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();        
    Enumeration parameters = request.getParameterNames();        
    while (parameters.hasMoreElements())
    {            
        out.print((String)parameters.nextElement() + "<br/>");                
    }
}
protectedvoiddopost(HttpServletRequest请求,HttpServletResponse响应)
抛出ServletException、IOException
{
setContentType(“text/html;charset=UTF-8”);
PrintWriter out=response.getWriter();
枚举参数=request.getParameterNames();
while(parameters.hasMoreElements())
{            
out.print((字符串)parameters.nextElement()+“
”); } }
unf。我的输出为空,因此我猜信息未提交。问题是为什么?有打字错误吗?还是一个逻辑问题?
谢谢大家!

你想传递什么信息?我在您的表单中没有看到任何输入字段

请尝试在您的表单中添加输入。让我们看看它是否显示在第二个servlet中

out.print("<form method='post' name='mainForm' action='servlet2'><br/>");
out.print("<input type='text' name='param1' value='test' /><br/>");
out.print("<img id='someId' src='someSrc' onclick='submit()'/><br/>");
out.print("<label id='gameStatus'>Welcome!</label></br>");  
out.print(
); 输出。打印(“
”); 输出。打印(“
”); 打印(“欢迎!
”;

检查是否显示param1。

是,显示该参数。我想我的错误是相当基本的,因为我必须用标签标记我想提交的任何信息。我想我可以像那样检索图像id-我想我错了:)谢谢!但是还有一个bug。输入type='text'时,一切正常,就像使用param1一样。但输入类型为class='image'-提交后不显示任何内容。奇怪-有什么想法吗?你想传递什么数据?我只想检索表单中所有输入的name/id标签。这些图像代表游戏卡。我想获得点击卡的名称/id,以确定选择了哪个等。。使用rquest.getparameter(cardName)是否在图像中放置了
名称
属性?所有这些

标记都是无意义的,并且

无效。查找并阅读一些HTML基础教程。使用
out.print(…)
从servlet输出HTML是20世纪90年代的事——查找并阅读一些关于JSP基础知识的教程。根据我的说法,您不需要使用多部分表单将图像上载/共享到服务器吗?