Servlet的功能与使用
Servlet在javaweb中既可以开发页面,也可以进行流程控制,但由于Servlet在开发页面时太过冗杂后被JSP所代替;现在主要的功能还是进行流程控制。
Servlet的生命周期
- 类加载,通过xml配置的Servlet会根据web.xml文件中的servlet-class反射类对象。
- 对类对象进行实例化。
- init初始化。
- service服务请求。
- destroy销毁操作。
转发与重定向
服务端实现跳转的方式有两种,分别为转发与重定向。
转发的原理:请求到达后进行分析判断,如果使用转发的形式,请求在服务器内部传递,外部不可见,使用同一个请求访问页面。
重定向的原理:请求到达后分析判断,使用重定向的形式,响应302代码和url地址,浏览器会再次发送请求到目标地址。
由于转发整个过程使用的是一条请求,所以可以传递信息。
转发与重定向的区别
转发 | 重定向 | |
---|---|---|
跳转前后共享数据 | 可以 | 不可以 |
URL地址显示 | 显示Servlet地址(服务器内部跳转,我不不可见) | 显示的是跳转后的地址 |
效率 | 高 | 低(产生新请求) |
跳转范围不同 | 服务器内部 | 任意资源 |
Servlet的使用
Servlet在使用时分三个步骤:
- 接收请求数据。
- 处理请求数据并返回结果。
- 根据结果对用户做出响应。