·
1、ServletConfig接口
Config的意思是配置,而ServletConfig则是用于加载Servlet的初始化参数。项目容器将Servlet初始信息封装保存到ServletConfig中完成存储功能。因为一个Servlet对应一个ServletConfig对象,所以在一个Web中可以存在多个ServletConfig对象。
创建ServletConfig对象应该在创建完Servlet对象之后,调用init方法之前,直接从有参数的init方法中得到对象。
创建ServletConfig对象:
ServletConfig config=new ServletConfig();
2、ServletContext接口
Context可以理解为容器,ServletContext是Servlet的容器,Web包含Pro,Pro包含ServletContext,而ServletContext则包含Servlet。所有的Servlet对象创建出来之后都属于它管理。一个Web中只存在一个ServletContext接口。
容器特点:(1)有生命周期(2)有容量,能够存储Servlet对象。
Servlet A对象想要从Servlet B中获取参数等,不可以直接获取,需要B将参数放到ServletContext中,由ServletContext将参数传给A(即需要与ServletContext容器建立关系)
创建ServletContext对象:
ServletContext s=new getServletContext();
ServletConfig config=new ServletConfig();
config.getServletContext(context);
Class ServletConfig{
ServletContext context;
public ServletContext getServletContext(){
return context;
}
}
public void init(ServletConfig config){
//得到ServletConfig对象
//从ServletConfig对象中得到ServletContext对象
ServletContext context=config.getServletContext();
}
常用代码:
ServletContext s=request.getServletContext();//获取到ServletContext对象
s.setAttribute(“”“”);//向ServletContext中放参数
s.getAttribute(“”“”);//从···中取参数
其实ServletContext存在的意义是给Servlet对象数据交汇的空间,是一个全局存储信息的空间,服务器开始时就存在服务器关闭时才释放。request一个用户可以有很多个,session一个用户只有一个,但是ServletContext多个用户共享一个。
3、HTTPServletRequest与HTTPServletResponse
请求与回应,一般出现的方式是:
protected void doGet(HTTPServletRequest request ,HTTPServletResponse response)········
其中request与response的生命周期比较短,接收服务器请求时request被创建,一旦response作出回应时request被销毁。
【注】:response.setContentType(“”utf-8“”);可以解决中文乱码,详情可见浅析JavaWeb之Servlet--JavaWeb Day1