2016-10-10 29 views
0

我对servlet和JSP真的很陌生!我试图将一些输入到jsp表单中的信息传递给另一个生成excel文档的servlet,具体取决于输入的内容。共有四个servlet。将信息从jsp形式传递给servlet

我的HTML/JSP代码如下所示:

<form name="myform" method=post action =""> 
<table> 
<tr> 
<td>Enter Region 
<input type="text" Name="region"></td> 
<td>Enter Weblogic Version 
<input type="text" Name="version"></td> 
<td>Enter Domain 
<input type="text" Name="domain"></td> 
</tr> 
</table> 

一些事情,我试图指定的操作作为servlet名称,但是这似乎并没有工作。

Servlet的样子如下

public class AppExcel extends HttpServlet 
{ 
public void doGet(HttpServletRequest request, HttpServletResponse response) 
throws ServletException, IOException 
{ 
    OutputStream out = null; 
    try 
    { 
      String region = request.getParameter("region"); 
      String domain = request.getParameter("domain"); 
      String version = request.getParameter("version"); 
    ......... 

当我尝试使用它简单地打印空屏幕这些字符串变量。我曾尝试使用帖子表单和获取表单,但没有看到任何区别。

**编辑我应该提到我使用

String redirectURL = "DBExcel"; 
response.sendRedirect(redirectURL); 

重定向到我的servlet,我的理解是这样的使用doGet和不doPost方法才有效。

+0

只有一个POST表单。没有GET表单这样的东西。只是一个快速的消息来提高你的学习。 – Mechkov

+1

您需要使用doPost()方法而不是doGet()... public void doPost(HttpServletRequest request,HttpServletResponse response) – Mechkov

+0

我将所有代码移动到doPost并完美工作,谢谢。 – Dave

回答

0

我得到了下面的答案代码移到doPost方法和使用set形式方法张贴

<form name="myform" method="post"> 

我也改变了调用这个servlet从

response.sendRedirect("myServlet"); 

这似乎只能与doGet一起使用,以调用servlet使用

request.getRequestDispatcher("myServlet").forward(request, response); 

这与Post方法和所有欠我访问变量的用户输入。