一、HTTP请求信息
请求行
请求头
空行
消息体
1、防盗链:
枚举类型:
二、中文乱码问题
1、Get提交
String username = request.getParameter("username");
new String(username.getBytes("iso--8859-1"),"utf-8");
2、Post提交
request.setCharsetEncoding("utf-8");
响应时乱码问题
第一种方式:response.setContentType("text/html; charset=utf-8 ");
第二种方式:response.setCharsetEncoding("utf-8");
终极解决方法:过滤器解决乱码问题
response其它方法: 禁止页面缓存
三、WEB资源的三种关系
1、请求转发:javax.servlet.RequestDispatcher ---同一个应用下使用,/代表项目根目录
获得RequestDispatcher对象 request.getRequestDispatcher("New.jsp")
调用forword方法 .forword(request,response);
地址栏的变化
request传递属性值方法
2、请求重定向:request.setRedirect("http://www.baidu.com"); ---使用外网资源使用,/代表服务器根目录
请求转发和请求重定向的区别:
ServletContext对象:
一个Web应用只有一个ServletContext对象
ServletConfig对象:
和Servlet是一对一的关系
ContextPath对象:
获得当前项目根目录
URL传参:与Get提交表单方式一致,格式:
四、会话跟踪
http协议是无状态协议,客户端与服务器并不是保持永久连接,而是请求一次响应一次
应用:购物车,显示用户登录状态
会话跟踪的四种实现方式:
1、URL重写:通过地址传参 要求两个请求资源要有关联、互相访问
2、隐藏域:在表单中设置隐藏域,然后在另一个页面读取
<input type="hidden" id=" " name=" "/>
3、cookie对象:将数据存到客户端cookie对象
每个客户端最多存放300个cookie对象
从请求中获取cookie
向响应对象中添加cookie
4、httpSession对象:数据存到session对象(session与请求对象无关),
sessionID:120位二进制码
获得session的两种方式
request.getSession();
request.getSession(false);
session.setMaxInactiveInterval(60*30);
在web.xml配置:
<session-config>
<session-timeout>30</session-timeout>
</session-config>
session的生命周期:
验证码原理:
java系列--HTTP协议的更多相关文章
-
为什么你学不会递归?告别递归,谈谈我的一些经验 关于集合中一些常考的知识点总结 .net辗转java系列(一)视野 彻底理解cookie,session,token
为什么你学不会递归?告别递归,谈谈我的一些经验 可能很多人在大一的时候,就已经接触了递归了,不过,我敢保证很多人初学者刚开始接触递归的时候,是一脸懵逼的,我当初也是,给我的感觉就是,递归太神奇了! ...
-
Java系列笔记(5) - 线程
我想关注这个系列博客的粉丝们都应该已经发现了,我一定是个懒虫,在这里向大家道歉了.这个系列的博客是在我工作之余写的,经常几天才写一小节,不过本着宁缺毋滥的精神,所有写的东西都是比较精炼的.这篇文章是本 ...
-
【JAVA系列】Google爬虫如何抓取JavaScript的?
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[JAVA系列]Google爬虫如何抓取Java ...
-
Java系列笔记(2) - Java RTTI和反射机制
目录 前言 传统的RTTI 反射 反射的实现方式 反射的性能 反射与设计模式 前言 并不是所有的Class都能在编译时明确,因此在某些情况下需要在运行时再发现和确定类型信息(比如:基于构建编程,),这 ...
-
Java系列笔记(4) - JVM监控与调优
目录 参数设置收集器搭配启动内存分配监控工具和方法调优方法调优实例 光说不练假把式,学习Java GC机制的目的是为了实用,也就是为了在JVM出现问题时分析原因并解决之.通过学习,我觉得JVM ...
-
Java系列笔记(3) - Java 内存区域和GC机制
目录 Java垃圾回收概况 Java内存区域 Java对象的访问方式 Java内存分配机制 Java GC机制 垃圾收集器 Java垃圾回收概况 Java GC(Garbage Collection, ...
-
Java系列笔记(1) - Java 类加载与初始化
目录 类加载器 动态加载 链接 初始化 示例 类加载器 在了解Java的机制之前,需要先了解类在JVM(Java虚拟机)中是如何加载的,这对后面理解java其它机制将有重要作用. 每个类编译后产生一个 ...
-
Java系列笔记(6) - 并发(上)
目录 1,基本概念 2,volatile 3,atom 4,ThreadLocal 5,CountDownLatch和CyclicBarrier 6,信号量 7,Condition 8,Exchang ...
-
【转】O&#39;Reilly Java系列书籍建议阅读顺序(转自蔡学庸)
Learning Java the O'Reilly's Way (Part I) Java 技术可以说是越来越重要了,不但可以用在计算机上,甚至连电视等家电用品,行动电话.个人数字助理(PDA)等电 ...
随机推荐
-
拓展 Android 原生 CountDownTimer 倒计时
拓展 Android 原生 CountDownTimer 倒计时 [TOC] CountDownTimer 在系统的CountDownTimer上进行的修改,主要是拓展了功能,当然也保留了系统默认的模 ...
-
Linux下配置Node.js环境
1.下载代码 下载地址:https://nodejs.org/en/download/ 下载Linux Binaries (.tar.xz)版本,位数根据操作系统位数选择 2.复制代码包 用FTP上传 ...
-
java获取本月或某月的第一天和最后一天
获取某月的第一天和最后一天的日期 Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(Ca ...
-
详解依赖注入(DI)和Ioc容器
简单的来说,关键技术就是:注册器模式. 场景需求 我们知道写一个类的时候,类本身是有个目的的,类里面有很多方法,每个方法搞定一些事情:我们叫这个类为主类. 另外这个主类会依赖一些其他类的帮忙,我们叫这 ...
-
队列——解密QQ号
队列——解密QQ号 --转自啊哈磊[坐在马桶上看算法]算法4:队列——解密QQ号 新学期开始了,小哈是小哼的新同桌(小哈是个小美女哦~),小哼向小哈询问QQ号,小哈当然不会直接告诉小哼啦,原因嘛你懂的 ...
-
WPF换肤之六:酷炫的时区浏览小精灵
原文:WPF换肤之六:酷炫的时区浏览小精灵 由于工作需要,经常要查看到不同地区的 当前时间,以前总是对照着时区表来进行加减运算,现在有了这个小工具以后,感觉省心了不少.下面是软件的截图: 效果图赏析 ...
-
Theano学习笔记(三)——图结构
图结构(Graph Structures)这是理解Theano该基金会的内部运作. Theano编程的核心是用符号占位符把数学关系表示出来. 图结构的组成部分 如图实现了这段代码: importthe ...
-
LeetCode 548. Split Array with Equal Sum (分割数组使得子数组的和都相同)$
Given an array with n integers, you need to find if there are triplets (i, j, k) which satisfies fol ...
-
【JAVA零基础入门系列】Day13 Java类的继承与多态
继承是类的一个很重要的特性,什么?你连继承都不知道?你是想气死爸爸好继承爸爸的遗产吗?(滑稽) 开个玩笑,这里的继承跟我们现实生活的中继承还是有很大区别的,一个类可以继承另一个类,继承的内容包括属性跟 ...
-
c# 纯代码调用 webservice
public static class RequestHelper { public class RequestResult { public RequestResult(bool requestRe ...