简单的 Servlet 不工作

Simple Servlet Not Working

我的 servlet 不工作。冷有人帮帮我吗? 您可以看到她的三个文件:web.xml、java 代码和 jsp 页面。 感谢您的帮助。

web.xml 文件:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="UTF-8"%>    
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>   
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>2) Titre : ecrasee par servlet2</title>
</head>
<body> 
<p>2) Par le mappage de cette page jsp et de la servlet MaServlet, il y a ecrasement de ce contenu par a servlet</p>
<p>Pour le vérifier mapper puis démapper par le fichier web.xml sité dans le dossier WebContent</p>
</body>     
</html>

java servlet 代码:

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

@WebServlet(name="MaSecondeServlet")
public class SecondeServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;       

    public SecondeServlet() { 
        super();         
    }    
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        /*ServletContext sc = this.getServletContext() ;
        RequestDispatcher rd = sc.getRequestDispatcher("/secondejspservlet.jsp") ;
        rd.forward(request, response);  */
        try 
        {               this.getServletContext().getRequestDispatcher("/secondejspservlet.jsp").forward(request, response);
        } 

        catch(ServletException ex) 
        {
            System.out.println("Servlet <SecondeServlet> Erreur \"ServletException\" suivante : " + ex.getMessage());
            System.out.println("Servlet <SecondeServlet> Erreur \"ServletException\" suivante : " + ex.hashCode());
        }
        catch(IOException ioex) 
        {
            System.out.println("Servlet <SecondeServlet> Erreur \"IOException\" suivante : " + ioex.getMessage());
        }
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {    
    }    
}

jsp 文件(简单html): <%@ 页面语言="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>   
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>2) Titre : ecrasee par servlet2</title>
</head>
<body> 
<p>2) Par le mappage de cette page jsp et de la servlet MaServlet, il y a ecrasement de ce contenu par a servlet</p>
<p>Pour le vérifier mapper puis démapper par le fichier web.xml sité dans le dossier WebContent</p>
</body>     
</html>

您的注释有误。 应该是

@WebServlet(name = "SecondeServlet", urlPatterns = {"/MaSecondeServlet"})

这是你的结果。应用名为 Test

试试这个代码。

package test.servletpac;  

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

import java.io.IOException; 

@WebServlet(name = "SecondeServlet", urlPatterns = {"/MaSecondeServlet"})
public class SecondeServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;       


    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                    getServletContext().getRequestDispatcher("/secondejspservlet.jsp").forward(request, response);

    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {    
    }    
}