我想为下面的servlet程序做,“创建一个名为com.SessServlet的servlet。如果你在新的浏览器中访问servlet然后
这是第一次显示'欢迎,新人'。刷新同一页面时,应显示“欢迎回来”。您正在访问<no of times you have refreshed the page>
'页面。“
`package com.SessServlet122;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class SessServlet extends HttpServlet
{
public void service(HttpServletRequest req,HttpServletResponse res)throws ServletException,IOException
{
res.setContentType("text/html");
int i;
PrintWriter pw=res.getWriter();
HttpSession hs=req.getSession();
i=0;
if(hs.isNew())
{
pw.println("Hello:::"+i);
}
else
{ i++;
pw.println("Welcome Back:Ur entry count is::::"+i);
}
pw.close();
}
}`
但是此代码无法正常运行。怎么解决这个?提前谢谢。
答案 0 :(得分:1)
您应该将该计数器存储为sessionVariable
,这样您就可以使用它
在pw.close();
来电后,您需要这一行:
hs.setAttribute("counter", i);
此外,您的计数器i
的初始化应如下所示:
Integer i = (Integer)hs.getAttribute("counter");
if (i == null)
i = 0;
答案 1 :(得分:1)
提示:
service()
方法检索会话和会话中的set an attribute如果其他地方设置了ans显示相应的消息${hitCount}