getInitParameter、 getInitParameterNames、 getServletName
(1)getInitParameter、 getInitParameterNames用于获取Web.xml中的参数名、参数值。
(2)getServletName 获取 Web.xml中的 Servlet-name。
实例
下面是Web.xml的文件内容:
TestServletConfig
com.djun.serveleMapping.TestServletConfig
username
admin
passworld
admin
1
TestServletConfig
/servletConfig
import javax.servlet.*;
import java.io.IOException;
import java.util.Enumeration;
public class TestServletConfig implements Servlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException {
System.out.println("Init TestServletConfig...");
System.out.println("-----------执行getInitParameter--------");
String username = servletConfig.getInitParameter("username");
String passworld = servletConfig.getInitParameter("passworld");
System.out.println("username: " + username+"
"+"password : "+passworld);
System.out.println("----------执行getInitParameterNames------");
Enumeration names = servletConfig.getInitParameterNames();
while(names.hasMoreElements()){
String name = names.nextElement();
String value = servletConfig.getInitParameter(name);
System.out.println("username: " + name+"
"+"password : "+value);
}
String servletName = servletConfig.getServletName();
System.out.println(servletName);
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("TestServletConfig....");
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
getServletContext
(1)Servlet为每个Web应用程序都创建了一个对应的ServletContext对象,ServletContext对象被包含在ServletConfig对象中,通过调用 ServletContext.getServletContext()方法可以返回ServletContext对象的引用。
(2) 由于一个Web应用程序中的所有Servlet都共享同一个ServletContext对象,所以,ServletContext对象被称为application对象(也就是web应用程序对象)。
(1) getRealPath()
获取某一个文件在服务器上的绝对路径,注意:并非是部署前的路径。
注意我的下面文件存放的目录
(2) getContextPath()
获取当前Web应用的某一个文件对应的输入流。
System.out.println("getContextPath() -----------");
String contextPath = servletContext.getContextPath();
System.out.println(contextPath);
String fileName = "application.properties";
try {
File file = new File(realPath+ "/" + fileName);
ClassLoader classLoader = getClass().getClassLoader();
InputStream is = classLoader.getResourceAsStream(realPath + "/" + fileName);
System.out.println(realPath+ "/" + fileName);
System.out.println("1. "+ is);
} catch (Exception e) {
e.printStackTrace();
}