Maison >Java >javaDidacticiel >Qu'est-ce que ServletConfig
ServletConfig fait référence aux informations de configuration du servlet actuel dans le fichier web.xml. Les développeurs peuvent obtenir les informations sur les paramètres d'initialisation du servlet actuel via l'objet ServletConfig.
Je viens de commencer à entrer en contact avec le framework Spring MVC. Après avoir compris le framework, je voulais vraiment savoir comment fonctionne le framework, alors j'ai lentement tâtonné. autour et j'ai regardé le code source. La première pierre d'achoppement est Servletconfig. Trouvé souvent dans les classes d'implémentation de servlets. Non seulement il faut se demander à quoi ça sert ?
Cours recommandés : Tutoriel Java
ServletConfig
ServletConfig représente les informations de configuration du servlet actuel dans web.xml
String getServletName() -- 获取当前Servlet在web.xml中配置的名字 String getInitParameter(String name) -- 获取当前Servlet指定名称的初始化参数的值 Enumeration getInitParameterNames() -- 获取当前Servlet所有初始化参数的名字组成的枚举 ServletContext getServletContext() -- 获取代表当前web应用的ServletContext对象
Dans le fichier de configuration du servlet, vous pouvez utiliser une ou plusieurs balises
Lorsque le servlet est configuré avec des paramètres d'initialisation, le conteneur Web encapsule automatiquement ces paramètres d'initialisation dans l'objet ServletConfig lorsqu'il crée l'objet d'instance de servlet et appelle
Lors de l'appel de la méthode init du servlet, transmettez l'objet ServletConfig au servlet. De plus, les programmeurs peuvent obtenir les informations sur les paramètres d'initialisation du servlet actuel via l'objet ServletConfig.
L'avantage de ceci est : si vous mettez les informations de la base de données, la méthode d'encodage et d'autres informations de configuration dans web.xml, si le nom d'utilisateur et le mot de passe de la base de données changent à l'avenir, vous pouvez directement modifier le web .xml suffit, évitant ainsi la difficulté de modifier directement le code source.
Exemple de code :
<servlet> <servlet-name>ServletConfigTest</servlet-name> <servlet-class>com.vae.servlet.ServletConfigTest</servlet-class> <init-param> <param-name>name1</param-name> <param-value>value1</param-value> </init-param> <init-param> <param-name>encode</param-name> <param-value>utf-8</param-value> </init-param> </servlet>
Récupérez ensuite les deux paramètres ci-dessus dans le code. L'implémentation du code est la suivante :
package com.vae.servlet; import java.io.IOException; import java.util.Enumeration; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class ServletConfigTest extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ServletConfig config = this.getServletConfig(); //拿到init方法中的ServletConfig对象 // --获取当前Servlet 在web.xml中配置的名称(用的不多) String sName = config.getServletName(); System.out.println("当前Servlet 在web.xml中配置的名称:"+sName); // --获取当前Servlet中配置的初始化参数(只能获取一个)经常用到 // String value = config.getInitParameter("name2"); // System.out.println(value); // --获取当前Servlet中配置的初始化参数(全部获取)经常用到 Enumeration enumration = config.getInitParameterNames(); while(enumration.hasMoreElements()){ String name = (String) enumration.nextElement(); String value = config.getInitParameter(name); System.out.println(name+":"+value); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
Le code principal est la ligne 17. Obtenez l'objet ServletConfig dans la méthode init via la méthode this.getServletConfig(), puis obtenez les informations de configuration.
Exécutez le programme et le journal d'impression en arrière-plan est le suivant :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!