首页 > Web开发 > 详细

重写HttpServlet

时间:2018-08-01 21:29:58      阅读:196      评论:0      收藏:0      [点我收藏+]

自己写一个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");
    }

}

重写HttpServlet

原文:https://www.cnblogs.com/liu-ya/p/9403618.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!