2013-04-09 45 views
-2

一直试图找到这一段时间的解决方案使用,我有一个表格在一个HTML文件呼叫从servlet和jsp如果

 <form id="form" name="form" method="post" ACTION="First_Q.jsp" > 

从如图提交时高于目前只是进入一个jsp ...

但是我有一个表单servlet,我想要将表单数据传递到IF将执行的位置以决定用户是否返回。我已经尝试了多次改变ACTION到Game.FormServlet和Game/FormServlet,如其他示例中所示,但这不起作用。

游戏文件夹与其他servlet放在src文件夹中。

基本上我想知道1.how到表单数据传递到Servlet 2.How到Servlet程序采取if语句的结果,并基于该移动到另一个JSP ..

设置设置 The_Quiz.RegistrationServlet.java

在其中一个答案建议引发以下错误

给我的错误

CVC-复杂type.2.4.a:无效的内容是˚F从元素'servlet-path'开始。预计会有一个'{“http:// java.sun.com/xml/ns/j2ee":servlet-class,”java.sun.com/xml/ns/j2ee":jsp-file}'。

回答

1

必须声明servlet并将其映射到webapp的web.xml文件中的URL模式。

<servlet> 
    <servlet-name>SomeUniqueName</servlet-name> 
    <servlet-path>the.fully.qualified.name.of.the.ServletClass</servlet-path> 
</servlet> 
<servlet-mapping> 
    <servlet-name>SomeUniqueName</servlet-name> 
    <url-pattern>/foobar</url-pattern> 
</servlet-mapping> 

一旦做到这一点,您可以使用所选择的URL来调用这个servlet:

<form id="form" name="form" method="post" action="${pageContext.request.contextPath}/foobar" > 
+0

将溶液冷却,谢谢你,尝试了几种不同的方法,他们没有工作,我会做这个,现在 – H65 2013-04-09 18:24:06

+0

设置 The_Quiz .RegistrationServlet.java H65 2013-04-10 07:59:39

+0

给我错误cvc-complex-type.2.4.a:发现从元素'servlet-path'开始的无效内容。其中一个'{“http:// java.sun.com/xml/ns/j2ee":servlet-class,”http://java.sun.com/xml/ns/j2ee":jsp-file}'是期待。 – H65 2013-04-10 07:59:59

1

表单操作映射到URL,而不是类。网址通过web.xml或注释映射到课程。

表格数据可通过getParameter(String) method索取。

一旦你的数据,你可以在它作为您认为合适的,并使用一个RequestDispatcher转发给适当的JSP:

ServletContext context = getServletContext(); 
RequestDispatcher rd = context.getRequestDispatcher("/WEB-INF/jsp/result.jsp"); 
rd.forward(request, response); 

任何servlet/JSP教程将为您提供进一步的资料;我建议您在继续阅读之前阅读其中的一篇文章,这样可以节省很多时间。根据您的应用程序容器,您可能也想要利用新的注释。

-1

我加了一个doPost方法,然后清洗它解决了这个问题