利用servletConfig接口获取xml中的init-param参数**
1.结果
2.实现代码
web.xml部署
<servlet>
<servlet-name>Exam</servlet-name> //名
<servlet-class>Servlet.Exam</servlet-class>//地址
<init-param>//参数1
<param-name>name</param-name>
<param-value>fjh</param-value>
</init-param>
<init-param>//参数2
<param-name>number</param-name>
<param-value>201711111111</param-value>
</init-param>
<init-param>//参数3
<param-name>sex</param-name>
<param-value>男</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Exam</servlet-name>//名
<url-pattern>/Exam</url-pattern>//访问地址
</servlet-mapping>
实现代码:
package Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @Author JackFan
* @data 2020/4/13-16:34
*/
public class Exam extends HttpServlet {
private String name;
private String sex;
private String number;
@Override
public void init() throws ServletException
{
ServletConfig servletConfig=this.getServletConfig();
name=servletConfig.getInitParameter("name");
number=servletConfig.getInitParameter("number");
sex=servletConfig.getInitParameter("sex");
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out=response.getWriter();
out.write("<h3>"+"姓名:"+name+"</h3>");
out.write("<h3>"+"学号:"+number+"</h3>");
out.write("<h3>"+"性别:"+sex+"</h3>");
}
}
注:
-
xml中的/init-param标签参数在servlet标签内;
-
有两个参数param-name、param-value;
-
通过ServletConfig servletConfig=this.getServletConfig(“name”);获取参数的值;
-
有效范围在该servlet内(本例的Exam内);
-
显示中文需要设置编码方式:
response.setContentType(“text/html;charset=utf-8”)。