Servlet---详情解析(二)---继承GenericServlet和HttpServlet/适配器

这一篇文章要讲的知识点都带代码的注释中了,先把代码贴上来吧:

1、继承GenericServlet的Servlet

package cn.hncu.servlets.day2;


import java.io.IOException;

import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
//以继承 GenericServlet 的方式 写 servlet
public class SecondServlet extends GenericServlet {

	//适配器模式的一个知识点:适配器中的init(ServletConfig config)中帮我们把它当中的config对象赋值且调用 一个空参的init()。
	//我们以后应该覆盖空参的init()。因为如果覆盖了这个带参数的,那么就无法实现为它的config对象赋值,
	//由此导致其中使用config对象的方法会出错。
	//其实这种方法(调用 一个空参的init()且 该参数方法中什么也没做 )也程序员之间的一种交流方式,
	//告诉我们要覆盖空参的方法,这样它在帮我们做完事情会调用我们的覆盖方法
//  @Override
//	public void init(ServletConfig config) throws ServletException {
//		//String charset = config.getInitParameter("charset");
//		//System.out.println(charset);
//		System.out.println("init...."+this);
//	}
	
	@Override
	public void init() throws ServletException {
		System.out.println("init......"+this);
	}

	@Override
	public void service(ServletRequest req, ServletResponse res)
			throws ServletException, IOException {
		String charset=this.getInitParameter("charset");
		System.out.println(charset);
		req.setCharacterEncoding(charset);
		String name=req.getParameter("name");
		String pwd=req.getParameter("pwd");
		System.out.println("name="+name+",pwd="+pwd);
	}
	
}

2、继承HttpServlet的Servlet

(这种方式以后用的最多)

package cn.hncu.servlets.day2;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//注意,采用继承HttpServlet的方式写servlet,doGet和doPost这两个方法通过都要覆盖,
//如果doGet方法没覆盖,有get请求时就会出现405错误,不覆盖doPost方法同理。
//若以后要使用到doPut方法时,doPut同样也要覆盖
public class ThirdServlet 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......");
	}
	
}



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值