特简单的网页计数器,但是显示不出数

乱花渐欲迷人眼 发布于 2016/05/19 19:04
阅读 93
收藏 1

servlet中代码如下:

public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        ServletContext context = request.getSession().getServletContext();
        if(null == context.getAttribute("counter")){
            context.setAttribute("counter", 1);
        }
        else {
            int counter = (Integer)context.getAttribute("counter");
            context.setAttribute("counter", counter + 1);
        }
        request.getRequestDispatcher("counter.jsp").forward(request, response);
    }

counter.jsp:

计数器:<%=request.getAttribute("counter") %>

但是访问servlet显示是这样子的,刷新还是null:

求大神解

加载中
0
wuyiw
wuyiw

试试

<%=context.getAttribute("counter") %>

乱花渐欲迷人眼
乱花渐欲迷人眼
No,context是在servlet中定义的
0
南湖船老大
南湖船老大
你前面明明
context.setAttribute("counter", counter + 1);

你后面又

request.getAttribute("counter")
你是想闹哪样?
乱花渐欲迷人眼
乱花渐欲迷人眼
request.getSession().getServletContext()返回的是servlet容器对象,也就是application,所以要使用application.getAttribute()。查了下源代码,谢谢你们的回答,思路瞬间清晰了好多
返回顶部
顶部