Servlet和JSP学习心得(一)

前言

  1. Java Servlet 技术,简称Servlet,是Java中用于开发Web应用程序的基本技术。Servlets是指在Servlet容器中运行的Java类。Servlet容器或Servlet引擎,就像是一个Web服务器,但它能够生成动态的内容,而不只是提供静态的资源。
  2. Servlet是一个Java程序。一个Servlet应用程序经常包含一个或多个Servlet。JSP页面也要被翻译成Servlet,并进行编译。
  3. Servlet应用程序是在Servlet容器中运行,它不能自动运行。
  4. Web服务器与Web客户端之间通过双方熟悉的一种语言进行通信,即超文本转移协议(HTTP)。图1
  5. Servlet和JSP只是Java EE众多技术中的两种。运行Java EE应用程序时,需要Java EE容器,但是Java EE容器用来部署Servlet/JSP程序会显得杀鸡用牛刀,一般都是采用Servlet/JSP容器都卓卓有余啦,如Tomcat ,Jetty(注:这两个都不属于Java EE容器)。
  6. 并非所有的URL都用HTTP,如ftp。

Servlet简单介绍

  1. Servlet接口方法:

    主要接口:

    init(初始化),service(请求服务),destroy(销毁),

    次要接口:

    getServletInfo(返回Servlet的描述), getServletConfig(返回由Servlet容器传给init方法的ServletConfig);

    流程:

    仅当servlet容器第一次接到访问该servlet请求的时候才会进行init操作,之后都是只进行service操作。

  2. @WebServlet(name=“XXX”, urlPatterns = {"/myUrl"}) 这个注解用来声明一个Servlet,并告诉容器它的URL(urlPatterns 属性);name属性可选,一般都用类名。

  3. ServletRequest接口常见方法:

    public java.lang.String getParameter(java.lang.String name) 返回制定请求参数的值。

    次要可常用方法:

    getParameterNames,getParameterMap,getParameterValues;

  4. ServletResponse常见方法:
    getWriter:返回可以将文本传给客户端的Java.io.PrintWriter,默认使用编码ISO-8859-1;
    getOutputStream:用来传输二进制数据,如文件下载。

  5. ServletConfig:
    getServletContext:可以从Servlet内部获取ServletContext;
    还可以使用@WebServlet的initParams提供键值初始化;
    ServletContext表示Servlet应用程序,每一个Web应用程序都只有一个context

  6. GenericServlet:
    实现了Servlet和ServletConfig的抽象类,抽出了一个无参init方法方便用户覆盖实现个性化。

  7. HttpServlet:
    GenericServlet抽象类的继承类,带有HttpServletRequest(继承ServletRequest)和HttpServletResponse(继承ServletResponse)对象;
    覆盖了GenericServlet中的service方法,并添加了一个新参数的service方法;
    新的service方法会查看通常用来发送请求的七种方法之一(doGet,doPost等等),此时变成了get,post等方法的重写。

  8. 部署描述符:
    就是框架中常见的xml文件,用于配置启动Servlet,servlet路径,初始参数等等。

课余点

  1. 简单了解了HTTP的七种请求方法的区别——https://blog.csdn.net/u012919352/article/details/84350839
    这个是转载大佬的,不过写的简单易懂,很好的一篇文章。

  2. xml文件(部署描述符)作用:
    1.可以包含@WebServlet中没有的元素,如load-on-startup;
    2.当需要修改配置值或修改初始参数时,不需要重新编译servlet类;
    3.允许覆盖servlet注解中制定的值,例如访问路径。

以上就是本人第一章的读后感,servlet和JSP就是Java发展史中的一个关键节点,犹如电力时代中发现电一样重要,真的很有必要抽时间去细看。

本人对Java了解有限,若有不当之处欢迎大佬指出。谢谢!

猜你喜欢

转载自blog.csdn.net/u012919352/article/details/84504584
今日推荐