Glassfish服务器未加载servlet
问题描述:
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服务器未加载servlet
我把它放在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="[email protected]")
}
)
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>");
}
}
答
看来,你需要映射在web.xml中的servlet。 类似:
<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>
+0
我使用注解,所以我不应该 – rubixibuc 2012-07-13 22:52:59
显示你的web.xml – Ilya 2012-07-13 08:56:09