2015-10-23 98 views
1

我想在使用servlet的jsp之間發送變量,但我得到了這個錯誤,我仍然無法弄清楚爲什麼。它一直髮送HTTP狀態500錯誤。如何解決「HTTP狀態500 - 內部服務器錯誤」

這裏的JSP:

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 

    <title> 
     Fuzzy Topsis Supplier Selection 
    </title> 

    <!-- Normalize --> 
    <link href="assets/css/normalize.css" rel="stylesheet"> 

    <!-- Bootstrap --> 
    <link href="assets/css/bootstrap.min.css" rel="stylesheet"> 

    <!-- Bootstrap --> 
    <link href="assets/css/custom_style_00.css" rel="stylesheet"> 

    <!-- Font --> 
    <link href="assets/css/font.css" rel="stylesheet"> 
</head> 

<!-- BODY STARTS HERE --> 
<body> 
    <section class="main_wrapper"> 
     <% 
      request.getSession().invalidate(); 
     %> 
     <!-- FORM STARTS HERE --> 
     <div class="form_wrapper"> 
      <form action="./Page_One_Controller"> 
       <div class="sub_form_wrapper"> 
        <span> 
         Input jumlah supplier : 
        </span> 

        <div class="sub_form_input"> 
         <input type="text" class="form-control" name="sNum"> 
        </div> 
       </div> 

       <div class="sub_form_wrapper"> 
        <span> 
         Input jumlah pengambil keputusan : 
        </span> 

        <div class="sub_form_input"> 
         <input type="text" class="form-control" name="dNum"> 
        </div> 
       </div> 

       <div class="sub_form_wrapper"> 
        <span> 
         Input jumlah kriteria : 
        </span> 

        <div class="sub_form_input"> 
         <input type="text" class="form-control" name="cNum"> 
        </div> 
       </div> 

       <div class="sub_form_wrapper"> 
        <div class="sub_form_input"> 
         <input class="btn btn-default btn-lg" type="submit" value="Submit" name="submit"> 
        </div> 
       </div> 
      </form> 
     </div> 
    </section>  
</body> 

而這裏的servlet的:

package Controller; 

import java.io.IOException; 
import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

@WebServlet(name = "Page_One_Controller", urlPatterns =   {"/Page_One_Controller"}) 
public class Page_One_Controller extends HttpServlet { 

protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 
    response.setContentType("text/html;charset=UTF-8"); 

    int sNum = (Integer)request.getSession().getAttribute("sNum"); 
    int dNum = (Integer)request.getSession().getAttribute("dNum"); 
    int cNum = (Integer)request.getSession().getAttribute("cNum"); 

    request.getSession().setAttribute("sNum", sNum); 
    request.getSession().setAttribute("dNum", dNum); 
    request.getSession().setAttribute("cNum", cNum); 

    request.getRequestDispatcher("page_two.jsp").forward(request, response); 
} 
} 

很抱歉的長期職位,這將是巨大的,如果任何人都可以提供一些線索。

謝謝。

+0

它會更容易解決如果您在服務器日誌中發佈異常錯誤... – SerMintt

+0

嘗試更改'

'爲'' – Abubakkar

回答

1

你之所以得到500錯誤是在這一行:

request.getSession().setAttribute("sNum", sNum); 

在這裏,您嘗試會話屬性設置爲一個未初始化的原始數據類型。

爲了解決這個問題應該從請求對象所獲得的價值,而不是從會議:

int sNum = Integer.parseInt(request.getParameter("sNum")); 

所以,你的servlet代碼應該是財產以後這樣的:

int sNum = Integer.parseInt(request.getParameter("sNum")); 
int dNum = Integer.parseInt(request.getParameter("dNum")); 
int cNum = Integer.parseInt(request.getParameter("cNum")); 

request.getSession().setAttribute("sNum", sNum); 
request.getSession().setAttribute("dNum", dNum); 
request.getSession().setAttribute("cNum", cNum); 

request.getRequestDispatcher("page_two.jsp").forward(request, response); 
+1

非常感謝,現在正在運行!我早該注意到了。 – kaloris555

相關問題