ServletContext的理解

来源:互联网 发布:市政造价软件 编辑:程序博客网 时间:2024/04/27 16:59

ServletContext是一个公用的空间,可以得到在一定时间内,有多少用户访问某网站。ServletContext是一个表,就是一个名字然后对应一个值。

如何得到ServletContxt的实例,有两种方法:可以用this.getServletContext(); 还可以用setAttribute(String name,Object obj);得到值:getAttribute(String name)返回object等。

import javax.servlet.http.*;
import javax.servlet.*;
import java.io.*;
//向ServletContext中添加属性
public class ServletContextTest1 extends HttpServlet
{
public void doGet(HttpServletRequest req,HttpServletResponse res)
{
try
{
res.setContentType("text/html;charset=gbk");
PrintWriter pw = res.getWriter();
//得到servletContext
ServletContext sc = this.getServletContext();
//添加属性
sc.setAttribute("myinfo", "王栋");
pw.println("给servlet context中添加一个属性");
//比较session
HttpSession hs = req.getSession(true);
hs.setAttribute("test", "孙王栋");
hs.setMaxInactiveInterval(60*3);
pw.println("向session中添加一个test属性,它的值 孙王栋");
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void doPost(HttpServletRequest req,HttpServletResponse res)
{
doGet(req,res);
}
}


另一端得到servletContext和session

import javax.servlet.http.*;
import javax.servlet.*;


import java.io.*;
//从servletcontext中得到属性
public class ServletContextTest2 extends HttpServlet
{
public void doGet(HttpServletRequest req,HttpServletResponse res)
{
try
{
res.setContentType("text/html;charset=gbk");
PrintWriter pw = res.getWriter();
//得到servletcontext
ServletContext sc = this.getServletContext();
//得到属性和它对应的值
String info = (String) sc.getAttribute("myinfo");
pw.println("从servletcontext中得到属性info:" + info);

HttpSession hs = req.getSession(true);
String val = (String) hs.getAttribute("test");
pw.println("session中的test=" + val);
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void doPost(HttpServletRequest req,HttpServletResponse res)
{
doGet(req,res);
}
}

0 0
原创粉丝点击