zoukankan      html  css  js  c++  java
  • 重写HttpServlet

    自己写一个MyServlet

    package com.servlet;
    
    import java.io.IOException;
    
    import javax.servlet.Servlet;
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class MyServlet implements Servlet{
    
    	@Override
    	public void destroy() {
    		// TODO Auto-generated method stub
    		
    	}
    
    	@Override
    	public ServletConfig getServletConfig() {
    		// TODO Auto-generated method stub
    		return servletConfig;
    	}
    
    	@Override
    	public String getServletInfo() {
    		// TODO Auto-generated method stub
    		return null;
    	}
    
    	ServletConfig servletConfig;
    	@Override
    	public void init(ServletConfig arg0) throws ServletException {
    		// TODO Auto-generated method stub
    		servletConfig=arg0;
    		init();
    	}
    	public void init() {
    		
    	}
    
    	@Override
    	public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		
    		//因为request没有getMethod()方法,所以需要他的子类
    		HttpServletRequest req=(HttpServletRequest)request;
    		HttpServletResponse spe=(HttpServletResponse)response;
    		
    		service(req,spe);
    		
    		System.out.println(req.getMethod());
    	}
    	//重载service,当子类重写时原来父类的不会被重写
    	public void service(HttpServletRequest request,HttpServletResponse response) {
    		//对不同的请求做不同的回应
    		if(request.getMethod().equals("GET")) {
    			doGet(request,response);
    		}
    		if(request.getMethod().equals("POST")){
    			doPost(request,response);
    		}
    	}
    	//增加get和post方法供子类继承
    	public void doGet(HttpServletRequest request,HttpServletResponse response) {
    		
    	}
    	public void doPost(HttpServletRequest request,HttpServletResponse response) {
    		
    	}
    
    }
    
    
    

    然后用一个LoginServlet去继承MyServlet

    package com.servlet;
    
    import java.io.IOException;
    
    import javax.servlet.Servlet;
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class LoginServlet extends MyServlet{
    
    	@Override
    	public void destroy() {
    		// TODO Auto-generated method stub
    		
    	}
    
    	@Override
    	public ServletConfig getServletConfig() {
    		// TODO Auto-generated method stub
    		return null;
    	}
    
    	@Override
    	public String getServletInfo() {
    		// TODO Auto-generated method stub
    		return null;
    	}
    
    	@Override
    	public void init(ServletConfig arg0) throws ServletException {
    		// TODO Auto-generated method stub
    		
    	}
    
    	@Override
    	public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		
    	}
    	public void doGet(HttpServletRequest request,HttpServletResponse response) {
    		System.out.println("GET");
    	}
    	public void doPost(HttpServletRequest request,HttpServletResponse response) {
    		System.out.println("POST");
    	}
    
    }
    
    

    所以

    后来我们在eclipse直接去新建一个servlet的时候,IDE自动给我们完成这些事了,例如我们新建一个TestServlet,会自动继承HttpServlet

    package com.servlet;
    
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * Servlet implementation class TestServlet
     */
    public class TestServlet extends HttpServlet {
    	private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public TestServlet() {
            super();
            // TODO Auto-generated constructor stub
        }
    
    	/**
    	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		response.getWriter().append("Served at: ").append(request.getContextPath());
    	}
    
    	/**
    	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		doGet(request, response);
    	}
    
    }
    
    
    
  • 相关阅读:
    【总结】设备树语法及常用API函数【转】
    【转】ios蓝牙开发学习笔记(四)ios蓝牙应用的后台处理 -- 不错
    SQL存储过程相关信息查看
    DBCC CHECKIDENT
    SQL CAST与CONVERT区别
    SQl查询数据库库名,表名、表的列名
    SQL语句资料
    SQL中rownum和order by的执行顺序的问题
    完整的ASP.NET存储过程分页,排序,鼠标移至变色
    最简单删除SQL Server中所有数据的方法(不用考虑表之间的约束条件,即主表与子表的关系)
  • 原文地址:https://www.cnblogs.com/liu-ya/p/9403618.html
Copyright © 2011-2022 走看看