Web Applicationservlet,cookie,session
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的更多相关文章
- Java web学习 Cookie&&Session
cookie&&session 会话技术 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,成为一次会话.会 话技术就是记录这次会话中客户端的状态与数据的. 会话技术分为Coo ...
- Python Web学习笔记之Cookie,Session,Token区别
一.Cookie,Session,Token简介 # 这三者都解决了HTTP协议无状态的问题 session ID or session token is a piece of data that i ...
- Java Web Application使Session永不失效(利用cookie隐藏登录)
在做 Web Application 时,因为 Web Project 有 session 自动失效的问题,所以如何让用户登录一次系统就能长时间运行三个月,就是个问题. 后来,看到 session 失 ...
- Session or Cookie?是否需要用Tomcat等Web容器的Session
Cookie是HTTP协议标准下的存储用户信息的工具,浏览器把用户信息存放到本地的文本文件中. Session是基于Cookie实现的. 2011年4月,武汉群硕面试的时候(实习生),面试官也问过这个 ...
- web 开发常见问题--Session 与 Cookie 却别
总结: 1.首先,session与cookie都是保存数据的,存在的原因很大程度上是为了解决HTTP协议的无状态特性 2.都是保存数据,却别在于cookie保存在客户端,由浏览器管理,session保 ...
- Cookie/Session机制详解
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...
- cookie session URL重写 与考试
状态管理.Cookie.Session.URL重写 HTTP协议:无状态的连接(每次连接都是新的请求)1.隐藏字段 <input type="hidden" name=&qu ...
- [转]Cookie/Session机制详解
原文地址:http://blog.csdn.net/fangaoxin/article/details/6952954 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用 ...
- Servlet学习笔记(1)--第一个servlet&&三种状态对象(cookie,session,application)&&Servlet的生命周期
servlet的404错误困扰了两天,各种方法都试过了,翻书逛论坛终于把问题解决了,写此博客来纪念自己的第一个servlet经历. 下面我会将自己的编写第一个servlet的详细过程提供给初学者,大神 ...
随机推荐
- MyEclipse安装插件的几种方法
本文讲解MyEclipse(MyEclipse10)的三种方法,以SVN为例 Eclipse update site URL: http://subclipse.tigris.org/update_1 ...
- jq 根据值的正负变色
效果图这样: 意思就是根据最后的百分值变色,值为负变绿色,值为正变红色. 所以只要取到那个标签里的值了,就能根据正负的判断决定颜色. 我的html部分这样: /*不过他们都说我的dom结构不太合理,同 ...
- 反编译apk
一.反编译Apk得到Java源代码 首先要下载两个工具:dex2jar和JD-GUI 前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源 ...
- Qt-为应用程序添加logo
在Qt Creator中新建Qt Resource File,名字为logo.qrc 1.选择Add Prefix得到/new/prefix1 2.然后Add Files,将文件添加进去,如CA-DC ...
- DCIntrospect -iOS界面调试
原文:http://www.cnblogs.com/kw-ios/p/3523525.html 有时,设计稿上的UI很漂亮,布局也整齐,但自己用代码写出来的就不行,不是这里高一点,就是那是低一点,使用 ...
- C#网络编程数据传输中封装数据帧头的方法
在C/S端编程的时候,经常要在C端和S端之间传数据时自定义一下报文的帧头,如果是在C/C++,封装帧头是一件很简单的事情,直接把unsigned char *强转为struct就行,但是在C#中,并没 ...
- python 3.5: TypeError: a bytes-like object is required, not 'str'
出现该错误往往是通过open()函数打开文本文件时,使用了'rb'属性,如:fileHandle=open(filename,'rb'),则此时是通过二进制方式打开文件的,所以在后面处理时如果使用了s ...
- 学习CSS 笔记
1.动态修改div的大小 Html: <div> Hello </div> css: div { resize:both; overflow:auto; } 2. box-si ...
- 有人要分享pjax吗?
安装 1.在 composer.json 的 require里 加入 "yuanchao/pjax-for-laravel-5": "dev-master" 2 ...
- STL源码学习----lower_bound和upper_bound算法
转自:http://www.cnblogs.com/cobbliu/archive/2012/05/21/2512249.html 先贴一下自己的二分代码: #include <cstdio&g ...