JavaWeb_Servlet 学习指南

news2024/9/21 22:34:06

文章目录

  • Servlet 简介
    • 什么是Servlet?
    • 什么是Web应用程序?
    • CGI(通用网关接口)【稍作了解】
    • CGI的缺点
    • Servlet的优势
    • Servlet API
      • javax.servlet包中的接口
      • javax.servlet包中的类
      • javax.servlet.http包中的接口
      • javax.servlet.http包中的类
    • 创建servlet项目
      • 创建web项目
      • 添加目录
      • 添加servlet依赖
      • 修改web.xml为servlet4.0
      • 创建servlet
      • 配置编码
      • 添加jstl支持
      • jstl使用
      • 在servlet中添加转发到jsp
      • tomcat下载:建议使用9.0版本
      • 配置tomcat
        • 添加tomcat
      • 配置tomcat视频演示
    • 创建分层项目结构
      • 一、创建父级项目
      • 二、创建普通子项目
        • 普通子项目放实体类、工具包等
      • 三、创建webapp项目
      • 四、项目最终结构
      • 五、web项目添加api依赖
    • Servlet入门程序
      • 1.创建应用程序目录结构
      • 2.创建一个Servlet
      • 3.创建部署描述符
      • 4.启动服务器并部署应用程序
      • 5.servlet源码
    • HttpServlet类
      • HttpServlet类的方法
    • Servlet生命周期
      • 架构图
      • Servlet工作流程
        • Servlet是如何工作的?
    • War文件
      • 为什么需要打包?
      • war文件是什么?
      • war文件的优点
      • 如何创建war文件?
        • java命令创建war
        • maven命令创建war
        • 如何部署war文件?
      • 如何手动提取war文件?
    • welcome页面
    • 启动时加载
      • 配置版本
      • 注解版本
    • ServletRequest接口
      • ServletRequest接口
      • ServletRequest接口的方法
    • 显示所有头信息
      • 在servlet中显示所有头信息的示例
    • 请求转发
      • RequestDispatcher接口示例
    • 重定向
      • forward()和sendRedirect()方法的区别
      • 示例
      • 登录后跳转成功页面
    • ServletConfig配置信息
      • ServletConfig的优点
      • 获取初始化参数的ServletConfig示例
      • 获取所有初始化参数的ServletConfig示例
      • 注解版本
    • ServletContext配置信息
      • ServletContext的优点
        • ServletContext接口的使用
        • 常用的ServletContext接口方法
        • 如何获取ServletContext接口的对象?
      • 获取初始化参数的ServletContext示例
      • 获取所有初始化参数的ServletContext示例
  • Servlet过虑器
    • 过滤器方法
      • FilterConfig 使用
    • Servlet 过滤器实例
      • Web.xml 中的 Servlet 过滤器映射(Servlet Filter Mapping)
    • 使用多个过滤器
    • 过滤器的应用顺序
    • web.xml配置各节点说明
    • API使用
      • 过滤器API
        • Filter接口
        • FilterChain接口
        • 如何定义过滤器
      • 过滤器的简单示例
      • 注解
    • FilterConfig配置信息
      • FilterConfig示例
    • 身份验证过滤器
      • 使用过滤器验证用户的示例
  • URL匹配规则
    • 匹配规则
    • 匹配优先级
    • 过滤器和servlet一样,但是缺省的在过滤器中不能使用
  • 会话跟踪
    • Session 跟踪
      • Cookies
      • 隐藏的表单字段
      • URL 重写
      • HttpSession 对象
      • Session 跟踪实例
        • 删除 Session 会话数据
    • HttpSession会话
      • HttpSession应用示例
    • HttpSession登录注销
      • 创建一个动态Web项目:SessionLoginout
        • index.html
        • link.html
        • login.html
        • LoginServlet
        • LogoutServlet
        • ProfileServlet
    • Cookie 处理
      • Servlet Cookie 处理
      • Cookie 剖析
      • Servlet Cookie 方法
      • 通过 Servlet 设置 Cookie
      • 实例
        • 设置cookie
        • 读取 Cookie
        • 通过 Servlet 删除 Cookie
    • 表单隐藏字段
      • 使用隐藏表单字段的示例
  • 事件和监听器
    • ServletContextEvent
      • ServletContextListener示例
      • web.xml中配置
  • Servlet 新特性
    • 1、新增注释
      • 1.1 @WebServlet注释
      • 1.2 @WebFilter注释
      • 1.3 @WebListener注释
      • 1.4 @WebInitParam注释
    • 2、对文件上传的支持
  • JSP 简介
    • JSP是什么?
    • 为什么要使用JSP?
      • JSP的优点
    • JSP快速入门
      • JSP(JavaServer Pages )是什么?
      • 为什么使用JSP?
      • JSP第一个应用
      • JSP处理
      • 脚本
      • JSP 声明
      • JSP表达式
      • JSP注释
      • JSP 指令
      • JSP 动作
      • JSP 隐式对象
      • JSP对象范围
    • JSP架构
      • JSP处理
    • JSP生命周期
      • JSP执行过程
        • 1.JSP编译
        • 2.JSP初始化
        • 3.JSP执行
        • 4.JSP清理
  • JSP指令
    • 1. page指令
        • 属性
    • 2. include指令
    • 3. taglib指令
    • JSP page指令
      • 属性
      • 1. buffer属性
      • 2. autoFlush属性
      • 3. contentType属性
      • 4. errorPage属性
      • 5. isErrorPage属性
      • 6. extends属性
      • 7. import属性
      • 8. info属性
      • 9. isThreadSafe属性
      • 10. language属性
      • 11. session属性
      • 12. isELIgnored属性
      • 13. isScriptingEnabled属性
    • JSP include指令
      • 动态包含:直接将两个jsp合并到一起
      • include指令示例
    • JSP taglib指令
      • taglib指令示例
  • JSP动作 静态包含
    • 先生成HTML再引入
      • 共同属性
        • id属性
        • scope属性
      • 1. jsp:include动作
  • JSP Http状态码
    • 设置HTTP状态代码的方法
    • HTTP状态代码示例
  • Servlet 异常处理
    • web.xml 配置
    • 请求属性 - 错误/异常
    • Servlet 错误处理程序实例
  • JSP表单处理
    • 表格数据处理方法
    • GET方法使用URL示例
    • GET方法处理表单示例
    • POST方法处理表单示例
    • JSP程序处理复选框数据
  • JSTL
    • 添加JSTL依赖
    • 添加JSTL标签
    • JSTL标签的分类
      • 1. 核心标签
        • **scope2.jsp**
        • set标签
        • if标签
        • `<c:choose>, <c:when>, <c:otherwise> `标签
        • `<c:forEach>`标签
      • 2. 格式化标签
      • 3. JSTL函数
  • EL表达式语言
    • 简单语法
    • EL中的基本运算符
    • JSP EL函数
    • JSP EL隐式对象
    • pageContext对象
    • 范围对象
  • commons-io 文件上传
    • 创建一个文件上传表单
    • 编写后台 Servlet
    • 编译和运行 Servlet
    • Ajax上传文件
  • 文件下载
  • cookie安全性问题
    • 什么是cookie
    • cookie对于登录的效果
    • cookie的生命周期
    • 为什么cookie不安全
    • cookie不安全的表现形式
      • cookie欺骗
      • cookie截获
      • Flash的内部代码隐患
    • 如何解决cookie安全性问题
      • 第一步:设置cookie有效期不要过长,合适即可
      • 第二步:设置HttpOnly属性为true
      • 第三步:设置复杂的cookie,加密cookie
      • 第四步:用户第一次登录时,保存ip+cookie加密后的token
      • 第五步:session和cookie同时使用
      • 第六步:如果网站支持https,尽可能使用https
  • jQuery ajax请求
    • 一、ajax 编写
    • 二、servlet
    • jquery全选反选 批量删除
  • 验证码
  • servlet接收request body中的数据
  • servlet请求、响应编码

