早期javeweb技术 JSP JDBC JSTJ Servlet BooStrap(下)

简介: 早期javeweb技术 JSP JDBC JSTJ Servlet BooStrap(下)

早期javeweb技术 JSP JDBC JSTJ Servlet BooStrap(上):https://developer.aliyun.com/article/1548557


idea

  • 当你修改了这里的webservlet时候,需要重新部署才能生效

会话技术

cookie

在两个servlet中传输的方法,保存在请求对象中,可以有多个cookie

Cookie的原理

Cookie是一种在客户端(浏览器)和服务器之间存储和传递信息的小型文本文件。其原理如下:

  1. 服务器端创建Cookie: 当用户访问一个网站时,服务器可以向用户的浏览器发送一个包含信息的HTTP响应头,其中包括一个Set-Cookie字段。这个字段会包含一个唯一的Cookie标识符以及要存储在Cookie中的数据。
  2. 浏览器存储Cookie: 浏览器接收到Cookie后,将其存储在用户的本地计算机上,通常存储在特定的Cookie文件中。
  3. 浏览器发送Cookie: 每次用户再次访问同一网站时,浏览器都会自动将该网站的Cookie信息包含在HTTP请求头中,发送给服务器。
  4. 服务器读取Cookie: 服务器在接收到HTTP请求时,会读取请求头中的Cookie信息,从中提取出所需的数据。
  5. 服务器响应: 服务器可以根据Cookie中的信息来识别用户或存储用户的状态信息。然后,服务器可以在HTTP响应中使用Set-Cookie字段来更新或创建新的Cookie,以便在以后的请求中使用。

Cookie的用途包括会话管理、用户跟踪、个性化体验等。然而,需要注意的是,Cookie可能引发隐私和安全问题,因此通常会受到浏览器的限制,例如同源策略、Cookie生存期和安全标志等。

  • cookie可以是会话cookie或持久性cookie

  • 和jwt的异同

session

  • 原理:基于cookie实现

  • 细节

验证码案例

jsp技术

执行的原理与基础标签的使用

当然,下面是用 Markdown 格式解释这三个 JSP 元素的含义:

<% %> - Scriptlet 标签
  • <% %> 用于将 Java 代码片段嵌入到 JSP 文件中。
  • 它允许直接在 JSP 文件中插入 Java 代码,实现诸如循环、条件语句、方法调用等任务。
  • 示例:
<% 
   String message = "Hello, JSP!";//此处定义的变量是方法变量,可以理解为该标签作用是变成一个方法
   out.println(message);
%>
<%! %> - 声明标记
  • <%! %> 用于在 servlet 类的主体中定义变量或方法。
  • <%! %> 用于定义在 Servlet 类中的成员变量或方法。在 JSP 被翻译为 Servlet 时,声明部分的内容会放在 Servlet 类的类体中。
  • 声明的变量和方法在整个 JSP 页面的 Servlet 类中都是可见的,可以在其他部分(比如 <% %><%= %>)中使用。
  • 声明的是成员变量
jspCopy code<%! 
   private int count = 0;
   public void incrementCount() {
       count++;
   }
%>
<%= %> - 表达式标记
  • <%= %> 用于直接将表达式的结果输出到 HTML 响应中。
  • 它直接将表达式的结果输出到客户端的浏览器中。
  • 示例:
jspCopy code<% String name = "Alice"; %>
<%= "Hello, " + name %>

优先级

指令

  • 这一行里有很多属性,其中就包括errorpage啥的。

MVC开发模式

  • 是开发模式不是设计模式,设计模式只解决一些小的问题

  • javabean是指java类中的get等方法

EL表达式

  • 使用这个表达式是为了更加符合mac开发规范

## 获取字符串

  • 获取存储的值

  • 相当于把代码变成以上形式

  • 按照PageContextRequestSessionApplication

获取对象、集合的值

  • 需要先创建对象

隐式对象

JSTL

三层架构

JDBC

目录
相关文章
序-Servlet和SpringMVC的联系和区别-配置路径先想好使用的使用的方法,然后匹配的需要的技术
序-Servlet和SpringMVC的联系和区别-配置路径先想好使用的使用的方法,然后匹配的需要的技术
|
2天前
技术笔记:Servlet作业2
技术笔记:Servlet作业2
|
4天前
|
XML 前端开发 Java
早期javeweb技术 JSP JDBC JSTJ Servlet BooStrap(上)
早期javeweb技术 JSP JDBC JSTJ Servlet BooStrap(上)
7 0
|
1月前
|
SQL Java 关系型数据库
MySQL之JDBC(二)
MySQL之JDBC(二)
42 0
|
1月前
|
关系型数据库 MySQL Java
MySQL之JDBC(一)
MySQL之JDBC
42 0
|
1月前
|
关系型数据库 MySQL Java
MySQL的主从复制 && SpringBoot整合Sharding-JDBC解决读写分离
MySQL的主从复制 && SpringBoot整合Sharding-JDBC解决读写分离
50 0
|
1月前
|
Java 关系型数据库 数据库连接
实时计算 Flink版操作报错之在使用JDBC连接MySQL数据库时遇到报错,识别不到jdbc了,怎么解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
1月前
|
Java 关系型数据库 MySQL
JDBC实现往MySQL插入百万级数据
JDBC实现往MySQL插入百万级数据
|
1月前
|
SQL 关系型数据库 MySQL
Spring_jdbc数据连接池(mysql实现增、删、改、查)
Spring_jdbc数据连接池(mysql实现增、删、改、查)
29 0
|
11天前
|
Java 关系型数据库 MySQL
JavaWeb基础第一章(MySQL数据库与JDBC)
JavaWeb基础第一章(MySQL数据库与JDBC)