zoukankan      html  css  js  c++  java
  • Servlet的初始化参数

    确保接收和输出的数据不出现乱码。需要对request和response进行转码

    request.setCharacterEncoding(charset);
    	response.setCharacterEncoding(charset);
    	response.setContentType("text/html;charset=" + charset);
    

    但这样编写容易出现书写错误,而且当需要改变编码时,需要逐个替换。为保证编码书写的一致性和后期的可维护性,可以把编码定义在web.xml文件中

    配置Servlet初始化参数

    web.xml文件中对应Servlet节点中定义init-param子节点,其中param-name为参数的名称,param-value为参数的值。一个Servlet可以配置多个初始化参数

     <servlet>
        <servlet-name>first</servlet-name>
        <servlet-class>com.cashop.servlet.FirstServlet</servlet-class>
        <init-param>
          <param-name>charset</param-name>
          <param-value>utf-8</param-value>
        </init-param>
      </servlet>
    

    Servlet中获取初始化参数

    Servlet中声明一个私有变量用于接收初始化参数

    Private String charset;//用于接收初始化参数的变量
    

    重写Servlet的无参init方法,在方法中通过ServletConfig对象的getInitParameter方法获取初始化参数,方法的参数为web.xml文件中init-param中param-name子节点的值

    @Override
    	public void init() throws ServletException {
    		// 调用父类方法在前
    		super.init();
    	}
    

    如果要使所有的Servlet的字符编码一致,可以在web.xml中定义全局的初始化参数来实现

    配置全局初始化参数

    Context-param节点用于配置全局初始化参数,param-name为参数名,param-value为参数值,一个项目可以配置多个初始化参数。

    <context-param>
        <param-name>charset</param-name>
        <param-value>UTF-8</param-value>
      </context-param>
    

    Serlvet中获取全局初始化参数

    使用全局对象的getInitParameter方法可以获取全局的初始化参数,在Servlet中可以通过getSerlvetContext()方法获取全局对象

  • 相关阅读:
    jQuery Mobile动态刷新页面样式
    IE10下阿里旺旺无法快速登录解决办法
    JS复制内容到剪贴板: 兼容IE、Firefox、Chrome、Safari所有浏览器【转】
    python sftp ftp 造轮子,实现多个方法
    synergy ubuntu18.04 windows10
    爬虫之js破解 非常详细
    scrapy的useragent与代理ip
    Xpath的string(.)用法
    selenium cookie 登录
    scrapy爬取迅雷电影天堂最新电影ed2k
  • 原文地址:https://www.cnblogs.com/MrWuNotebook/p/10121627.html
Copyright © 2011-2022 走看看