Servlet-----GenericServlet的用法和原理

1,GenericServlet是实现了Servlet接口和ServletConfig接口的实现类,是一个抽象类,里面的service方法为抽象方法。

2,如果新建的Servlet程序直接继承GenericServlet,只需要重写servlet方法即可,会使开发更简单简洁。

3,模拟GenericServlet的实现

  

package 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;

/**
* 自定义的一个Servlet接口的实现类:让任何开发的Serclet都继承该类,以简化操作。
* 
* @author SmartTiger
* @created 2018年10月16日 下午6:38:46
*/
public abstract class MyGenericServlet implements Servlet, ServletConfig {
// 定义一个ServletConfig类型的私有成员变量
private ServletConfig servletonfig;

/**
* 继承Servlet接口实现的方法
*/
@Override
public void destroy() {
}

@Override
public ServletConfig getServletConfig() {
return servletonfig;
}

@Override
public String getServletInfo() {

return null;
}

/*
* 初始化成员变量
* 
* @see javax.servlet.Servlet#init(javax.servlet.ServletConfig)
*/
@Override
public void init(ServletConfig servletConfig) throws ServletException {
this.servletonfig = servletConfig;

}

@Override
public abstract void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException;

/*
* 继承ServletConfig接口实现的方法
* 
* @see javax.servlet.ServletConfig#getInitParameter(java.lang.String)
*/
@Override
public String getInitParameter(String arg0) {
return servletonfig.getInitParameter(arg0);
}

@Override
public Enumeration<String> getInitParameterNames() {
return servletonfig.getInitParameterNames();
}

@Override
public ServletContext getServletContext() {
return servletonfig.getServletContext();
}

@Override
public String getServletName() {
return servletonfig.getServletName();
}

}

 

 

转载于:https://www.cnblogs.com/hhajj/p/9800091.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ServletGenericServlet和HttpServletJavaWeb中的三个关键类,它们之间存在继承关系。 ServletJavaWeb的三大组件之一,它可以处理客户端的请求并生成动态的Web内容。Servlet可以通过实现javax.servlet.Servlet接口来创建,也可以通过继承javax.servlet.GenericServlet类或javax.servlet.http.HttpServlet类来创建。\[1\] GenericServlet是一个抽象类,它实现了javax.servlet.Servlet接口,并提供了一些通用的方法和功能。如果我们需要创建一个通用的Servlet,可以继承GenericServlet类并重写其中的方法。\[3\] HttpServletGenericServlet的子类,它进一步扩展了GenericServlet的功能,专门用于处理HTTP请求和响应。如果我们需要创建一个处理HTTP请求的Servlet,通常会继承HttpServlet类并重写其中的doGet()和doPost()方法。\[2\] 所以,可以说HttpServletGenericServlet的子类,而GenericServletServlet接口的实现类。这三者之间存在继承关系,同时也代表了Servlet在不同场景下的不同实现方式。 #### 引用[.reference_title] - *1* *2* *3* [ServletGenericServlet和HttpServlet之间的关系](https://blog.csdn.net/qq_40645822/article/details/101314753)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值