【Servlet】(二)初识Servlet

三个Map

  • 第一个Map
获取文本参数的集合
(name属性的值为key,value的值为value,注意的是此value是同name的value值集合,所以应用String[]数组)

Map map = request.getParameterMap();

例如
    Set set = map.keySet();
    Iterator it = set.iterator();
    while(it.hasNext())
    {
        String key = (String)it.next();
        String [] values = (String [])map.get(key);
        //注意get转码问题
        new String(values[i].getBytes("iso-8859-1"),"UTF-8");
    }
  • 第二个Map
通过request得到请求头的方法

//注:Enumeration是一个接口,只有hasMoreElement()和nextHeaderName()方法;
Enumeration enumeration = request.getHeaderName();

while(enumeration.hasMoreElement())
{
    String name = enumeration.nextElement();
    String value = (String) request.getHeaderName(name);
}

注:只有HttpServletRequest才可以得到头信息

以excel表格打印转译
resp.setContentType("application/vnd.ms-excel;charset=utf-8");
  • 第三个Map
通过request,session,application得到所有的属性的集合Map
request获取
    Enumeration enumes = request.getAttributeNames();
session获取
    ... snumes = session.get....();
application获取
    ... anumes = application.get...();

注:循环同第二个Map,application的value是Object类型

ServletConfig与ServletContext的区别

  • Servlet记录着单个Servlet的信息,只可获取自己的Servlet的配置信息
 例如 设置配置参数信息
     <servlet>
         <init-param>
             <param-name>sex</param-name>
             <param-value></param-value>
         </init-param>
     </servlet>
  • service方法中使用ServletConfig获取上述参数信息(单个Servlet)
Enumeration config = this.getServletConfig().getInitParameterNames();
while(config.hasMoreElements())
{
        //拿到参数名
        String name = (String) config.nextElement();
        //根据参数名获取值
        String value = this.getServletConfig().getInitParamter(name);
}
  • 使用ServletContext获取配置的公有信息
 web.xml中设置公有信息
     <context-param>
         <param-name>encodeing</param-name>
         <param-value>text/html/;charset=GB18030</param-value>
     </context-param>

获取
    Enumeration context = this.getServletContext.getInitParamterNames();
while(config.hasMoreElements())
{
        //拿到参数名
        String name = (String) config.nextElement();
        //根据参数名获取值
        String value = this.getServletContext().getInitParamter(name);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值