手记

jsp获取servlet值为null

今天又遇到这个问题了。

先来看看自己的问题,

这是我的项目目录。

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

来合理地测试,是不错的选择。

0人推荐
随时随地看视频
慕课网APP