Servlet 简介

Servlet技术是一种基于Java语言,用于创建Web应用程序(处在服务器端并生成动态网页)。

由于java语言,Servlet技术变得可靠并且可扩展。 在Servlet之前,CGI(通用网关接口)脚本语言作为服务器端编程语言很受欢迎,但是这种技术有很多缺点。关于CGI的缺点,在本节的最后部分有说明介绍。

servlet API中有很多接口和类,如:Servlet,GenericServlet,HttpServlet,ServletRequest,ServletResponse等。

什么是Servlet?

Servlet可以通过多种方式进行描述,具体取决于上下文。

●Servlet是一种用于创建Web应用程序的技术。

●Servlet是一个API,它提供了许多接口和类,包括文档。

●Servlet是一个必须实现的接口,用于创建任何servlet。

●Servlet是一个扩展服务器功能并响应传入请求的类。它可以响应任何类型的请求。

●Servlet是部署在服务器上的Web组件,用于创建动态网页。

参考以下模型

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2153476.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

unity3d入门教程九

unity3d入门教程九 20.2播放音频20.3在代码中播放21.1延时调用21.2invoke API21.3消息调用22.1交互界面22.2添加canvas22.3canavas的位置22.4添加text 这里给一个资源网站&#xff0c;可以部分免费下载&#xff0c;音乐和音效超多&#xff0c;支持检索 爱给网 https://www.aige…

