ConfigServlet 实现Servlet的方式
package com.qiku.web;
import javax.servlet.*;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
import java.util.Enumeration;
@WebServlet(name = "ConfigServlet",urlPatterns = "/config",
initParams = {
@WebInitParam(name="username",value = "xjy"),
@WebInitParam(name = "password",value = "1234")
})
public class ConfigServlet implements Servlet {
/*
* 初始化方法
* */
@Override
public void init(ServletConfig servletConfig) throws ServletException {
System.out.println("初始化方法 init执行了....");
System.out.println("Servlet的别名:"+servletConfig.getServletContext());
System.out.println("--------------------------");
String username = servletConfig.getInitParameter("username");
System.out.println("获取到的用户名:"+username);
Enumeration<String> initParameterNames = servletConfig.getInitParameterNames();
while (initParameterNames.hasMoreElements()){
System.out.println("获取到的参数名:"+initParameterNames.nextElement());
}
ServletContext servletContext = servletConfig.getServletContext();
System.out.println("servletContext的引用;"+servletContext);
}
/*
* 获得ServletConfig对象
* */
@Override
public ServletConfig getServletConfig() {
return null;
}
/*
* 响应
* */
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("service 响应客户端请求.....");
}
/*
* 返回有关的servlet 信息
* */
@Override
public String getServletInfo() {
return null;
}
/*
* servlet 服务退出操作
* */
@Override
public void destroy() {
System.out.println("ConfigServlet 关闭了");
}
}
ContextServlet 继承HttpServlet的方式
package com.qiku.web;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
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.util.Enumeration;
@WebServlet(name="ContextServlet",urlPatterns = "/context")
public class ContextServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("post...");
ServletContext context = getServletConfig().getServletContext();
System.out.println(context);
Enumeration<String> initParameterNames = context.getInitParameterNames();
while (initParameterNames.hasMoreElements()){
String s = initParameterNames.nextElement();
System.out.println(s+"对应的值:"+context.getInitParameter(s));
}
String contextPath = context.getContextPath();
System.out.println("通过上下文 获取到的路径:"+contextPath);
String realPath = context.getRealPath("/");
System.out.println("获取到的实际的路径:"+realPath);
context.setAttribute("param1","value1");
Object param1 = context.getAttribute("param1");
System.out.println("根据属性名获取到的属性值:"+param1);
context.removeAttribute("param1");
param1 = context.getAttribute("param1");
System.out.println("根据属性名获取到的属性值:"+param1);
}
}
index.html代码
<form action="context" method="post">
<p>context</p>
<input type="submit">