2016-10-10 66 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方法和所有欠我訪問變量的用戶輸入。