【Delphi】创建应用程序和 LiveBindings示例(FMX)

一、创建一个FMX程序 界面上放置上如下3个控件&#xff1a;TProgressBar1, TArcDial1,TTrackBar1。 二、打开LiveBindings Designer 设计器 三、在 LiveBindings Designer 中&#xff0c;您的绑定图只包含对象&#xff0c;您可以将它们连接起来。 四、在设计器中&#xff0c;在…

idea 恢复 pom 文件呈现灰色并带删除线

今天在 idea 中导入别人的项目时发现有几个 pom 文件是灰色的并带删除线。 可以用以下方式解决&#xff1a; 打开file - settings - build,execution,deployment - Build Tools - Maven - Ignored Files 把 pom.xml 前面的复选框去掉&#xff0c;去掉之后&#xff0c;点击 appl…

Kerberos自我总结Kerberos自我总结

1、协议原理与漏洞产生 1.1 kerberos Kerberos协议是一种基于票据Ticket的认证方式&#xff0c;它由三个角色组成&#xff0c;分别是客户端Client、服务端Server和秘钥分发中心KDC。 协议中的交互分为六步&#xff0c;为AS_REQ、AS_REP、TGS_REQ、TGS_REP、AP_REQ和AP_REP …

【Linux】进程地址空间和进程调度队列

&#x1f308;个人主页&#xff1a;秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343&#x1f525; 系列专栏&#xff1a;https://blog.csdn.net/qinjh_/category_12625432.html 目录 问题现象 进程地址空间 进一步理解 地址空间 Linux2.6内核进程调度队列 …

C++——string的了解和使用

目录 引言 为什么要学习string 1.C语言中的字符串 2.C中的字符串 auto和范围for 1.auto 1.1 auto的介绍 1.2 注意事项 2.范围for 标准库中的string类 1.string类的迭代器 1.1 begin()与end()函数 1.2 rbegin()与rend()函数 2.string类的初始化和销毁 3.string类…

【线程】线程的控制

本文重点&#xff1a;理解线程控制的接口 前言 内核中是没有很明确线程的概念的&#xff0c;只有轻量级进程的概念&#xff0c;不会提供直接给我们线程的系统调用&#xff0c;而会给我们提供轻量级进程的系统调用。我们用户是需要线程的接口的&#xff0c;在应用层&#xff0…

java重点学习-总结

十五 总结 https://kdocs.cn/l/crbMWc8xEZda &#xff08;总结全部的精华&#xff09; 1.面试准备 企业筛选简历规则简历编写注意事项(亮点)项目怎么找&#xff0c;学习到什么程度面试过程(表达结构、什么样的心态去找工作) 2.redis 缓存相关(缓存击穿、穿透、雪崩、缓存过期淘…

智能自行车码表:基于2605C语音芯片的创新开发方案

一、开发背景 随着科技的飞速发展和人们对健康生活的追求&#xff0c;自行车骑行已成为一种广受欢迎的绿色出行方式。智能自行车码表作为骑行者的得力助手&#xff0c;不仅记录骑行数据&#xff0c;还逐渐融入了更多智能化功能。然而&#xff0c;传统码表在语音提示、多语种支持…

Science Robotic 内在触觉实现直观的物理人机交互

