目录
什么是servlet
servlet是server和applet(小程序)的结合写法,意思是服务器小程序用于扩展web服务软件业务功能的组件,每一种请求都需要对应一个单独的Servlet(对应WebServer的业务)
- Servlet是JavaWeb最为核心的内容,它是Java提供的一门动态web资源开发技术。I
- Servlet是JavaEE规范之一,其实就是一个接口,将来我们需要定义Servlet类实现Servlet接口
- Servlet想要运行,必须依靠一个Web服务器软件,也称Web容器(Tomcat)
为什么要使用servlet技术
- Servlet可以代替传统的使用CGI实现的程序,其根本原因在于传统的CGI程序效率过低
- 传统的CGI程序每接受到一个HTTP请求就需要启动一个新进程来处理,进程的频繁启动,切换和关闭会导致系统性能极度降低
- 线程的反复启动,切换和关闭比进程对资源的开销要小的多,而Servlet可以让JVM一直在运行,当接受到请求后JVM通过创建线程来进行处理
- 同时,jsp是servlet技术的一个扩展,jsp技术允许Java代码和html混合在一起使用,实现强大的网页功能
实现servlet程序
- 编写一个类实现Servlet接口
- 实现service方法,处理请求,并响应数据
Servlet程序代码:
public class HelloServlet implements Servlet {
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("hello我被访问了");
}
}
到web.xml中配置,servlet程序的访问
Servlet生命周期
- 执行Servlet构造方法
- 执行init()初始化方法: servlet出生方法 -第一次访问时出生 -服务器启动时出生
- 执行service()方法:Servlet活着方法 -每次请求是被调用
- 执行destroy()销毁方法:Servlet死亡方法 -服务器关闭时调用
Servlet的GET和POST请求分发处理
- form表单设置提交的方式Get或者post
- Get请求的特点
- 浏览器地址栏中的地址是:url地址[+?+请求参数]
- 请求参数的格式是:name=value&name=value
- 不安全,还有参数限制
- post请求特点
- 浏览器地址栏只有服务器地址
- 相对GET请求安全
- 理论上没有数据长度限制