码迷,mamicode.com
首页 > Web开发 > 详细

重写HttpServlet

时间:2018-08-01 22:18:24      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:package   pac   ack   todo   throws   gen   sys   code   gets   

自己写一个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

标签:package   pac   ack   todo   throws   gen   sys   code   gets   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!