Servlet基础

    xiaoxiao2021-03-25  101

    Servlet:是使用Java Servlet接口(API)运行在web应用服务器上的Java程序,与普通Java程序不同,它是位于web服务器内部的服务器端的Java应用程序,可以对web浏览器或其他HTTP客户端程序发送的请求进行处理。前提条件是:把Servlet对象布置在Servlet容器(也就是web容器,如Tomcat/webLogic/Jboss等)之中。

    一、基础知识

    (1)生命周期:实例化、初始化init()、处理请求service()、销毁desdroy()。

    (2)技术特点:Servlet采用Java语言编写,同时也对Java的web应用进行了扩展。丰富的API,当处理HTTP请求时只要调用相应的API即可;Servlet的一个实例对象可以处理多个线程的请求;继承了Java的跨平台性及支持封装、继承等面向对象的优点;采用了Java的安全框架,安全性很高。

    (3)技术功能:可以处理HTTP请求及获取HTTP头信息,通过HttpServletRequest接口与HttpServletResponse接口做出处理后返回到HTML页面中;有强大的过滤器;可以与其他服务器资源通信。

    二、JSP与Servlet的区别

    jsp是在Servlet规范之上的动态网页,通过在JSP页面中嵌入Java代码可以产生动态网页,因此可以理解为Servlet的扩展。在JSP文件被第一次请求时,会被编译成Servlet文件,再通过容器调用Servlet进行处理。

    1.Servlet是客户请求和业务处理的中间角色,需要调用固定的方法,将动态内容混合到静态之中产生HTML,而JSP页面可以直接使用HTML标签进行输出。 2.Servlet要调用Servlet API接口处理HTTP请求,在JSP页面中则直接提供了内置对象进行处理。

    3.Servlet的使用需要一定的配置,JSP只需.jsp扩展名部署在容器之中,容器就会对其自动识别,直接编译成Servlet处理。

    三、代码结构:

    public class test extends HttpServlet{ //初始化 public void init()throws ServletException{ } //处理HTTP的doGet请求 public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ } //处理HTTP的doGet请求 public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ } //销毁 public void destroy(){ super.destroy(); } } web.xml中配置: Servlet类名 包名+类名 类名 映射

    四、Servlet API常用的接口和类:

    1.接口:servlet/ServletCongig/HttpServletRequest/HttpServletResponse

    2.类:GenericServlet/HttpServlet

    五、Servlet过滤器

    是客户端和目标资源间的中间层组件,用于拦截客户端的请求与响应信息。可以放置多个过滤器。

    1.Filter接口:当定义一个过滤器对象时需要实现此接口。

              init(FilterConfig filterConfig)

    doFilter(ServletRequest request,ServletResponse response,FilterChain chain)

    destroy()

    2.FilterChain接口:由容器进实现,只包含一个doFilter()方法,用于将过滤器处理的请求或响应传递给下一个过滤器对象。(在多个过滤器中可使用此接口) 3.FilterConfig接口:由容器进行实现,用于获取过滤器初始化期间的参数信息。过滤器还需要在web.xml中进行配置,配置方法与servlet类似。

    转载请注明原文地址: https://ju.6miu.com/read-19261.html

    最新回复(0)