2017-03-19 11 views
-1

環境:のWindows 8.1、Javaの1.8.0は、Apache-Tomcatは、9.0.0.M17Javaサーブレット "HTTPステータス500" リフレッシュ

は、サーブレットプログラムは、サーブレットのページを作るために起こっています(自動ページリフレッシュを使用する必要があります)を表示します。 HTMLページでは、<select>を使用して、ユーザーが特定の地域を選択できるようにし、地域はサーブレット・ファイルに送信されました。 ただし、HTTPステータス500エラーが発生します。 エラー情報:ここでは

HTTP Status 500 - 

type Exception report 

message 

description The server encountered an internal error that prevented it from fulfilling this request. 

exception 

java.lang.NullPointerException 
    java.util.TimeZone.parseCustomTimeZone(TimeZone.java:783) 
    java.util.TimeZone.getTimeZone(TimeZone.java:562) 
    java.util.TimeZone.getTimeZone(TimeZone.java:516) 
    AJprog2.doGet(AJprog2.java:20) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:622) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) 
    org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108) 
note The full stack trace of the root cause is available in the Apache Tomcat/9.0.0.M17 logs. 

Apache Tomcat/9.0.0.M17 

は私のコードです:

<html> 
    <body> 
     <center> 
     <form method = "post" 
       action = "http://localhost:8080/examples/servlets/servlet/AJprog2"> 
      <p3> Select the timezone to display </p3> <br />  
      <select name = "sel_table" name = "sel_table"> 
       <option value = "IST">India</option> 
       <option value = "GMT+8">China</option> 
      </select> 
      <input type = submit value = "GO" /> 
     </form> 
    </body> 
</html> 

import java.io.*; 
import java.text.SimpleDateFormat; 
import java.util.Date; 
import java.util.TimeZone; 
import java.util.Locale; 
import javax.servlet.*; 
import javax.servlet.http.*; 

public class AJprog2 extends HttpServlet 
{ 
    public void doGet(HttpServletRequest req, HttpServletResponse rsp) 
    throws ServletException, IOException 
    { 
     final String tz = (String)req.getParameter("sel_table"); 
     rsp.setIntHeader("Refresh", 1); 
     PrintWriter pan = rsp.getWriter(); 
     rsp.setContentType("text/html"); 
     Date date = new Date(); 
     SimpleDateFormat sdf = new SimpleDateFormat("dd/MMM/yyyy HH:mm:ss z"); 
     sdf.setTimeZone(TimeZone.getTimeZone(tz)); 
     String time_str = sdf.format(date); 

     pan.println("<html>" + 
        "<body>" + 
        "<br />" + 
        time_str + 
        "</body></html>"); 
     // pan.close(); 
    } 

    public void doPost(HttpServletRequest req, HttpServletResponse rsp) 
    throws ServletException, IOException 
    { 
     doGet(req, rsp); 
    } 
} 

問題サーブレットのページが更新する際に関係することができる、パラメータが失われました。しかし、私はそれを解決する方法を知らない、誰でもチェックを助けることができる?

+1

を助けることができると思います:)言ったことを忘れます