java - java servlet 中的 session

标签 java jsp session servlets jakarta-ee

我想为下面的 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();
}
}`

但是这段代码无法正常工作。如何解决这个问题?提前致谢。

最佳答案

您应该将该计数器存储为sessionVariable,这样您就可以让它工作。
您在 pw.close(); 调用之后需要此行:

hs.setAttribute("counter", i);

此外,计数器 i 的初始化应如下所示:

Integer i = (Integer)hs.getAttribute("counter");
if (i == null)
    i = 0;

关于java - java servlet 中的 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5674692/

相关文章:

java - 是否可以在运行时从 Java 运行 Xbase 脚本?

java - 输入不匹配异常是什么意思?

java - 有关在类中扩展 JFrame 的问题吗?

java - 打包在 EAR 文件中的 JAR 文件中的 JSP taglib

java - 如何将对象从 View 传递到java函数?

android - 即使我关闭设备,如何保持应用程序 session 打开?

java - Java 中的 CollectionUtils 使用谓词

jsp - 与 JSTL 中的枚举值比较

javascript - www 和非 www 的 Nodejs session 问题

session - 如何为 Grails 应用程序配置 session 超时?