demo:http://pan.baidu.com/s/1nuTzMkT
package com.ws.study.servlet.huoquziyuan;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.IOUtils;
public class servlethuoqu2 extends HttpServlet {
private int count;
/**
* Constructor of the object.
*/
public servlethuoqu2() {
super();
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ServletContext srvcon=super.getServletContext();
if("".equals(count)){
count=1;
}else{
count++;
}
System.out.println(srvcon.getAttribute("username"));
System.out.println("调用了"+count+"次");
/*
* 用Classloader载入到WEB-INFclasses目录内然后获取
*/
// ClassLoader classl=this.getClass().getClassLoader();
// InputStream input=classl.getResourceAsStream("a.txt");
// System.out.println(IOUtils.toString(input));
/*
* 用Class载入到当前类路径下 加斜杠载入到WEB-INFclasses下。
*/
// Class clas=this.getClass();
// InputStream input=clas.getResourceAsStream("/../../index.jsp");
// System.out.println(IOUtils.toString(input));
/*
* 用servletContext获取文件内容
*/
InputStream input=srvcon.getResourceAsStream("/index.jsp");
System.out.println(IOUtils.toString(input));
// System.out.println(srvcon.getResourcePaths("/"));
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">");
out.println("<HTML>");
out.println(" <HEAD>" +
"<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>" +
"<TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.println("test 测试");
out.print(this.getClass());
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
@Override
public void init() throws ServletException {
// TODO Auto-generated method stub
System.out.println("我诞生了,我要setAttribute");
super.getServletContext().setAttribute("username", "hackermi");
}
}
package com.ws.study.servlet;
import java.io.IOException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class servletC extends servletAdd {
@Override
public void service(ServletRequest req, ServletResponse res)
throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("service调用了一次");
this.getInitParameterNames();
}
@Override
protected void init() {
// TODO Auto-generated method stub
System.out.println("servlet诞生了");
}
public void getInitParameterNames(){
System.out.println("获取参数");
enat=servletconfig.getInitParameterNames();
while (enat.hasMoreElements()) {
String canshu = (String) enat.nextElement();
System.out.println(canshu);
}
}
}
package com.ws.study.servlet;
import java.io.IOException;
import java.util.Enumeration;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class servletAdd implements Servlet {
public Enumeration<String> enat;
protected ServletConfig servletconfig;
public servletAdd() {
// TODO Auto-generated constructor stub
}
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public ServletConfig getServletConfig() {
// TODO Auto-generated method stub
return this.servletconfig;
}
@Override
public String getServletInfo() {
// TODO Auto-generated method stub
return null;
}
@Override
public void init(ServletConfig servletConfig) throws ServletException {
// TODO Auto-generated method stub
this.servletconfig=servletConfig;
enat=servletConfig.getInitParameterNames();
while (enat.hasMoreElements()) {
String canshu = enat.nextElement();
System.out.println(servletConfig.getInitParameter(canshu));
}
init();
}
@Override
public void service(ServletRequest req, ServletResponse res)
throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("servletAdd被调用了一次");
enat=servletconfig.getInitParameterNames();
while (enat.hasMoreElements()) {
String canshu = enat.nextElement();
System.out.println(canshu);
}
System.out.println(this.getServletContext());
}
public ServletContext getServletContext(){
return this.servletconfig.getServletContext();
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
}
protected void init() {
// TODO Auto-generated method stub
}
}