Trạng thái HTTP 404 – không tìm thấy java servlet

lập trình


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>

biên dịch servlet và đặt vào thư mục WEB-INF

url của servlet là

[^]

Trạng thái HTTP 404 – Không tìm thấy
loại Báo cáo trạng thái
tin nhắnKhông tìm thấy
mô tảTài nguyên được yêu cầu không có sẵn.
Phiên bản mã nguồn mở của máy chủ GlassFish 4.1.1

Những gì tôi đã thử:

chạy ứng dụng từ ide, biên dịch servlet và thử url thông qua trình duyệt web

Giải pháp 2

Trong xml trang web của bạn <servlet-name>. giá trị là khác nhau ở <servlet> gắn thẻ và <servlet-mapping> nhãn. Vì vậy, máy chủ không thể ánh xạ tới servlet chính xác. Bạn phải sử dụng cùng một giá trị tên servlet cho cả thẻ ánh xạ servlet và thẻ ánh xạ servlet

[^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>

mẹo: trả lời các bình luận trong phần trả lời chứ không phải dưới dạng câu trả lời.

Giải pháp 6

servlet là

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>

Giải pháp 1

ide là netbeans, máy chủ glassfish đã được triển khai và ứng dụng được khởi chạy từ bảng điều khiển web, tệp .class đã được tạo và nằm trong thư mục web-inf vẫn không tìm thấy lỗi 404

Giải pháp 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>

đã thay đổi tên servlet và thêm ServletWriteHtml ở gói Javas vẫn không tìm thấy 404

コメント

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