[JSP]Servlet之获取初始化参数inti/MVC模型

时间:2021-11-23 21:04:36

》》MVC

[JSP]Servlet之获取初始化参数inti/MVC模型
EIS企业信息系统


[JSP]Servlet之获取初始化参数inti/MVC模型


》》获取初始化参数

即在配置文件里写入init-parm参数,在servlet里init方法可以获取,再转入doget或dopost里输出

》其他概念

ServletConfig:代表当前Servlet在web.xml中的配置信息(用的不多

  • String getServletName()  -- 获取当前Servlet在web.xml中配置的名字
  • String getInitParameter(String name) -- 获取当前Servlet指定名称的初始化参数的值
  • Enumeration getInitParameterNames()  -- 获取当前Servlet所有初始化参数的名字组成的枚举
  • ServletContext getServletContext()  -- 获取代表当前web应用的ServletContext对象

在Servlet的配置文件中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数。

当servlet配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些初始化参数封装到ServletConfig对象中,并在调用servlet的init方法时,将ServletConfig对象传递给servlet。进而,程序员通过ServletConfig对象就可以得到当前servlet的初始化参数信息。

这样做的好处是:如果将数据库信息、编码方式等配置信息放在web.xml中,如果以后数据库的用户名、密码改变了,则直接很方便地修改web.xml就行了,避免了直接修改源代码的麻烦


[JSP]Servlet之获取初始化参数inti/MVC模型

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	id="WebApp_ID" version="2.5">
	<display-name>JSP-MVC</display-name>
	<servlet>

		<servlet-name>parmServlet</servlet-name>
		<servlet-class>com_yiki_Servlet.parmServlet</servlet-class>
	
	<!-- 初始化参数 -->
	<init-param>
	<param-name>username</param-name>
	<param-value>Tiffany</param-value>
	</init-param>
	<init-param>
	<param-name>password</param-name>
	<param-value>123456</param-value>
	</init-param>
	
	
	
	</servlet>

	<servlet-mapping>
		<servlet-name>parmServlet</servlet-name>
		<url-pattern>/servlet/parmServlet</url-pattern>
	</servlet-mapping>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>
</web-app>

servlet

package com_yiki_Servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class parmServlet extends HttpServlet {

	private String username;
	private String password;

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setContentType("text/html;charset=gb2312");
		PrintWriter out = response.getWriter();
		out.print(this.getUsername());
		out.print(this.getPassword());
		
		
		
		
	}

	public void init() throws ServletException {
		// 获取初始化参数
		this.setUsername(this.getInitParameter("username"));
		this.setPassword(this.getInitParameter("password"));
	}

}

index.jsp

<html>
  
  <body>
    <a href="servlet/parmServlet">参数Servlet</a>
     <br>
  </body>
</html>

》》