一、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协议的更多相关文章

  1. 为什么你学不会递归?告别递归,谈谈我的一些经验 关于集合中一些常考的知识点总结 .net辗转java系列(一)视野 彻底理解cookie,session,token

    为什么你学不会递归?告别递归,谈谈我的一些经验   可能很多人在大一的时候,就已经接触了递归了,不过,我敢保证很多人初学者刚开始接触递归的时候,是一脸懵逼的,我当初也是,给我的感觉就是,递归太神奇了! ...

  2. Java系列笔记(5) - 线程

    我想关注这个系列博客的粉丝们都应该已经发现了,我一定是个懒虫,在这里向大家道歉了.这个系列的博客是在我工作之余写的,经常几天才写一小节,不过本着宁缺毋滥的精神,所有写的东西都是比较精炼的.这篇文章是本 ...

  3. 【JAVA系列】Google爬虫如何抓取JavaScript的?

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[JAVA系列]Google爬虫如何抓取Java ...

  4. Java系列笔记(2) - Java RTTI和反射机制

    目录 前言 传统的RTTI 反射 反射的实现方式 反射的性能 反射与设计模式 前言 并不是所有的Class都能在编译时明确,因此在某些情况下需要在运行时再发现和确定类型信息(比如:基于构建编程,),这 ...

  5. Java系列笔记(4) - JVM监控与调优

    目录 参数设置收集器搭配启动内存分配监控工具和方法调优方法调优实例     光说不练假把式,学习Java GC机制的目的是为了实用,也就是为了在JVM出现问题时分析原因并解决之.通过学习,我觉得JVM ...

  6. Java系列笔记(3) - Java 内存区域和GC机制

    目录 Java垃圾回收概况 Java内存区域 Java对象的访问方式 Java内存分配机制 Java GC机制 垃圾收集器 Java垃圾回收概况 Java GC(Garbage Collection, ...

  7. Java系列笔记(1) - Java 类加载与初始化

    目录 类加载器 动态加载 链接 初始化 示例 类加载器 在了解Java的机制之前,需要先了解类在JVM(Java虚拟机)中是如何加载的,这对后面理解java其它机制将有重要作用. 每个类编译后产生一个 ...

  8. Java系列笔记(6) - 并发(上)

    目录 1,基本概念 2,volatile 3,atom 4,ThreadLocal 5,CountDownLatch和CyclicBarrier 6,信号量 7,Condition 8,Exchang ...

  9. 【转】O'Reilly Java系列书籍建议阅读顺序(转自蔡学庸)

    Learning Java the O'Reilly's Way (Part I) Java 技术可以说是越来越重要了,不但可以用在计算机上,甚至连电视等家电用品,行动电话.个人数字助理(PDA)等电 ...

随机推荐

  1. hdu_3564_Another LIS(线段树+LIS)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3564 题意:给你N个数的位置.数i的位置为第i个数,比如 0 0 2,表示1插在第0个位置,此时数列为 ...

  2. 链表基础 HDU1267

    基础的链表,模拟一下就好了...就签个到

  3. 休眠唤醒不断开wifi.

    文件: /home/mxy/code/v1/frameworks/base/services/java/com/auto/opandora/Opandora.java 屏蔽掉: 957 SetWifi ...

  4. stock 财务 指标

    净资产收益率:"不能比利率低"每股收益是烟幕弹 有一点需要提请大家注意,观察净资产收益率至少要看过去三年的指标,如果公司没有经过大的资产重组,最好看看自其上市以来每一年的净资产收益 ...

  5. filters

    http://www.cloudera.com/content/cloudera/en/documentation/core/latest/topics/admin_hbase_filtering.h ...

  6. 转 android学习—— context 和 getApplicationContext()

    在android中常常会遇到与context有关的内容 浅论一下context : 在语句 AlertDialog.Builder builder = new AlertDialog.Builder( ...

  7. SQL Server 2008登录问题(错误 233和18456)解决方法

    今天使用 SQLSERVER2008 先遇到了233 错误,后又遇到了 18456 ,从网上找到了解决方法,具体如下: 问题一 : 已成功与服务器建立连接,但是在登录过程中发生错取.(provider ...

  8. Popular Products

    Popular Products 描述 Given N lists of customer purchase, your task is to find the products that appea ...

  9. 原创:LoadTest系列之Local.testtings之Web Test

    在录制脚本后,需要对脚本进行回放,而在Loal.testting的Web Test设置中,可以设置脚本运行的次数,以及是否考虑think time等,如下图所示: 1. 双击Solution Item ...

  10. 深入浅出Ajax(一)

    客户端: <script type="text/javascript"> window.onload = initPage; function initPage() { ...