cookie介绍及应用 Cookie 会话:用户打开一个浏览器,点击了很多超链接 访问多个web资源 关闭浏览器 这个过程可以称之为会话 保存会话的两种技术 cookie 客户端技术(响应,请求) session 服务器技术,利用这个技术 可以保存用户的会话信息 我们可以把信息或者数据放在session中 服务端响应给客户端cookie Cookie[] cookies = req.getCookies();//获得Cookie cookie.getName(); //获得cookie中的key cookie.getValue(
Response实现重定向 实现重定向 一个web资源受到客户端请求后,他会通知客户端去访问另一个web资源,这个过程叫重定向。 常见场景: · 用户登录 void sendRedirect(String var1) throws IOException; 测试 @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { /
Response验证码实现 Response验证码实现 package com.chen.servlet; import javax.imageio.ImageIO; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.aw
Response下载文件 Response下载文件 package com.chen.servlet; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.
ServletContext的应用 ServletContext的应用 Web容器在启动的时候,它会为每个web程序都创建一个对应的ServletContext对象,它代表了当前的web应用 共享数据 我在这个servlet中保存的数据,可以在另外一个servlet中拿到 package com.chen.servelt; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpSe
Maven添加最新servelt依赖 Maven添加最新servelt依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven
PreparedStatement完成增删改 PreparedStatement完成增删改 package com.etc; import java.sql.*; import java.sql.PreparedStatement; /* PreparedStatement完成insert delete update */ public class JdbcTest07 { public static void main(String[] args) { Connection conn = null; Pr
演示Statement用途 演示Statement用途 经过下面案例 可以发现PreparedStatement无发完成升序降序 此时 可以利用Statement完成 package com.etc; import java.sql.*; import java.util.Scanner; public class JdbcTest06 { public static void main(String[] args) { //用户在控制台输入desc就是降序 输入asc就是升序 /* Sca
SQL注入问题并解决 SQL注入问题 package com.etc; import java.sql.*; import java.util.HashMap; import java.util.Map; import java.util.Scanner; /* 实现功能 1.需求:模拟用户登录实现功能 2.业务描述: 程序运行的时候 提供一个输入的入口 可以让用户输入用户名和密码 用户输入用户名和密码之后 提交信息 java程序收集
jdbc模拟用户实现登陆功能 模拟用户实现登陆功能 初始化一个界面 package com.etc; import java.util.HashMap; import java.util.Map; import java.util.Scanner; /* 实现功能 1.需求:模拟用户登录实现功能 2.业务描述: 程序运行的时候 提供一个输入的入口 可以让用户输入用户名和密码 用户输入用户名和密码之后 提交信息 java程序收集到用户信息
jdbc处理查询结果集 处理查询结果集 package com.etc; import java.sql.*; /* * 处理查询结果集 * */ public class JdbcTest02{ public static void main(String[] args) { Connection conn = null; Statement stmt = null; ResultSet rs = null; //1.注册驱动 try
JDBC编程六部概述 JDBC编程六部概述 第一步:注册驱动 告诉java程序,即将要连接的是哪个品牌的数据库 第二步:获取连接 表示JVM的进程和数据库之间的通道打开了,这属于进程之间的通信,使用完之后一定要关闭 第三步:获取数据库操作对象 专门执行sql语句的对象 第四步:执行sql语句 DQL DML 第五步:处理查询结果集 只有当第四步执行的是select语句的时候,才有这第五步处理查询结果集 第六步:释放资源 使用完资源之后一定要关闭资源,Java和数据库属于进程间的通信 开启之后一定要关闭 package com.
Map接口的使用 Map接口的使用 package com.etc.chapater0_2; import java.util.HashMap; import java.util.Map; import java.util.Set; /** * Map接口的使用 * 特点: 储存键值对 键不能重复 值可以重复 无序 */ public class Demo01 { public static void main(String[] args) { //创建Map集合 Map&
HashMap的使用 HashMap的使用 package com.etc.chapater0_2; import java.util.Objects; public class Student { private String name; private int stuNo; public Student(String name, int stuNo) { this.name = name; this.stuNo = stuNo; } public
Comparator的使用 Comparator的使用 package com.etc.chapater0_1; import java.util.Comparator; import java.util.TreeSet; /** * TreeSet的使用 * Comparator:实现定制比较(比较器) * Comparable:可比较的 * */ public class Demo06 { public static void main(String[] args) { TreeSet<
TreeSet的使用 TreeSet的使用 package com.etc.chapater0_1; import java.util.Iterator; import java.util.TreeSet; public class Demo04 { public static void main(String[] args) { TreeSet<String> treeSet = new TreeSet<>(); //添加 treeSet.a
HashSet的使用 HashSet的使用 package com.etc.chapater0_1; import java.util.HashSet; import java.util.Iterator; /** *HashSet集合的使用 * 存储结构:哈希表(数组+链表+红黑树) * */ public class Demo02 { public static void main(String[] args) { //新建一个集合 HashSet<String&g
Set接口使用 Set接口使用 package com.etc.chapater0_1; /* 测试Set接口的使用 特点: 无序 无下标 不能重复 * */ import java.util.HashSet; import java.util.Iterator; import java.util.Set; public class Demo01 { public static void main(String[] args) { //创建集合 Set<String&g
泛型介绍及用法 泛型 本质:参数化类型,把类型作为参数传递 常见形式:泛型类。泛型接口 泛型接口 语法: <T,…>T称为类型占位符 表示一种引用类型 (E , K ,V) 好处: 提高代码的重用性 防止类型转换异常,提高代码的安全性 泛型类 package com.etc.chapater; /* * 泛型类 * 语法:类名<T> * T是类型占位符 表示一种引用类型 如果编写多个使用逗号隔开 * */ public class MyGeneric<T> { //