0
I am getting a 404 when I navigate to http://localhost:8080/myWebApp/generic
but not when I go to http://localhost:8080/myWebApp/test.jsp

myWebApp に移動し、「jar -cvf myWebApp.war」と入力して war ファイルを作成します。

それをglassfish autodeployフォルダに入れました。足りないものはありますか?

私は標準的なファイル構造を持っています

--> "myWebApp/"
||--> "WEB_INF/"
||||--> "classes/"
||||||--> "genericServlet.class"
||||--> "lib/" {empty}
||--> "test.jsp"

これがgenericServlet.classです

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.GenericServlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.annotation.WebServlet;

@WebServlet(name = "GenericServletDemoServlet", 
    urlPatterns = { "/generic" },
    initParams = {
        @WebInitParam(name="admin", value="Harry Taciak"),
        @WebInitParam(name="email", value="admin@example.com")
    }
)
public class GenericServletDemoServlet extends GenericServlet {

    private static final long serialVersionUID = 62500890L;

    @Override
    public void service(ServletRequest request, 
            ServletResponse response)
            throws ServletException, IOException {
        ServletConfig servletConfig = getServletConfig();
        String admin = servletConfig.getInitParameter("admin");
        String email = servletConfig.getInitParameter("email");
        response.setContentType("text/html");
        PrintWriter writer = response.getWriter();
        writer.print("<html><head></head><body>" + 
                "Admin:" + admin + 
                "<br/>Email:" + email +
                "</body></html>");
    }
}  
4

1 に答える 1

0

web.xml でサーブレットをマップする必要があるようです。何かのようなもの:

<servlet>
<servlet-name>generic</servlet-name>
<servlet-class>servlet.package.GenericServletDemoServlet</servlet-class></servlet>

<servlet-mapping>
<servlet-name>generic</servlet-name>
<url-pattern>/generic</url-pattern></servlet-mapping>
于 2012-07-13T08:50:25.577 に答える