我是Jsp的新成員,並使用Servlet和Listener開始一些測試。 我的問題是爲什麼當我啓動ListenTest.do時,我得到一個HTTP狀態404 - /DynamicExample/ListenTest.do?ServletContentListener中的ArrayList
我想要做的是聲明多個狗對象,並把它放在一個ArrayList中。當所有對象都存儲到ArrayList中時,那麼「MyServletContextListener.java」會設置屬性「dog」。完成之後,我會將屬性發送到我的index.jsp頁面,但是我得到的404文件不是fount。
ListenTester.java
package com.app.control;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.app.model.Dog;
public class ListenerTester extends HttpServlet {
public void doGet (HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
Dog dog = (Dog) getServletContext().getAttribute("dog");
RequestDispatcher forwardToLoginPage = req.getRequestDispatcher("index.jsp");
forwardToLoginPage.forward(req, resp);
}
}
MyServletContextListener.java
package com.app.listener;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import com.app.model.Dog;
public class MyServletContextListener implements ServletContextListener {
ArrayList<Dog> allDogs;
public void contextInitialized(ServletContextEvent event) {
if (allDogs == null) { allDogs = new ArrayList<Dog>(); }
allDogs = (ArrayList<Dog>) event.getServletContext().getAttribute("dog");
Dog d1 = new Dog("SomeThing");
Dog d2 = new Dog("someThing");
allDogs.add(d1);
allDogs.add(d2);
event.getServletContext().setAttribute("dog", allDogs);
}
public void contextDestroyed(ServletContextEvent event) {
// nothing to do here
}
}
你可以發佈你的錯誤頁面截圖和你的web.xml – cafebabe1991