我为ServletContext
对象编写了演示程序,其中我使用context.setAttribute(arg1,arg2)
设置了值。我想访问另一个servlet中的同一个对象。
如何在另一个servlet中访问上下文对象设置的值。
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String name = "Amrut";
ServletContext context = request.getServletContext();
context.setAttribute("contextuname", name);
out.println("Context==>" + context.getAttribute("contextuname"));
}
我的问题是,为了访问这个对象,我必须创建ServletContext
对象并使用context.getAttribute(arg1,arg2)
,我会获得价值。或者还有另一个值来做到这一点。
答案 0 :(得分:1)
根据Java doc
There is one context per "web application" per Java Virtual Machine.
因此,您的Context对象将可用于所有servlet。并且上下文对象中的属性也将。
my question is, for accessing this object i have to create ServletContext object
它将返回相同的上下文对象,它不会创建新对象
答案 1 :(得分:0)
我的问题是,为了访问这个对象,我必须创建ServletContext对象,并使用context.getAttribute(arg1,arg2),我将得到值。或者还有其他价值。
通过在另一个servlet中创建与上面相同的context
对象,您将获得价值
根据{{3}}
每个Java虚拟机每个“Web应用程序”都有一个上下文。
答案 2 :(得分:0)
在同一应用程序中另一个servlet的service(doGet / doPost)方法中,执行此操作
ServletContext context = request.getServletContext();
String uName =(String)context.getAttribute(“contextuname”);