ServletConfig与ServletContext

ServletConfig
在继承了HttpServlet类后,可以通过getServletConfig方法获取当前servlet的一些信息,如servlet别名,servlet的init-param等

    <servlet>
        <servlet-name>ServletConfig1</servlet-name>
        <servlet-class>com.cn.app.service.ServletConfigTest</servlet-class>
        <init-param>
            <param-name>user</param-name>
            <param-value>zs</param-value>
        </init-param>
        <init-param>
            <param-name>age</param-name>
            <param-value>12</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>ServletConfig1</servlet-name>
        <url-pattern>/s3</url-pattern>
    </servlet-mapping>

在ServletConfigTest这个类中就可以通过getInitParameter方法获取

    @Override
    public void init() throws ServletException {
        //servletConfig对象可以获取当前这个Servlet的别名,以及init-param
        System.out.println("当前serletname" + getServletConfig().getServletName());
        System.out.println("name" + getServletConfig().getInitParameter("user"));
        System.out.println("name" + getServletConfig().getInitParameter("age"));
    }

ServletContext
ServletContext是一个域对象,每个web工程只有一个,可以存值,取值等,所有servlet都可以获取ServletContext域对象中的值,此外,ServletContext还可以获取web.xml配置文件中的init-param

  <context-param>
        <param-name>redis-ip</param-name>
        <param-value>192.168.1.7</param-value>
    </context-param>

    <context-param>
        <param-name>redis-port</param-name>
        <param-value>6379</param-value>
    </context-param>

在servlet中,调用getServletContext()方法得到ServletCOntext对象
,再调用getInitParameter就可以获取域对象的初始化参数。供整个web工程使用。


        ServletContext servletContext = getServletConfig().getServletContext();
        //servletContext对象一个web工程只有一个,是一个域对象
        //通过该对象可以获取web工程本地磁盘目录,其实idea就是拷贝了一些
        //tomcat副本,然后设置path,还可以获取全局配置参数
        String ip = servletContext.getInitParameter("redis-ip");
        String port = servletContext.getInitParameter("redis-port");

request与response

  • req对象设置字符集
    req.setCharectEncoding(“utf8”),注意,这个方法一定要在获取参数之前使用。

  • resp对象设置响应字符集
    resp.setCharectEncoding(“utf8”),注意这个方法一定要在获取流对象之前调用。

resopse对象有两个方法供回传数据,resp.getWriter()与resp.getOutputStream(),一个用于回传字符串,文本等,一个用于回传二进制数据的。两个流对象同时只能获取一个,否则会报错。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值