触觉传感器和电子皮肤是为机器人提供物理交互感的常见设备&#xff0c;但当用于机器人的大面积覆盖时&#xff0c;它们会变得复杂且昂贵。德国宇航中心近期发表的Science Robotics研究工作&#xff0c;使用内部高分辨率关节力扭矩传感器&#xff0c;在机械臂中实现了固有的全身…

linux网络-----传输层

前言 一.传输层&#xff1a; 数据要交接应用层先通过传输层&#xff08;给哪个程序发数据&#xff09; 传输层作用&#xff1a;负责数据能够从发送端传输接收端。对于应用层来说有许多服务&#xff0c;传输层怎么知道把数据发给那个应用服务&#xff1f; 这时就有了端口号&am…

BMC 虚拟i2c访问PCA9545(switch芯片)后面的设备,为什么找不到PCA9545?

1.说明 1.1 背景 无意中看到PCA9545(switch芯片)后面有设备&#xff0c;但是PCA9545设备本身是连接到物理设备i2c上的&#xff0c;然而扫描该物理i2c bus&#xff0c;却找不到该设备。此篇文章主要找一下该原因的。 1.2 参考代码 当前使用的是ast2600芯片&#xff0c;可参考…

Mudslide

作者未提供代码

Qt/C++ TCP调试助手V1.1 新增图像传输与接收功能(附发布版下载链接)

发布版本链接 通过百度网盘分享的文件&#xff1a;TCP调试助手V1.zip&#xff08;含客户端与服务器&#xff09; 链接&#xff1a;https://pan.baidu.com/s/14LTRPChPhYdwp_s6KeyBiA?pwdcedu 提取码&#xff1a;cedu 基于Qt/C实现了一款功能丰富的TCP服务器与客户端调试助手…

HT876 带任意限幅的10.9Wx2高保真音频功放

特点 可任意配置的限幅功能 自由选择音频限制幅度&#xff0c;使输出音频信号限制在固定 失真水平内 内置自动限温控制功能 支持AB类与D类切换 THDN:0.02%(VDD8.4V, RL 4Ω, fIN 1kHz, Po 2x1.0W, BTL) 输出功率(fIN1kHZ,THDN10%) 2x10.9W (VDD9.0V, RL4Ω, BTL) VDD供电范围:2…

【C++】模拟实现二叉搜索(排序)树

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:实战项目集 ⚙️操作环境:Visual Studio 2022 目录 一.了解项目功能 二.逐步实现项目功能模块及其逻辑详解 &#x1f4cc;实现BSTreeNode类模板 &#x1f38f;构造BSTreeNode类成员变量 &#x1f38f;实现BSTreeNode类构…

空间解析几何2:空间中两线段/直线的距离【附MATLAB代码】

目录 理论公式 MATLAB代码 理论公式 MATLAB代码 公式实现 function [dis,P,Q,t1,s1]line2LineDistance(A1,B1,C1,D1) %求两线段的最短距离 % input % A1,B1为线段一的两端点 C1,D1为线段二的两端点 % output % dis,为两线段的最短距离&#xff0c;P,Q为距离最短时在两线段上…

10.2 溪降技术:双重检查

目录 10.2 双重检查概览观看视频课程电子书&#xff1a;双重检查场景场景 1场景 2 个人责任示例 1示例 2 总结 10.2 双重检查 概览 俗话说&#xff1a;“江山易改&#xff0c;本性难移”。在我们开始体验峡谷探险时&#xff0c;培养良好的习惯对我们的进一步发展至关重要。在所…

Spring AOP的应用

目录 1、maven坐标配置与xml头配置 2、代理方式的选择与配置 3、AOP的三种配置方式 3.1、XML模式 3.1.1 创建目标类和方法 3.1.2 创建切面 3.1.3 切面xml配置与表达式说明 3.1.4 单测 3.2 纯注解模式 3.2.1 开启注解相关配置 3.2.2 创建目标类和方法 3.2.3 创建切面…

ChatGPT 4o 使用指南 (9月更新)

首先基础知识还是要介绍得~ 一、模型知识&#xff1a; GPT-4o&#xff1a;最新的版本模型&#xff0c;支持视觉等多模态&#xff0c;OpenAI 文档中已经更新了 GPT-4o 的介绍&#xff1a;128k 上下文&#xff0c;训练截止 2023 年 10 月&#xff08;作为对比&#xff0c;GPT-4…