(1)分别使用@WebServlet和web.xml配置方式创建一个Servlet;
(2)分别为上述Servlet配置3个初始化参数(包括上传文件路径、上传文件大小和上传文件类型);
(3)在上述两个Servlet中使用ServletConfig对象获取各自初始化参数。
(1)@WebServletl配置方式
package com.zheng;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet(name = "ServletDemo",
urlPatterns = "/ServletDemo",
initParams = {
@WebInitParam(name="URL", value="servletDemo.xmlDemo"),
@WebInitParam(name="Size", value="50kb"),
@WebInitParam(name="Type", value="xmlDemo.java")
},
loadOnStartup = 0,asyncSupported = true,
displayName = "myServlet",description ="Servlet样例")
public class ServletDemo extends HttpServlet {
public ServletDemo(){
super();
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//设置请求的字符编码UTF-8
request.setCharacterEncoding("UTF-8");
//设置服务器返回响应的文本类型为HTML,字符编码UTF-8
response.setContentType("text/html;charset=UTF-8");
//获取在@WebServlet中配置的初始化参数
ServletConfig config = this.getServletConfig();;
String filePath=config.getInitParameter("URL");
String fileSize=config.getInitParameter("Size");
String fileType=config.getInitParameter("Type");
//获取输出流
PrintWriter out = response.getWriter();
//输出响应结果
out.println("<h1>上传文件路径:"+filePath+"</h1>");
out.println("<h1>上传文件大小:"+fileSize+"</h1>");
out.println("<h1>上传文件类型:"+fileType+"</h1>");
}
}
(2)web.xml配置方式
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<servlet>
<description>Servlet样例</description>
<display-name>myServlet</display-name>
<servlet-name>ServletDemo1</servlet-name>
<servlet-class>com.zheng.ServletDemo1</servlet-class>
<init-param>
<param-name>URL</param-name>
<param-value>servletDemo.xmlDemo</param-value>
</init-param>
<init-param>
<param-name>Size</param-name>
<param-value>50kb</param-value>
</init-param>
<init-param>
<param-name>Type</param-name>
<param-value>xmlDemo.java</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>ServletDemo1</servlet-name>
<url-pattern>/ServletDemo1</url-pattern>
</servlet-mapping>
</web-app>
//ServletDemo.java
package com.zheng;
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;
public class ServletDemo extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//设置请求的字符编码UTF-8
request.setCharacterEncoding("UTF-8");
//设置服务器返回响应的文本类型为HTML,字符编码UTF-8
response.setContentType("text/html;charset=UTF-8");
//获取在web.xml中配置的初始化参数
ServletConfig config = this.getServletConfig();;
String filePath=config.getInitParameter("URL");
String fileSize=config.getInitParameter("Size");
String fileType=config.getInitParameter("Type");
//获取输出流
PrintWriter out = response.getWriter();
//输出响应结果
out.println("<h1>上传文件路径:"+filePath+"</h1>");
out.println("<h1>上传文件大小:"+fileSize+"</h1>");
out.println("<h1>上传文件类型:"+fileType+"</h1>");
}
}