今天又遇到这个问题了。
先来看看自己的问题,
这是我的项目目录。
1,运行tomcat,就先跳转到home.jsp,home.jsp就是跳转到index.jsp。
2,你会发现index.jsp要跳转到/index,我的servlet配置如下:
@WebServlet("/index") public class UsersFindServlet extends HttpServlet { private UsersDAO usersDAO = new UsersDAO(); @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { List<Users> list = usersDAO.findAll(); String use = "use"; req.setAttribute("use", use); req.setAttribute("usersList", list); req.getRequestDispatcher("index.jsp").forward(req, resp); } }
3,我在index.jsp中,写了段测试代码:
<% String use = (String) request.getAttribute("use"); System.out.println(use); List list = (List) request.getAttribute("usersList"); System.out.println(list); %>
但是,结果如下:
5,针对这个,的确有些奇怪。于是,我顺着这个信息,就找到了原因。
一、原来,tomcat首先跳转到配置路径,下图所示:
如果,这个路径与你要跳转的路径产生冲突,务必要修改。
二,然后,再是web.xml的
welcome-file-list
配置的页面。
三、说了半天,什么意思呢?
其实,你需要检查的是下图的路径,打红圈的
然后,再检查是否是变量名写错了,以及其他的检查。
这里值得一提的是,利用
System.out.println
来合理地测试,是不错的选择。