简单的Servlet不工作

时间:2017-03-01 15:25:39

标签: jsp servlets web.xml

我的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):     &lt;%@ page language =“java”contentType =“text / html; charset = ISO-8859-1”pageEncoding =“UTF-8”%&gt;

<!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>

1 个答案:

答案 0 :(得分:1)

你的anotation是错误的。 它应该是

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

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

enter image description here 试试这段代码。

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 {    
    }    
}