Web Application简介:

Web Application Name
WEB-INF
web.xml
该web application的配置文件
lib
该web application用到的依赖包
classes
编译好的servlet
META-INF
存放该web application的上下文信息,符合J2EE标准
Web Application可以直接放在Tomcat的webapp目录下面
也可以通过配置文件指定到其他目录 在server.xml文件中<host>标签中<Context path=“/虚拟路径名称“ docBase=”web application目录位置" debug="0" reloadable="true"/>

HttpServlet:

Servlet是服务器小程序的意思
用来完成B/S架构下,客户端请求的响应的处理
跨平台,通常以多线程方式运行
Servlet API为Servlet提供了统一的编程接口
Servlet一般在容器中运行,Servlet的生命周期由容器管理
常见的Servlet容器
Tomcat
Resin
Jetty

HttpServetl继承了GenericServlet
GenericServlet类是所有Servlet的祖先类
HttpServlet主要方法
请求处理方法:(分别对应http协议的7种请求)
1、doGet 响应Get请求,常用
2、doPost 响应Post请求,常用
3、doPut 用于http1.1协议
4、doDelete 用于http1.1协议
5、doHead 仅响应Get请求的头部。
6、doOptions 用于http1.1协议
7、doTrace 用于http1.1协议
service方法,当请求一个Servlet首先到达该方法,该方法再分发到相应的处理方法

Servlet生命周期

生命全过程:

加载Servlet并实例化 new
初始化 init
处理请求 service doGet doPost
退出服务 destroy()
注意Servlet只实例化一次
init方法也只执行一次
Servlet不是线程安全的

Cookie

Cookie:保存到客户端的一个文本文件,与特定客户相关
Cookie以“名-值”对的形式保存数据
创建Cookie:new Cookie(name,value)
可以使用Cookie 的setXXX方法来设定一些相应的值
setName(String name)/getName()  //设置名字
setValue(String value)/getValue()  //设置值
setMaxAge(int age)/getMaxAge()  //设置存放的时间,以秒为单位
利用HttpServletResponse的addCookie(Cookie)方法将它设置到客户端
利用HttpServletRequest的getCookies()方法来读取客户端的所有Cookie,返回一个Cookie数组

务器可以向客户端写内容,只能是文本内容
客户端可以阻止服务器写入,禁用Cookies
只能读取自己webapp写入的东西
Cookie分为两种
属于窗口/子窗口(放在内存中的)
属于文本(有生命周期的)
一个servlet/jsp设置的cookies能够被同一个路径下面或者子路径下面的
servlet/jsp读到,其他路径无法读取到

// 举个例子:

请求的路径是   http:localhost:8080/test/testcookie

test:项目名称   testcookie:web.xml中的虚拟路径就是mapping中配置的
我们在mapping中在加个路径为 /testcookie/testcookie2 这样我们也是能访问到cookie的,

如果我们  请求的路径是   http:localhost:8080/tt/test/testcookie

tt:项目名称  test/testcookie:web.xml中的虚拟路径就是mapping中配置的

我们在mapping中在加个路径为 /testcookie/testcookie2 这样我们是不能访问到cookie的,

因为 一个servlet/jsp设置的cookies能够被同一个路径下面或者子路径下面的
servlet/jsp读到,其他路径无法读取到

Web Applicationservlet,cookie,session的更多相关文章

  1. Java web学习 Cookie&&Session

    cookie&&session 会话技术 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,成为一次会话.会 话技术就是记录这次会话中客户端的状态与数据的. 会话技术分为Coo ...

  2. Python Web学习笔记之Cookie,Session,Token区别

    一.Cookie,Session,Token简介 # 这三者都解决了HTTP协议无状态的问题 session ID or session token is a piece of data that i ...

  3. Java Web Application使Session永不失效(利用cookie隐藏登录)

    在做 Web Application 时,因为 Web Project 有 session 自动失效的问题,所以如何让用户登录一次系统就能长时间运行三个月,就是个问题. 后来,看到 session 失 ...

  4. Session or Cookie?是否需要用Tomcat等Web容器的Session

    Cookie是HTTP协议标准下的存储用户信息的工具,浏览器把用户信息存放到本地的文本文件中. Session是基于Cookie实现的. 2011年4月,武汉群硕面试的时候(实习生),面试官也问过这个 ...

  5. web 开发常见问题--Session 与 Cookie 却别

    总结: 1.首先,session与cookie都是保存数据的,存在的原因很大程度上是为了解决HTTP协议的无状态特性 2.都是保存数据,却别在于cookie保存在客户端,由浏览器管理,session保 ...

  6. Cookie/Session机制详解

    会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...

  7. cookie session URL重写 与考试

    状态管理.Cookie.Session.URL重写 HTTP协议:无状态的连接(每次连接都是新的请求)1.隐藏字段 <input type="hidden" name=&qu ...

  8. [转]Cookie/Session机制详解

    原文地址:http://blog.csdn.net/fangaoxin/article/details/6952954 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用 ...

  9. Servlet学习笔记(1)--第一个servlet&&三种状态对象(cookie,session,application)&&Servlet的生命周期

    servlet的404错误困扰了两天,各种方法都试过了,翻书逛论坛终于把问题解决了,写此博客来纪念自己的第一个servlet经历. 下面我会将自己的编写第一个servlet的详细过程提供给初学者,大神 ...

随机推荐

  1. MyEclipse安装插件的几种方法

    本文讲解MyEclipse(MyEclipse10)的三种方法,以SVN为例 Eclipse update site URL: http://subclipse.tigris.org/update_1 ...

  2. jq 根据值的正负变色

    效果图这样: 意思就是根据最后的百分值变色,值为负变绿色,值为正变红色. 所以只要取到那个标签里的值了,就能根据正负的判断决定颜色. 我的html部分这样: /*不过他们都说我的dom结构不太合理,同 ...

  3. 反编译apk

    一.反编译Apk得到Java源代码 首先要下载两个工具:dex2jar和JD-GUI 前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源 ...

  4. Qt-为应用程序添加logo

    在Qt Creator中新建Qt Resource File,名字为logo.qrc 1.选择Add Prefix得到/new/prefix1 2.然后Add Files,将文件添加进去,如CA-DC ...

  5. DCIntrospect -iOS界面调试

    原文:http://www.cnblogs.com/kw-ios/p/3523525.html 有时,设计稿上的UI很漂亮,布局也整齐,但自己用代码写出来的就不行,不是这里高一点,就是那是低一点,使用 ...

  6. C#网络编程数据传输中封装数据帧头的方法

    在C/S端编程的时候,经常要在C端和S端之间传数据时自定义一下报文的帧头,如果是在C/C++,封装帧头是一件很简单的事情,直接把unsigned char *强转为struct就行,但是在C#中,并没 ...

  7. python 3.5: TypeError: a bytes-like object is required, not 'str'

    出现该错误往往是通过open()函数打开文本文件时,使用了'rb'属性,如:fileHandle=open(filename,'rb'),则此时是通过二进制方式打开文件的,所以在后面处理时如果使用了s ...

  8. 学习CSS 笔记

    1.动态修改div的大小 Html: <div> Hello </div> css: div { resize:both; overflow:auto; } 2. box-si ...

  9. 有人要分享pjax吗?

    安装 1.在 composer.json 的 require里 加入 "yuanchao/pjax-for-laravel-5": "dev-master" 2 ...

  10. STL源码学习----lower_bound和upper_bound算法

    转自:http://www.cnblogs.com/cobbliu/archive/2012/05/21/2512249.html 先贴一下自己的二分代码: #include <cstdio&g ...