源程序如下:
package studyB;import javax.servlet.http.*; 
import java.io.*;
import javax.servlet.*; 
import java.util.*;public class B25_HelloWeb extends HttpServlet
{
    public void init(ServletConfig config) throws ServletException
    {
        super.init(config);
    }
    
    public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException
    {
        //Sets the content type of the response being sent to the client.
        response.setContentType("text/html"); 
        PrintWriter out = response.getWriter();
        //set the head
        out.println("<!DOCTYPE HTML PUBLIC\"-//W3C//DTD HTML 4.0 " + 
        "Transitional//EN\">\n" + 
        "<HTML>\n" + 
        "<HEAD><TITLE>B25_HelloWeb</TITLE></HEAD>\n" + 
        "<BODY>\n");
        //set the form
        out.println("<form name=\"B25\" action=http://localhost:8080/myapp/B25_HelloWeb method=post>");
        
        out.println("<input type=\"text\" name="+"\"enter\" size=\"10\">");  
        
        out.println("<button  ONCLICK=\"funSubmit(1);\">submit</button>");
        out.println("<br>");        out.println("<script language='javascript'>");
        out.println("function funSubmit(int i)");
        out.println("{");
        out.println("B25.submit();");
        out.println("return false;");//需要return false
        out.println("}");
        out.println("</script>");
        // jsp ended
                Enumeration parameters = request.getParameterNames();
        String param = null;
                while(parameters.hasMoreElements())
        {
            param = (String)parameters.nextElement();
            
            out.println(request.getParameter(param));
        }
        out.println("</BODY></HTML>"); 
        out.close();
    }    public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException
    {
        doGet(request,response);
    }
}功能描述 :这个servlet的功能是在text框中随便输入信息,然后点击submit按钮,会在页面上
           显示你所输入的信息
运行描述 :这个servlet程序能跑起来,但是当我在文本框中输入信息后,点击submit按钮,
           提示无法表示,但是,当我输入信息后,敲回车enter后,会实现所要求的功能
总结 : 小弟也是刚刚开始接触servlet,现在的问题令我很费解,希望大家能指点迷津,谢谢大家

解决方案 »

  1.   

    为什么非得用servlet呢!不闲麻烦吗?既然你doget&dopost都相当于调用同一个函数,干脆直接写一个jsp页面
      

  2.   

    zgysc(翠湖寒) ( ) 信誉:101  2005-12-13 12:30:00   
       为什么非得用servlet呢!不闲麻烦吗?
    既然你doget&dopost都相当于调用同一个函数,干脆直接写一个jsp页面
    --------------------------------------------------------------------
      zgysc(翠湖寒)问到了小弟的痛楚,我也是很无奈,用Servlet而不能用jsp是要求,没办  法......,很无奈,希望大家帮忙
     
      

  3.   

    rcom10002(KNIGHTRCOM) ( ) 信誉:100  2005-12-13 13:03:00   
       把js函数写在前面
    ----------------------------------
    rcom10002(KNIGHTRCOM) 兄能解释详细点吗,非常感谢
    ps : 我是servlet的新手,很菜,呵呵
      

  4.   

    rcom10002(KNIGHTRCOM)的意思是说你把下面的代码
     out.println("<script language='javascript'>");
            out.println("function funSubmit(int i)");
            out.println("{");
            out.println("B25.submit();");
            out.println("return false;");//需要return false
            out.println("}");
            out.println("</script>");
    写到BODY前面去
      

  5.   

    beermonkey(有啤酒肚的猴) 
    rcom10002(KNIGHTRCOM)的意思是说你把下面的代码......写到BODY前面去
    -------------------------------------------------------------------       
    我是这样子调整的
            out.println("<html>");
            out.println("<head><title>B25_HelloWeb</title></head>");
            ////////
            out.println("<script language='javascript'>");
            out.println("function funSubmit(int i)");
            out.println("{");
            out.println("B25.submit();");
            out.println("return false;");//需要return false
            out.println("}");
            out.println("</script>");
            //////////
            out.print("<body>");
    还是一样的问题
    希望高手们给我把出现这样问题的原因指出来,为什么会是敲回车后会出现结果,但是点击submit 后却不能显示呢?
      

  6.   

    out.println("function funSubmit(int i)");
    你把int去了
      

  7.   

    你敲回车会出现结果是因为这个比没有做function里的事,因为你的BUTTON是SUBMIT的,敲回车就=SUBMIT了,并不运行FUNCTION。点击的运行了FUNCTION,你试着在FUNCTION里加个ALERT就知道了。
      

  8.   

    先写为jsp,要改成servlet的话,只要到tomcat/work下把文件cp出来就行
    里面的out.print cp出来或者就用那个文件就行这样写看着累得慌
      

  9.   

    servlet没错的~``可能是页面上的问题~
      

  10.   

    要知道JS里根本就没有INT这个数据类型的,就象我前面说的那样,做到FUNCTION当然就有错了,不做的话也就没有错。附上JS里的数据类型给你:
    String 
    Number
    Boolean
    但是JS并不严格,你不写的话并不出错。
      

  11.   

    查看一下页面把 html的源码贴出来。
    把out.println("B25.submit();");
    改为out.println("document.forms[0].submit();");
    测试一下
      

  12.   

    pigengler(en) ( ) 信誉:100  2005-12-13 15:14:00  
       查看一下页面把 html的源码贴出来。
    把out.println("B25.submit();");
    改为out.println("document.forms[0].submit();");
    测试一下
    ------------------------
    源码:
    <html>
    <head><title>B25_HelloWeb</title></head>
    <script language='javascript'>
    function funSubmit(i)
    {
    B25.submit();
    return false;
    }
    </script>
    <body><form name="B25" action=http://localhost:8080/myapp/B25_HelloWeb method=post>
    <input type="text" name="enter" size="10">
    <button  ONCLICK="funSubmit(1);">submit</button>
    <br>
    asd
    </BODY></HTML>  
     
      

  13.   

    beermonkey(有啤酒肚的猴) ( ) 信誉:100  2005-12-13 14:56:00  
       out.println("function funSubmit(int i)");
    你把int去了
    要知道JS里根本就没有INT这个数据类型的,就象我前面说的那样,做到FUNCTION当然就有错了,不做的话也就没有错。附上JS里的数据类型给你:
    String 
    Number
    Boolean
    但是JS并不严格,你不写的话并不出错。
    ---------------------------------------------
    是这个问题,问题解决了。
    哎,都怪我js没有用过,基础知识不扎实,用了大家这么多时间,感谢
      
     
      

  14.   

    还不行????不会吧!
    这样行的!!!
    <!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD><TITLE>B25_HelloWeb</TITLE></HEAD>
    <script language="javascript">
    function funSubmit(i)
    {
    alert("111111");
    B25.submit();
    }
    </script>
    <BODY><form name="B25" action=http://localhost:8080/myapp/B25_HelloWeb method=post>
    <input type="text" name="enter" size="10">
    <button  ONCLICK="funSubmit(1)">submit</button>;
    </body>