前言

  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)。
  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了解有限,若有不当之处欢迎大佬指出。谢谢!

Servlet和JSP学习心得(一)相关推荐

  1. 【Servlet】JSP学习-概念和运行原理

    为什么需要JSP? 与HTML相比:根据后台的业务,可以动态输出HTML,网页内容是可以改变的. 与原生Servlet相比:不需要自己写输出语句resp.getWriter().write(" ...

  2. Head first servlet and jsp学习笔记

    学习中遇到的问题:java基础不行,都忘光了. 主要是:继承,接口,多线程,IO.尤其是多线程,在分布式系统中应该使用的比较多 第一章:前言和体系结构 HTTP协议: TCP/IP的上层协议(应用层) ...

  3. servlet和jsp学习总结

    一.servletConfig部分 作用: ServletConfig 对象是Servlet的专属配置对象,每个Servlet都单独拥有一个ServletConfig对象,用来获取web.xml中的配 ...

  4. 《Servlet和JSP学习指南》一导读

    前 言 欢迎你阅读本书,其内容涵盖了Servlet 3.0和JSP 2.2方面的技术. Java Servlet技术,或简称Servlet,是Java中用于开发Web应用程序的基本技术.Sun公司于1 ...

  5. Servlet与JSP学习笔记(五) JSP核心(下)

    同样可以参考菜鸟笔记. JSP标签 JSP除了包括以"<%"开头的JSP标记,还包括以"<jsp:"开头的JSP标签.实际上,前者的每种标记都有后者 ...

  6. Servlet和JSP学习指导与实践(二):Session追踪

    前言: web应用中经常需要对某些有用的信息进行存储或者附加一些信息.本文主要介绍session,即"会话"跟踪的几种不同方式~ ------------------------- ...

  7. JSP学习心得(一)

    一.学习JSP遇到的第一个问题及解决方法     因为没有把 X:/Oracle/product/10.2.0/client_1/jdbc/lib 中的jar文件拷到 X:/resin-3.0.19/ ...

  8. 《Servlet和JSP学习指南》一第2章 Session管理 2.1 网址重写

    第2章 Session管理 Session管理(或Session追踪)是Web应用程序开发中一个非常重要的主题.这是因为Web语言HTTP是无状态的.在默认情况下,Web服务器不知道一个HTTP请求是 ...

  9. 《Servlet和JSP学习指南》一第1章 Servlet 1.1 Servlet API概述

    第1章 Servlet Servlet是开发Servlets应用程序的主要技术.掌握Servlet API是成为一名技术高超的Java Web开发者的基础.你必须非常熟悉Servlet API中所定义 ...

最新文章

  1. java 字符串大小比较
  2. [architecture]-ARM AMBA/AXI/ACE/LITE总线介绍
  3. ubuntu16.04无法连接WiFi搜索不到网络网卡驱动
  4. python常见安装
  5. asp.net findcontrol html控件,findcontrol-在ASP.NET中查找控件的更好方法
  6. MongoDB学习day08--Mongoose索引、Mongoose内置方法、扩展Mongoose Model的静态方法和实例方法...
  7. 2. java程序严格区分_2.java基本语法
  8. OSPF(Open Shortest Path First)开放式最短路径优先协议03
  9. 工具使用教程 (一)【Git从原理到入门实用教程】
  10. HIVE学习之(三)
  11. CSV 文件中的字段中的开头和结尾上,可能会存在空格或制表符,但是该如何处理呢?
  12. Matlab线性规划求解
  13. ubuntu20修改ip地址方法
  14. anaconda如何配置环境变量
  15. Centos7 Snapper快照备份
  16. 当“长期主义”遇上“流量生意”,轻松筹与水滴筹谁更胜一筹?
  17. 有关神经网络的训练算法,神经网络算法通俗解释
  18. 一招解决A卡下载安卓模拟器问题
  19. Python学习三: 爬虫高级技巧 与 模拟实战练习
  20. nhibernate访问mysql配置_NHibernate各种数据库连接参数文件配置方法说明

热门文章

  1. python下载邮件附件
  2. LeetCode13.罗马数字转整数 JavaScript
  3. HttpServletResponse应用_侯子腾的个人总结(第四次课)
  4. 6_Makefile与GCC
  5. 一款搭载恩智浦i.MX 8M Plus处理器的国产核心板正式发布
  6. C语言 const、static、volatile等关键字的作用
  7. 10月30日,2019民航客户忠诚度管理论坛将在上海召开
  8. android App应用实现评分功能
  9. 高层建筑结构健康监测:智能监测与预警守护建筑安全
  10. 基金净值(某几个基金净值)