源程序如下:
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,现在的问题令我很费解,希望大家能指点迷津,谢谢大家
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,现在的问题令我很费解,希望大家能指点迷津,谢谢大家
为什么非得用servlet呢!不闲麻烦吗?
既然你doget&dopost都相当于调用同一个函数,干脆直接写一个jsp页面
--------------------------------------------------------------------
zgysc(翠湖寒)问到了小弟的痛楚,我也是很无奈,用Servlet而不能用jsp是要求,没办 法......,很无奈,希望大家帮忙
把js函数写在前面
----------------------------------
rcom10002(KNIGHTRCOM) 兄能解释详细点吗,非常感谢
ps : 我是servlet的新手,很菜,呵呵
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前面去
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 后却不能显示呢?
你把int去了
里面的out.print cp出来或者就用那个文件就行这样写看着累得慌
String
Number
Boolean
但是JS并不严格,你不写的话并不出错。
把out.println("B25.submit();");
改为out.println("document.forms[0].submit();");
测试一下
查看一下页面把 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>
out.println("function funSubmit(int i)");
你把int去了
要知道JS里根本就没有INT这个数据类型的,就象我前面说的那样,做到FUNCTION当然就有错了,不做的话也就没有错。附上JS里的数据类型给你:
String
Number
Boolean
但是JS并不严格,你不写的话并不出错。
---------------------------------------------
是这个问题,问题解决了。
哎,都怪我js没有用过,基础知识不扎实,用了大家这么多时间,感谢
这样行的!!!
<!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>