【解決方法】HTTP ステータス 404 – Java サーブレットが見つかりません

プログラミングQA


the servlet is 

<pre>import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class ServletWriteHtml extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws IOException
{
    PrintWriter out = response.getWriter();
    java.util.Date today = new java.util.Date();
    out.println("html" +
                "<body>" +
                "<h1 align = center>Write Html<h1>"
                + "<br>" + today + "<body>" + "</html>");                        
        }
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="file-upload" 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 
         http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <servlet>
        <servlet-name>And</servlet-name>
        <servlet-class>ServletWriteHtml</servlet-class>
    </servlet>  
    <servlet-mapping>
        <servlet-name>ServletWriteHtml</servlet-name>
        <url-pattern>/Alfa</url-pattern>
    </servlet-mapping>
        <welcome-file-list>
            <welcome-file>index.html</welcome-file>
        </welcome-file-list>
</web-app>

サーブレットをコンパイルし、WEB-INF フォルダーに置きます

サーブレットの URL は

[^]

HTTP ステータス 404 – 見つかりません
タイプ ステータスレポート
メッセージが見つかりません
説明要求されたリソースは利用できません。
GlassFish サーバー オープンソース エディション 4.1.1

私が試したこと:

ide からアプリケーションを実行し、サーブレットをコンパイルし、Web ブラウザ経由で URL を試しました

解決策 2

Web XML 内で <servlet-name>。 値が異なります <servlet> タグと <servlet-mapping> 鬼ごっこ。 そのため、サーバーは正しいサーブレットにマッピングできません。 servlet タグと servlet-mapping タグの両方に同じ servlet-name 値を使用する必要があります

[^Read oracle docs for more info]

<servlet>
    <servlet-name>And</servlet-name>
    <servlet-class>ServletWriteHtml</servlet-class>
</servlet>  
<servlet-mapping>
    <servlet-name>And</servlet-name>
    <url-pattern>/Alfa</url-pattern>
</servlet-mapping>

ヒント: コメントには、回答としてではなく、返信セクションで返信してください。

解決策 1

IDE は NetBeans で、Glassfish サーバーがデプロイされ、アプリケーションが Web コンソールから起動され、.class ファイルが作成され、web-inf ディレクトリにありますが、それでもエラーは 404 not found です

解決策 3

<servlet>
		<servlet-name>And</servlet-name>
		<servlet-class>Javas.ServletWriteHtml</servlet-class>
	</servlet>	
	<servlet-mapping>
		<servlet-name>And</servlet-name>
		<url-pattern>/Alfa</url-pattern>
	</servlet-mapping>

サーブレット名を変更し、Javas パッケージに ServletWriteHtml を追加しましたが、まだ 404 見つかりません

解決策 6

サーブレットは

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class ServletWriteHtml extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws IOException
{
    PrintWriter out = response.getWriter();
    java.util.Date today = new java.util.Date();
    out.println("html" +
                "" +
                "<h1 align="center">Write Html</h1><h1>"
                + "<br>" + today + "" + "");                        
        }
}</h1>

コメント

タイトルとURLをコピーしました