Servlet
什么是Servlet?
Servlet,全称Java Servlet,是用Java编写的服务器端程序。其主要功能在于处理请求和发送响应。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。
Servlet是Java Web的核心类,是Java Web三大组件之一(Servlet、Filter、Listener)。
Servlet的作用
用来处理客户端发送过来的请求,并对该请求做出响应:在HTTP请求过程中会把请求的参数存放在请求行的URL中,或者是请求体中,这个参数需要服务器来接受解析并处理,Servlet就是用来处理这个过程的
1)处理HTTP请求
2)获取接收客户端发送来的请求数据
3)将处理的结果通过响应发送到客户端
Servlet的版本
Servlet 3.0作为Java EE 6规范体系中的一员,随着Java EE 6规范一起发布。该版本在前一版本(Servlet 2.5)的基础上提供了若干新特性用于简化Web应用的开发和部署
- 异步处理支持,在接收到请求之后,Servlet线程可以将耗时的操作委派给另一个线程来完成,自己在不生成响应的情况下返回至容器。针对业务处理较耗时的情况,这将大大减少服务器资源的占用,并且提高并发处理速度。有了该特性,Servlet线程不再需要一直阻塞,直到业务处理完毕才能再输出响应,最后才结束该Servlet线程。
- 新增的注解支持,该版本新增了若干注解,用于简化Servlet、过滤器(Filter)和监听器(Listener)的声明,这使得web.xml部署描述文件从该版本开始不再是必选的了。
注意:配置web.xml有两种方式,3.0之前需要配置web.xml,3.0之后可以用注解的方式,我们会在后面讲到。 - 可插性支持,熟悉Struts2的开发者一定会对其通过插件的方式与包括Spring在内的各种常用框架的整合特性记忆犹新。将相应的插件封装成JAR包并放在类路径下,Struts2运行时便能自动加载这些插件。现在Servlet
3.0提供了类似的特性,开发者可以通过插件的方式很方便的扩充已有Web应用的功能,而不需要修改原有应用。
编写第一个Servlet
创建一个类继承HttpServlet
Servlet程序必须编写实现类,并继承javax.servlet.http.HttpServlet接口
1)在src下创建一个包
2)创建一个类,继承HttpServlet
重写HttpServlet中的doGet()、doPost()
如果启动自动补全,直接打doGet、doPost就可重写方法。
1)鼠标右键,弹出菜单选Generate,也可使用快捷键ALT+Insert
2)选Override Methods
3)选择doGet、doPost方法,选确定
4)自动补全代码