我是靠谱客的博主 年轻小伙,最近开发中收集的这篇文章主要介绍如何编写一个ServletServlet day2,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Servlet day2

1.什么是servlet

servlet本身就是一种java类,这种java类可以提供web形式的访问(Java EE 规范)

2.怎么按照JavaEE的规范编写一个servlet

关键字 作用 说明
Servlet 接口 有五个抽象方法
GenericServlet 抽象类 有一个抽象方法
HttpServlet 抽象类 没有抽象方法

HttpServlet-继承->GenericServlet-实现->Servlet接口

所以编写一个servlet,有三种方式

第一种方式:
写一个类去实现接口servlet
最重要的是实现接口中的service方法
这个方法就是我们在访问servlet的时候被tomcat服务器调用的


第二种方式:
写一个类去继承父类GenericServlet
抽象类GenericServlet里面有一个抽象方法service,这个方法是servlet接口中的方法,所以GenericServlet只实现了Servlet接口中的四个抽象方法,还剩下这个service没有实现。同时,GenericServlet类中不但实现了Servlet接口中的init方法,而且还重载了一个无参的init()方法

源代码中两个init方法的实现:

			//tomcat服务器默认调用的是这个init方法
		    @Override
			public void init(ServletConfig config) throws ServletException {
   
				this.config = config;
				this.init();
			}
			//用户需要重写的是这个init()方法
			public void init() throws ServletException{
   
				// NOOP by default
			}

第三种方式:
写一个类去继承父类HttpServlet
HttpServlet是一个抽象类,但是没有任何抽象方法
HttpServlet类中自定义了很多doXxxx方法,每一种方法都对应了浏览器发送请求的方法,一般常用的浏览器发请求方式为get和post,这两种方式分别对应了这个类中的doGet方法和doPost方法。
HttpServlet类中,有两个service方法

		//这个service方法Servlet接口中的
		void service(ServletRequest req, ServletResponse res){
   ...}
		
		//这个service是HttpServlet中重载的方法
		void service(HttpServletRequest req, HttpServletResponse resp){
   ...}
		

		源代码中俩个service方法的实现:
		//实现Servlet接口中的service方法
		@Override
		public void service(ServletRequest req, ServletResponse res)
			throws ServletException, IOException {
   

			HttpServletRequest  request;
			HttpServletResponse response;

			try {
   
				request = (HttpServletRequest) req;
				response = (HttpServletResponse) res;
			} catch (ClassCastException e) {
   
				throw new ServletException("non-HTTP request or response");
			}
			//调用重载之后的service方法
			service(request, response);
		}

		
		//HttpServlet类中重载的service方法
		protected void service(HttpServletRequest req

最后

以上就是年轻小伙为你收集整理的如何编写一个ServletServlet day2的全部内容,希望文章能够帮你解决如何编写一个ServletServlet day2所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部