我试图找到一段时间的解决方案,我在html文件中有一个表单
<form id="form" name="form" method="post" ACTION="First_Q.jsp" >
当提交时,如上所示的电流只是转到jsp ...
但是我有一个表单servlet,我希望将表单数据传递到执行IF的位置,以决定用户是否返回。我已尝试多次将ACTION更改为Game.FormServlet和Game / FormServlet,如其他示例所示,但这不起作用。
Game文件夹与src文件夹中的其他servlet一起放置。
基本上我想知道1.how将表单数据传递给servlet 2.如何编写servlet以获取if语句的结果并基于该移动到另一个jsp ..
设置设置 The_Quiz.RegistrationServlet.java
如其中一个答案所示,会引发以下错误
给我错误
cvc-complex-type.2.4.a:从元素'servlet-path'开始发现无效内容。其中一个'{“http:// java.sun.com/xml/ns/j2ee":servlet-class,"java.sun.com/xml/ns/j2ee":jsp-file}'是预期的。
答案 0 :(得分: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" >
答案 1 :(得分:1)
表单操作映射到URL,而不是类。 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教程都会为您提供更多信息;我建议你先阅读一下,然后再继续下去 - 你会节省很多时间。根据您的应用容器,您可能还希望利用新的注释。
答案 2 :(得分:-1)
我添加了一个doPost,然后清理了解决问题的解决方案