2012-07-23 52 views
0

我有一个生活在.jsp文件(yarntree.jsp)中的窗体。当用户通过一个驻留在外部js文件(map.java)中的JavaScript函数单击Google地图时,该表单会填充。我想将这些数据发送到一个sql数据库,然后让原来的jsp页面重新显示,现在这个表单为空。该代码位于.java文件(YarnTreeServlet.java)中。映射在web.xml中JSP中的提交按钮不会触发Servlet中的doPost

我使用地图API的V3,以及appengine。

的Web应用程序可以在这里看到:

问题:提交按钮不会导致任何发送到doPost方法。

我已经在javascript中添加了一些代码以将值写出到控制台,并且这些值正确填充。我检查了查询,并且如果doPost正常工作,它会正确插入。我已经花了几个小时,而且还在亏损。有一些原因让我无法访问表单中填充的值之后的值?我意识到servlet映射可能是问题的一部分,但我尝试了许多变化,但都没有成功。此时我无法确定问题是出现在js,jsp,表单,doPost还是web.xml中。任何帮助,将不胜感激。

回答

1

纠正我,如果我错了,但我看不到<form>标记中的servlet url。

<form id="createMarkerForm" 
     method="post" 
     accept-charset="utf-8" 
     action="servletUrl"> 

和doPost未被正确覆盖。

@Override 
public void doPost(HttpServletRequest req, 
        HttpServletResponse resp) 
         throws ServletException, IOException{  
} 
+1

并检查servlet是否已映射到web.xml中我建议... – Franky 2012-07-23 08:32:07

+0

@Franky嗨,感谢您的回复如此之快。我对你的回复有两个问题:你的意思是没有被正确覆盖?它不应该说@Override?还是应该有一个完全不同的方法版本?表单动作是令我困惑的事情 - servlet url与具有doPost的.java文件的名称相同吗?我还包括web.xml文件,希望如果是映射,有人可以帮我弄清楚应该到哪里去。 – user1545253 2012-07-23 08:40:06

+0

我建议一个关于servlets及其映射的好教程,它可能非常有用!祝你好运。 – Franky 2012-07-23 08:48:58

0

所以,事实证明,我需要做'doGet'而不是doPost。根据我的理解,这是因为我需要正在通过jquery处理的参数的值,即使在javascript中也是如此。

谢谢你的一切帮助。