servlet继承体系

2.servlet继承体系
	1.Servlet程序是sun公司开发用于开发web资源技术,任何 一个类只需要实现了Servlet接口那么就可以称作为是一个servlet程序。 
	2.继承体系: 
		------------|Servlet 
		--------------------|GenericServlet
		-----------------------------|HttpServlet 
3. GenericServlet与HttpServlet的区别
	1.相同点: 
		GenericServlet与HttpServlet都是Servlet接口的实现类。
	2.不同点: 
		如果是继承GenericServlet,那么不管访问的方式是get还是post都会调用service方法。
		如果是继承HttpServlet,那么如果是get的提交方式就会调用doGet、如果是Post的提交方式就会调用doPost。
	3.备注 : 在实际开发中基本上所有的程序员都是继承HttpServlet,那么我们对于不同的提交方式我们往往处理的方式是不一样的。httpServlet正好分开这两种提交方式。
	4.代码
		1.Form.html代码: 
		  <body>
		    	<form action="/servlet/demo1" method="get">
		    		用户名:<input type="text"  />
		    		<input type="submit" value="get提交"/>
		    	</form>
		    	
		    	<hr/>
		    	
		    	<form action="/servlet/demo2" method="post">
		    		用户名:<input type="text"  />
		    		<input type="submit" value="post提交"/>
		    	</form>
		  </body>
		 2.GenericServlet 测试代码
		public class Demo1Servlet extends GenericServlet { 
			/*
				不管是get还是post提交方式,都会调用到GenericServlet的service方法
			 */
			@Override
			public void service(ServletRequest request, ServletResponse response)
					throws ServletException, IOException {
					//获取向浏览器输出的流对象
					/*OutputStream out = 	response.getOutputStream();
					out.write("中国".getBytes());*/					
					System.out.println("demo1被访问了.."); /*向控制台输出 */
			}
		 
		}
		3.HttpServlet测试代码
		public class Demo2Servlet extends HttpServlet{
		 
			@Override
			protected void doGet(HttpServletRequest req, HttpServletResponse resp)
					throws ServletException, IOException {
				System.out.println("doget方法被 调用了..");
			}
		 
			@Override
			protected void doPost(HttpServletRequest req, HttpServletResponse resp)
					throws ServletException, IOException {
				System.out.println("dopost方法被 调用了..");
			}
		 
			
		}
		 

猜你喜欢

转载自blog.csdn.net/chenzuen113113/article/details/80796048