基于tomcat服务器和IDEA开发环境的JavaWeb的Servlet简单入门

本文所用的服务器为tomcat 8,开发环境为IDEA 2017.5.2

Servlet作为JavaWeb三大组件之一,是最重要的组件。

一.Servlet的简单介绍

那么什么是Servlet,为什么需要Servlet?

1.首先,我们来看一下百科提供的解释
基于tomcat服务器和IDEA开发环境的JavaWeb的Servlet简单入门_第1张图片

Servlet是运行在服务端的小程序,是sun公司提供的一套规范,它其实是一个接口,里面定义了一些方法。

2.我们都知道,客户端发送的数据会被提交到服务器,那么服务器需要先接收请求的数据,接着处理请求的数据,最后给浏览器响应,而Servlet可以简单理解为帮助服务端完成这系列操作的工具。

二.Servlet快速入门开发步骤

1.创建一个普通java类实现Servlet接口并重写接口中所有的抽象方法
基于tomcat服务器和IDEA开发环境的JavaWeb的Servlet简单入门_第2张图片
2.注册这个类:
(1)在web.xml中配置这个类的信息。
(2)配置这个类的映射路径。
基于tomcat服务器和IDEA开发环境的JavaWeb的Servlet简单入门_第3张图片
3.在servlet方法中处理请求和响应的业务逻辑。
这里写图片描述
4.发布项目,启动后,通过映射路径访问这个类。
基于tomcat服务器和IDEA开发环境的JavaWeb的Servlet简单入门_第4张图片
基于tomcat服务器和IDEA开发环境的JavaWeb的Servlet简单入门_第5张图片

三.Servlet编程优化

在上述的快速入门中,实现了Servlet接口后能够接收浏览器发送的请求并能够响应数据给浏览器。但是,我们发现在实现接口后必须重写接口中的所有方法,而在接口在接收请求和响应数据的时候只需要用到一个service方法就足够了。所有,最好能够有选择地实现父类的方法。
1.优化一:GenericServlet
GenericServlet是一个抽象类,它实现了多个接口,其中就有Servlet,所以它重写了Servlet接口中的所有方法,而我们则只要继承GenericServlet类,重写其中的service方法。
举例说明:
(1).编写一个普通java类ServletDemo1继承GenericServlet
基于tomcat服务器和IDEA开发环境的JavaWeb的Servlet简单入门_第6张图片
(2).在web.xml配置ServletDemo1
基于tomcat服务器和IDEA开发环境的JavaWeb的Servlet简单入门_第7张图片
(3).重写service方法,完成页面响应数据。
基于tomcat服务器和IDEA开发环境的JavaWeb的Servlet简单入门_第8张图片
(4).启动tomcat并访问
基于tomcat服务器和IDEA开发环境的JavaWeb的Servlet简单入门_第9张图片
2.优化二:HttpServlet
在实际生活中,浏览器给我们发送的请求往往是HTTP协议下的请求,所以其实我们只需要处理HTTP的请求和响应即可,sun公司提供了HttpServlet,对GenericServlet再次进行扩展和增强功能。
HttpServlet是GenericServlet的一个子类,这个类是专门用来处理和HTTP协议相关的请求和响应的一个Servlet类。在日常生活中,最常用的HTTP请求只有get请求和post请求,因此,我们只需要重写里面的doGet()方法和doPost()方法。
举例说明:
编写一个普通java类ServletDemo2继承HttpServlet,并重写doGet()方法和doPost()方法。
基于tomcat服务器和IDEA开发环境的JavaWeb的Servlet简单入门_第10张图片
那么,以上服务器是如何区分浏览器传过来的get请求和pos请求呢?
其实,通过HttpServlet的源码,可以发现处理请求的还是HttpServlet中的service()方法,它接收请求之后获取了请求的方式。

四.Servlet生命周期

相信看了以上的介绍,一定会很好奇Servlet是由谁创建的,什么时候创建的,又什么时候销毁?
1.由服务器tomcat创建。
2.第一次访问这个Servlet的时候,只创建一次,创建完成后会调用init()方法。
3.每次请求到这个Servlet时,由service()方法处理请求和响应信息。
4.服务器正常关闭,销毁前会调用destory()方法。

五.Servlet 3.0注解开发

1.引入注解开发
通过上面的入门快速开发,可以发现Servlet的配置信息都是在web.xml中完成的,显而易见,如果要创建很多的Servlet,那么需要配置很多信息,这样会很不易于管理。
Servlet 3.0提供了注解支持,在创建Servlet的时候,在这个Servlet类上面添加注解就可以完成Servlet的配置,除此之外,还带来了支持web模块、支持Servlet异步处理和文件上传API简化的新特性。
2.步骤
(1).新建一个Servlet
基于tomcat服务器和IDEA开发环境的JavaWeb的Servlet简单入门_第11张图片
(2).配置Servlet
基于tomcat服务器和IDEA开发环境的JavaWeb的Servlet简单入门_第12张图片
如上图所示,创建完成后,Servlet类上面会默认添加一个注解@WebServlet(name=”ServletDemo3”),这个@WebServlet注解就是用来配置当前这个Servlet的,有两个属性:name属性:相当于web.xml的、urlPatterns属性:类似于,用来配置映射路径的。
3.优化
(1).优化一
在继承HttpServlet之后,重写doGet()方法处理get请求,重写doPost()方法处理post请求。但是,浏览器发送的是哪个请求,我们事先并不之情,所以,我们需要在doGet()方法中调用doPost()方法,或者在doPost()方法中调用doGet()方法,这样只需要在一个方法中处理请求了。
(2).优化二
基于IDEA的模板,我们可以做到快速创建Servlet
基于tomcat服务器和IDEA开发环境的JavaWeb的Servlet简单入门_第13张图片

(如有错误,欢迎指出,一起进步~)

你可能感兴趣的:(JavaWeb,Servlet,后台开发)