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 } }