2016-03-31 12 views
1

Tomcat8サーバーを使用していますが、次のエラーが発生しています。HTTPステータス500サーブレットクラスのインスタンス化エラー

After deployment

Project Explorer

それはURLが、私はそれがこのエラーを与えているの詳細を提出していた場合http://localhost:8080/WeatherWebAppです。ここ はWeatherServlet.javaクラスは、ここで

package org.akshayrahar; 
import java.io.IOException; 
import java.io.PrintWriter; 

import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

public class WeatherServlet extends HttpServlet { 
    private static final long serialVersionUID = 1L; 

    WeatherServlet(){ 

    } 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     System.out.println("again"); 
     response.setContentType("text/html"); 
     PrintWriter out=response.getWriter(); 
     out.println("akshay rahar"); 
    } 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    } 

} 

あるweb.xmlファイル

ここ
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE xml> 
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee"> 
    <display-name>WeatherWebApp</display-name> 
    <welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    </welcome-file-list> 

    <servlet> 
     <servlet-name>HelloServlet</servlet-name> 
     <servlet-class>WeatherServlet</servlet-class> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>HelloServlet</servlet-name> 
     <url-pattern>/CurrentWeather</url-pattern> 
    </servlet-mapping> 
</web-app> 

はindex.htmlを過ぎファイルである: -

<!DOCTYPE html> 
<html> 
    <head> 
     <title>Weather App</title> 
     <link rel="stylesheet" type="text/css" href="stylesheet.css"> 
     <script > 
     function initMap() { 
     var input =document.getElementById('pac-input'); 

     var autocomplete = new google.maps.places.Autocomplete(input); 
     } 
    </script> 
    <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyACZhmkSaIz436Dt3kHt_cVEYKN-gHzfYo&libraries=places&callback=initMap"async defer></script> 
    </head> 


    <body> 
     <h1>Find weather of any city in the world</h1> 
     <h2>Enter City Name</h2> 

     <form id="form" action="CurrentWeather" method="GET"> 
     <input id="pac-input" type="text" name="cityname"> 
     </form><br> 

     <div class="button1"> 
     <button type="submit" form="form" value="Submit">Submit</button> 
     </div> 

    </body> 
</html> 

私はスタイルシートをも言及しました。コメントのCSSファイル。これをチェックしてください。

+0

WeatherServletクラスは表示できますか?デフォルトのコンストラクタを使用することもできます。 –

+1

これで確認できます。 –

+0

あなたは 'web.xml'にそのサーブレットを設定する必要があります – Yazan

答えて

1

エラーは、TomcatがWeatherServletクラスのインスタンスを作成できないことを示しています。

コンストラクタやその他のメソッドも作成する必要がありますpublic

public class WeatherServlet extends HttpServlet { 
    private static final long serialVersionUID = 1L; 

    public WeatherServlet(){ 

    } 
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     System.out.println("again"); 
     response.setContentType("text/html"); 
     PrintWriter out=response.getWriter(); 
     out.println("akshay rahar"); 
    } 
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    } 

} 
+0

これは機能しています。どうもありがとう! –

+0

私はアクセス修飾子について何も知らずに誰かがウェブプログラミングを試みるのだろうと思います。 – Peter

関連する問題