继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

jsp获取servlet值为null

心纯净
关注TA
已关注
手记 9
粉丝 9
获赞 3

今天又遇到这个问题了。

先来看看自己的问题,

https://img2.mukewang.com/5b3c45910001db3418990870.jpg

这是我的项目目录。

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);
%>

但是,结果如下:

https://img.mukewang.com/5b3c482200015f3019150580.jpg

5,针对这个,的确有些奇怪。于是,我顺着这个信息,就找到了原因。


一、原来,tomcat首先跳转到配置路径,下图所示:

https://img.mukewang.com/5b3c48a10001e36113401020.jpg

如果,这个路径与你要跳转的路径产生冲突,务必要修改。

二,然后,再是web.xml的

welcome-file-list

配置的页面。

三、说了半天,什么意思呢?

    其实,你需要检查的是下图的路径,打红圈的

https://img1.mukewang.com/5b3c4952000173b713401020.jpg

然后,再检查是否是变量名写错了,以及其他的检查。


这里值得一提的是,利用

System.out.println

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

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP