前言

  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. hdu-3342-Legal or Not--拓扑排序//两种解法
  2. 学完这篇依赖注入,与面试官扯皮就没有问题了。
  3. linux7重装linux6,CentOS6远程重装7过程
  4. openwrt挂载u盘(ntfs)_如何在 Bitcoin 的源码基础上生成一条自己的链 08:将bitcoin移植到openwrt...
  5. 为什么全栈开发对物联网至关重要?
  6. freemarker mysql 生成bean_基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(v6.6.6版)...
  7. django中render_Django - render_to_response()
  8. linux下ftp客户端主动模式设置
  9. 为什么有的chm会显示“已取消到该网页的导航”?
  10. APP界面设计教程---手机ui高级实战案例(完整版)
  11. python练习39:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
  12. Zotero+Web of Science 实现批量导入下载文献
  13. 刷手机流量,反正浪费就完事了
  14. Hbuilder安装及使用教程
  15. php使用QQ登录API,QQ的账号登录及api操作
  16. 35个Python实战项目,完整源代码!
  17. 基于SSM实现的人力资源管理系统【附源码】(毕设)
  18. nodejs学习-fs模块
  19. MariaDB/Mysql数据库进阶知识
  20. 【LSSVM分类】基于matlab灰狼算法优化LSSVM分类(多输入多分类)【含Matlab源码 1558期】

热门文章

  1. Android频道管理集成
  2. MNN windows 编译
  3. 简单仿微信的分组消息界面
  4. 苹果为何要一定要去印度生产iPhone
  5. 选择联赛用英文怎么说
  6. [祥云杯2021:Wp]
  7. 10 个最好用的 NodeJS 框架
  8. 【华为机试真题详解】货币单位换算【2022 Q4 | 100分】
  9. window.localStorage.setItem总结
  10. windows host + linux guest