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()方法获取全局对象

  • 相关阅读:
    人生之清单(list of life)
    grpc编译错误解决
    windows tensorflow 版本与升级
    PermissionError: [Errno 13] in python
    经典分析--HTTP协议
    介绍 JSON
    Json 不同语言的使用
    JSON标准格式
    JSON 数据格式
    SKINTOOL 系统不能正常运行
  • 原文地址:https://www.cnblogs.com/MrWuNotebook/p/10121627.html
Copyright © 2011-2022 走看看