这个问题可能与
类似JSP or JavaScript equivalent to PHP's $_SERVER["HTTP_HOST"]?
但问题的答案仅仅是找到HTTP_HOST。
我想知道是否可以在JSP中创建Sever范围的全局变量。
示例:
用户1计算一些与用户无关的功能X.很可能其他用户也可以访问该应用程序来计算X.一种方法是我可以将其保存在mySQL中,并为后续用户请求进行数据库查找。但我不想使用任何数据库,我的数据应该只在服务器的生命周期内持久存在。
在PHP中,我可以简单地设置$ _SERVER ['x] = value;
我想知道在JSP中是否可以实现类似的功能。
答案 0 :(得分:1)
简短的回答是您可以使用所谓的应用范围。自应用程序部署以来,此范围将持续存在,直到容器停止或应用程序重新部署。
在Servlet中,您可以像这样使用它:
ServletContext context = request.getSession().getServletContext();
String value = "test";
// Set value in application scope
context.setAttribute("x",value);
// Get value from application scope
value = (String)context.getAttribute("x");
在Scriplets中你可以像这样使用它(使用它们是bad practice):
// Set value in application scope
application.setAttribute("x",value);
// Get value from application scope
value = (String)application.getAttribute("x");
在EL中你可以像这样追溯价值:
${applicationScope['x']}
从PHP世界来看,您必须知道在该示例中我使用了String
对象,但您可以使用任何对象。您不能使用原始数据类型。
不相关:
答案 1 :(得分:0)
它是HttpServletRequest接口--javax.servlet.http.HttpServletRequest
这有大多数方法。如果您有任何疑问,请查看此链接并告知。
感谢。
答案 2 :(得分:0)
我认为实现这一目标的最简单方法是简单地使用任何类的静态成员。